大家好,最近用C#调用Matlab,尝试过简单的函数调用没问题(比如sqrt函数),一涉及到下面这两个复杂的函数就出问题,想了好久也没解决,请各位高手指教。VS是2010,Matlab是2013a
这是我的C#代码:
double q = 5;
double p = 4;
MWArray qMat = (MWArray)q;
MWArray pMat = (MWArray)p;
Test output1 = new Test();
output1.Q(qMat, pMat);
Test是类,Q是一个函数。
这是Q函数:
function fff=Q(q,pw)
arrayfun(@(xx)fsolve(@(x)zdwQ(x,xx),q),pw)
end
这是zdwQ函数:
function ff=zdwQ(q1,pw)
pe=10;a=0.96;b=200;xf=60;k=1;h=10;Re=500;u=1;kexi=log(2*Re/xf);wf=2e-3;rw=0.1;kf=1000;
g=@(beta)((b*u*q1./(cosh(beta)*4*xf*k*h)-a+1+sqrt((b*u*q1./(cosh(beta)*4*xf*k*h)-a+1).^2+4*a)/(2*b)));
ff=pe-pw-quadl(@(beta)g(beta),0,kexi)-q1*(u*(xf-h/2)/(2*kf*wf*h)+u/(2*pi*kf*wf)*log(h/2*rw));
end
这是出错的信息:
csrot 找不到指定的程序
然后是异常:... MWMCR::EvaluateFunction error ... csrot.
你好请问解决了吗 我也遇到类似的问题,急死了