预览加载中,请您耐心等待几秒...
1/4
2/4
3/4
4/4

在线预览结束,喜欢就下载吧,查找使用更方便

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

VC6.0与MATLAB的混合编程 首先配置VC6.0 在工程->设置->链接对话框的对象/库模块输入libmx.liblibmat.liblibeng.lib每个空格隔开,如图 设置include和lib路径 工具->选项-> 后面的路径是根据你的matlab软件安装在路径 我的安装放在E盘 extern文件夹里面就有include和lib文件夹,根据上面路径链接就是 开始编译简单的一个代码 运行结果 #include<iostream> #include<iomanip.h> usingnamespacestd; #include<engine.h> #include<string.h> voidmain() { inti=0,j=0; intnstatus=0; Engine*ep; mxArray*A,*B; doublearData[3][3]={{7.5,16.3,9.6},{13.2,8.9,12.3},{9.6,5.4,13.7}}; doublearResData[3][3]; printf("原矩阵为:\n"); for(i=0;i<3;i++) {for(j=0;j<3;j++) printf("%10.1lf",arData[i][j]);; printf("\n"); } ep=engOpen(NULL); nstatus=engSetVisible(ep,false); A=mxCreateDoubleMatrix(3,3,mxREAL); B=mxCreateDoubleMatrix(3,3,mxREAL); memcpy((void*)mxGetPr(A),(void*)arData,sizeof(arData)); nstatus=engPutVariable(ep,"A",A); nstatus=engEvalString(ep,"B=inv(A)"); B=engGetVariable(ep,"B"); memcpy((void*)arResData,(void*)mxGetPr(B),sizeof(arResData)); mxDestroyArray(A); mxDestroyArray(B); engClose(ep); printf("输入逆矩阵为:\n"); for(i=0;i<3;i++) {for(j=0;j<3;j++) printf("%10lf",arResData[i][j]);; printf("\n"); } }