主要内容

评估MATLAB从c++语句

评价MATLAB语句

MATLAB进行评估®从c++使用语句MATLABEngine: evalMATLABEngine: evalAsync成员函数。这些成员函数类似于MATLABeval函数。的MATLABEngine: evalMATLABEngine: evalAsync函数不返回的结果评估MATLAB语句。

使用MATLABEngine: evalMATLABEngine: evalAsync当你不需要从c++或返回值传递参数到c++。你执行的语句,这些函数可以访问变量在MATLAB工作区。

这里有一些事情要了解评估在MATLAB语句。

  • 这些功能通过MATLAB作为语句matlab::引擎::字符串

  • 将一个std:: string到一个matlab::引擎::字符串使用你“…”文字或效用函数matlab:引擎::convertUTF8StringToUTF16String

  • 输入参数中指定字符串必须存在于MATLAB工作区。

  • 您可以将评估的结果分配给变量在声明字符串。你分配的变量在声明中MATLAB基础创建工作区。

  • MATLAB不要求您创建的初始化变量声明。

  • 你可以从MATLAB函数存储标准输出和错误消息流缓冲区。

评估数学函数MATLAB

这个示例代码使用MATLABEngine: eval评估的一系列MATLAB语句。这些语句:

  • 评估一个数学函数在一个指定域使用meshgrid经验值

  • 创建一个图形函数的使用冲浪

  • 使用图形导出到一个JPEG文件打印

这是等价的MATLAB代码。

(X, Y) = meshgrid (2:0.2:2);Z = X。* exp (- X。^ 2 - y ^ 2);冲浪(Z)打印(“SurfaceGraph”,“-djpeg”)currentFolder = pwd;

这是c++代码来执行这些语句在MATLAB。

# include“MatlabDataArray。hpp MatlabEngine # include。高压泵”# include < iostream >
空白evalSurfaceGraph(){/ /评价函数在MATLAB中使用名称空间MATLAB::引擎;/ /开始MATLAB引擎同步std:: unique_ptr < MATLABEngine > matlabPtr = startMATLAB ();/ /评估在MATLAB命令matlabPtr - > eval (u”(X, Y) = meshgrid (2:0.2:2);”);matlabPtr - > eval (u“Z = X。* exp (- X。^ 2 - y ^ 2);“);matlabPtr - > eval (u“冲浪(Z)”);matlabPtr - > eval (u“打印(‘SurfaceGraph’,‘-djpeg’)”);matlabPtr - > eval (u“currentFolder = pwd;”);/ /得到包含matlab jpeg文件的文件夹的名称:数据::CharArray currentFolder = matlabPtr - > getVariable (u“currentFolder”);std:: cout < <“SurfaceGraph.jpg写这个文件夹:“< < currentFolder.toAscii () < < std:: endl;}

如何设置和信息构建c++引擎项目,明白了构建c++引擎项目

另请参阅

相关的话题