📄 sinlog.cpp
字号:
#include <iostream>
#include <math.h>
#include "engine.h"
using namespace std;
void main()
{
const int N = 50;
double x[N],y[N];
int j = 1;
// 计算数组x和y
for (int i=0; i<N; i++)
{
x[i] = (i+1);
y[i] = sin(x[i]) + j * log(x[i]);
j *= -1;
}
Engine *ep;
if (!(ep=engOpen(NULL)))
{
cout <<"Can't start MATLAB engine!" <<endl;
exit(1);
}
// 定义mxArray,为1行,N列的实数数组。
mxArray *xx = mxCreateDoubleMatrix(1,N, mxREAL);
mxArray *yy = mxCreateDoubleMatrix(1,N, mxREAL);
// 将数组x和y分别复制到mxarray数组xx、yy中。
memcpy(mxGetPr(xx), x, N*sizeof(double));
memcpy(mxGetPr(yy), y, N*sizeof(double));
engPutVariable(ep, "xx",xx);
engPutVariable(ep, "yy",yy);
// 向MATLAB引擎发送画图命令
engEvalString(ep, "plot(xx, yy); ");
engEvalString(ep, "title(' y = sin(x) ±log(x)');");
engEvalString(ep, "xlabel('x)');");
engEvalString(ep, "ylabel('y');");
// 销毁mxArray数组xx和yy
mxDestroyArray(xx);
mxDestroyArray(yy);
cout <<"Press any key to exit!" <<endl;
cin.get();
// 关闭 MATLAB 引擎。
engClose(ep);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -