谁有一些好的例子,关于用VC++调用Matlab ?谢谢了。我这里有个例子能运行,一但我将自己的代码加进去就得不到值?
char bufferX[301];
double prul1M[20]={-40,0,4,0,
40,-5.5,0,0.5,
0,5,-4,0,
0,0.5,0,-0.5,
1,1,1,1,
};
double BM[5]={0,0,0,0,1};
if(!(ep=engOpen(NULL))){
MessageBox((HWND)NULL,(LPSTR)"Can't start Matlab engine",(LPSTR)"Engwindemo.c",MB_OK);
exit(-1);
}
engSetVisible(ep,0);
p=mxCreateDoubleMatrix(5,4,mxREAL);
memcpy((char *)mxGetPr(p),(char *)prul1M,20*sizeof(double));
b=mxCreateDoubleMatrix(5,1,mxREAL);
memcpy((char *)mxGetPr(b),(char *)BM,5*sizeof(double));
engPutVariable(ep,"P",p);
engPutVariable(ep,"B",b);
engEvalString(ep,"x=inv(P)*B");
engOutputBuffer(ep,bufferX,300);
engEvalString(ep,"whos");
MessageBox((HWND)NULL,(LPSTR)bufferX,(LPSTR)"Matlab-whos",MB_OK);
x=engGetVariable(ep,"x");
engClose(ep);
这是我自己加的代码部分,请高手帮帮忙阿!!谢谢了!! |