24小时热门版块排行榜    

查看: 455  |  回复: 0

malimalibian

新虫 (小有名气)

[求助] 重积分运行很慢

下面代码是对函数area2(x,y)进行二重积分,可以运行但时间非常长,二十多分钟也没个结果,各位大神看下怎么解决啊
CODE:
clear all;
pc_e2 = @(b) 0;
sh_lambda_1 = .2;
sh_lambda_2 =5;
zeta21 = .2;
syms x y ;
assume(x,'positive');
assume(y,'positive');
th =  @(x,y) acos((x^2+y^2-zeta21^(-2)*y^2)/2*x*y);
ph = @(x,y) acos((zeta21^(-2)*y^2+y^2-x^2)/2*zeta21^(-1)*y^2);
Am = @(x,y) th(x,y)*x^2+ph(x,y)*zeta21^(-2)*y^2-x*y*sin(th(x,y));
fg = @(x,y) exp(-sh_lambda_1*(pi*x^2+pi*zeta21^(-2)*y^2-Am(x,y))-sh_lambda_2*pi*y^2);
dif_x = char( diff( fg(x,y), 'x',1));
dif_xx =eval(['@(x,y) ' dif_x]) ;
dif_xy = char( diff( dif_xx(x,y), 'y',1));
area2 =   eval(['@(x,y) ' dif_xy]) ;
                 assume(x,'clear');
                 assume(y,'clear');
pc_e22_2 = @(b) integral(@(y) integral(@(x) area2(x,y)...
                                , (-1+zeta21^(-1))*y,(1+zeta21^(-1))*y, 'ArrayValued', true), 0,inf,'ArrayValued', true);
ratecov_access = pc_e22_2(2^(.2/100)-1)

回复此楼

» 猜你喜欢

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 malimalibian 的主题更新
信息提示
请填处理意见