视频
拓展学习
#include <engine.h>
#include <iostream>
using namespace std;
int main()
{
//定义一个engine类型的指针ep,用于操作引擎对象。
Engine *ep;
//定义mxArray 类型的指针,用于指向所调用MATLAB函数的输入对象。
mxArray *T = NULL, *R = NULL;
//定义存储数据的变量,并按给定表达式生成数据。
double t[180],r[180];
double a,b;
a=2;b=3;
for (int i=0;i<180;i++) {
t[i]=i*0.1;
r[i]=a+b*t[i]; }
//启动MATLAB计算引擎
//Windows系统中,engOpen函数的参数为空字符串,指定在本机启动计算引擎。
if (!(ep = engOpen(""))) {
cout<< "\n不能启动MATLAB引擎\n";
return 0;
}
//建立MATLAB变量,调用MATLAB函数
T = mxCreateDoubleMatrix(1, 180, mxREAL);
memcpy((void *)mxGetPr(T), (void *)t, sizeof(t));
engPutVariable(ep, "T", T);
R = mxCreateDoubleMatrix(1, 180, mxREAL);
memcpy((void *)mxGetPr(R), (void *)r, sizeof(r));
engPutVariable(ep, "R", R);
engEvalString(ep, "polar(T,R);");
engEvalString(ep, "title('阿基米德螺线');");
//释放内存空间,关闭计算引擎
system("pause");
mxDestroyArray(T);
mxDestroyArray(R);
engClose(ep);
return 1;
}

