当前位置:编程学习 > C#/ASP.NET >>

matlab和vs2008混编问题

我现在用到matlab和vs2008混编,需要求一个表达式的导数,例如y=3*x+3,对x求导,由于matlab能够直接求导,故我用diff函数进行求导。但最后求导的结果无法得出来,请高手帮帮忙啊。下面是我的程序(主要部分的):
        Engine *ep;
if(!(ep = engOpen(NULL)))
       {
cout<<"Cannot open matlab engine!"<<endl;
exit(1);
}
engSetVisible(ep,false);
CString org="3*x+4";
CString de="x";
char *str1;
char *str2;
int strlength1=org.GetLength();
int strlength2=de.GetLength();
str1=new char[strlength1+1];
str2=new char[strlength2+1];
for(int i=0;i<strlength1+1;i++)
{           
if (i==strlength1)
str1[i]='\0';
else
str1[i]=org.GetAt(i);
}
for(int i=0;i<strlength2+1;i++)
{           
if (i==strlength2)
str2[i]='\0';
else
str2[i]=de.GetAt(i);
}
mxArray *p;
mxArray *q;
mxArray *t;
p=mxCreateString(str1);             //创建:string mxArray,并且在创建的同时把str1赋给p。
q=mxCreateString(str2);             //创建:string mxArray,并且在创建的同时把str2赋给q。
t=NULL; 
int a=engPutVariable(ep,"y",p);     //传入Matlab空间。
        int b=engPutVariable(ep,"x",q);     //传入Matlab空间。
        int c=engEvalString(ep,"z=diff(y,x)");
t=engGetVariable(ep,"z"); //从Matlab空间传出字符串,并把其赋给string mxArray变量(q)。
str1=mxArrayToString(t); //把string mxArray变量赋给VC可以用的变量 str2    
engClose(ep);
一直得不到求导结果3. --------------------编程问答-------------------- 怎么没人回复啊 --------------------编程问答--------------------
直接的说,导入matlib.h,这个头文件已经把他们混编的东西全部包括了,去网上找找
补充:.NET技术 ,  VC.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,