📄 eng2.c
字号:
///////////// 头文件
#include "engine.h"
#include "stdio.h"
#include "conio.h"
////////////////////// C程序
int main()
{
double *cx,*cy,*cy1;
int n,i;
FILE *fp;
//////////////打开引擎
Engine *ep;
if((ep=engOpen(NULL))==NULL){printf("\nCan't Open Matlab engine\n");exit(0);}
///////////// 通过引擎库函数调用Matlab命令
engEvalString(ep,"x=0:0.1:2*pi;");
engEvalString(ep,"y=sin(x);");
engEvalString(ep,"y1=cos(x);");
engEvalString(ep,"plot(x,y,x,y1);");
engEvalString(ep,"xlabel('X');");
engEvalString(ep,"ylabel('Y');");
///////////// 通过引擎库函数将后台Matlab空间中数据转过来
n=mxGetN(engGetVariable(ep,"x"));
cx=mxGetPr(engGetVariable(ep,"x"));
cy=mxGetPr(engGetVariable(ep,"y"));
cy1=mxGetPr(engGetVariable(ep,"y1"));
printf("\n Press anykey to continue\n"); getch();
/////////// 关闭引擎
if(engClose(ep)!=0){printf("\nCan't close Matlab engine normally\n");exit(-1);}
printf("\n Matlab engine is over\n");
////////// 将Matlab引擎计算结果输出
if((fp=fopen("eng2Out.txt","w"))==NULL){printf(" Can't open OutPutfile\n");exit(0);}
for(i=0;i<n;i++)fprintf(fp," %3d %12.4lf %12.4lf %12.4lf \n",i,cx[i],cy[i],cy1[i]);
////////// 释放内存
mxFree(cx); mxFree(cy);
fclose(fp);
return 0;}
/////////////////结束
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -