DOUBLE无法将输入表达式转换为双数组。为什么?

时间:2014-12-24 23:39:08

标签: matlab symbolic-math

我使用Matlab计算双积分。错误是:

Warning: Explicit integral could not be found. 
Error using mupadmex
    Error in MuPAD command: DOUBLE cannot convert the input expression into a double
    array. If the input expression contains a symbolic variable, use the VPA function instead.

Error in sym/double (line 827)
    Xstr = mupadmex('symobj::double', S.s, 0);

Error in MeEqu7 (line 20)
     out2 =out2 (int(int(yi,u1,0,u2),u2, 0 ,1000))

我的代码如下:

clear all; 

a=4; 
la1=1/(pi*500^2); la2= la1*5;
p1=25; p2=p1/25;
sgma2=10^(-11);
index=1;
g=2./a;

syms r u1 u2  u3 aa
powe= 0;
seta= 10^powe;


xNor =  (u2./u1).^(-1./g) + 1  ;
aa= -u2.^(-1./g) .*seta.*( pi.*(la1.*p1.^(g) + la2.*p2.^(g)) ).^(1./g)  ;


yi =  exp(aa./xNor - u2 );
out2 = double (int(int(yi,u1,0,u2),u2, 0 ,1000))

非常感谢您的帮助!! 我也试过vpa。但是out2不是一个数字。实际上,我期待out2是一个数字,我可以使用这个数字来绘制一个数字 我在这里做了一些搜索。但是他们的案子对我的案子没有帮助。你能深入了解一下吗?

0 个答案:

没有答案