⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 eng2.c

📁 《MATLAB实用指南》系列丛书DE源代码
💻 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 + -