主要内容

测试您的构建环境

要测试安装和环境,请在命名的文件中保存以下C ++代码testfeval.cpp.(你可以使用任何名称)。要构建引擎应用程序,请在命令窗口中使用这些命令:

Mex -setup -client引擎c ++

在提示时选择要使用的已安装的编译器梅克斯设置脚本。然后打电话给梅克斯命令构建您的程序。确保matlab®用于C ++的Engine API支持金宝app您选择的编译器。对于支持的编译器的最新列表,请参阅金宝app金宝app支持和兼容的编译器网站。

Mex -V -client引擎TestFeval.cpp

梅克斯命令将可执行文件保存在同一文件夹中。

#include“matlabdataArray.hpp”#include“matlabengine.hpp”#include  void callsqrt(){使用命名空间matlab ::引擎;// start matlab引擎同步std :: unique_ptr  matlabptr = startmatlab();//创建MATLAB数据阵列Factory MATLAB :: DATA :: ArrayFactory Factory;//定义一个四元素键入的数组matlab :: data :: typedArray  const argarray = factory.createArray({1,4},{-2.0,2.0,6.0,8.0});//在数据阵列上调用matlab sqrt函数matlab :: data :: array const结果= matlabptr-> feval(U“sqrt”,Argarray);//显示结果(int i = 0; i  v =结果[i];双重realpart = v.real();双重IMGPART = v.imag();std :: cout << << <<“的平方根是”<< realpart <<“+”<< imgpart <<“i”<< std :: endl; } } int main() { callSQRT(); return 0; }

以下是该程序的输出。在这种情况下,MATLAB返回一个复杂的阵列,因为数据数组中的数字之一是否定的。

-2的平方根为0 + 1.41421i平方根,2为1.41421 + 0i平方根,6是2.44949 + 0i平方根8为2.82843 + 0i

也可以看看

|

相关话题