返回信息流MATLAB已经编译好,产生的 .h .lib .dll 3个文件都已经拷到VC程序文件里,但是目前不知道怎么在程序里调用这些文件。http://www.cnitblog.com/edaiqingwa/archive/2006/12/18/20741.html这是我在网上看的一个教程,里面到最后VC关于接口和数据类型的转换 实现的源代码是
void CMatDlg::OnButton1()
{ // 在 matlab 中定义的 m 文件 :myfunct ,其功能是完成两个数的相加操作。
CString str;
UpdateData(true);
pppInitialize();
// 为了调用 matlab 中的函数,必须使用数组数据类型,并其后调用 matlab 函数将其转化为矩阵格式( matlab 的基本数据类型是矩阵)
static double x1[1]={1.0};
static double x2[1]={2.5};
double result;
// 调用 matlab 创建 3 个矩阵
mxArray *A=mclGetUninitializedArray();
mxArray *B=mclGetUninitializedArray();
mxArray *C=mclGetUninitializedArray();
// 将 C 语言中的变量值赋给 matlab 中的矩阵
mlfAssign(&A,mlfDoubleMatrix(1,1,x1,NULL));
mlfAssign(&B,mlfDoubleMatrix(1,1,x2,NULL));
mlfAssign(&C,mlfMyfunct(A,B));
// 将 matlab 中的矩阵的指针传递给 C 语言中的指向 double 的指针
double * md=mxGetPr(C);
result=md[0];
// 释放这些矩阵
mxDestroyArray(A);
mxDestroyArray(B);
mxDestroyArray(C);
str.Format ("It is : %f",result);
::AfxMessageBox(str);
}
请问这个源代码是不是适用于所有的M文件呢?
这是一条镜像帖。来源:北邮人论坛 / cpp / #7661同步于 2008/5/28
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
[求助]关于如何在VC中调用M文件
iceboy
2008/5/28镜像同步0 回复
订阅后,新回复会通过你的通知中心匿名送达。
0 条回复
暂无回复 · 你可以订阅本帖等待新回复。