|
楼主 |
发表于 2010-6-24 09:15
|
显示全部楼层
谢谢rocwoods
当H<3/4时,上述积分是收敛的。因为
当H<3/4,上述积分是有限的(将区间分为[0,1]和[1,+\infinite])
我现在还有个问题
采用您的方法计算下面积分时候,当H<3/4时候
clear all
theta=1; T=10; H=0.78;
ff1=@(x) @(y,z) exp(-theta*x-theta*(y-z)).*((x-y)).^(2*H-2).*z.^(2*H-2);
ff2=@(x) @(y,z) exp(-theta*x-theta*(y-z)).*((y-x)).^(2*H-2).*z.^(2*H-2);
ff3=@(x) @(y,z) exp(-theta*x-theta*(z-y)).*((x-y)).^(2*H-2).*z.^(2*H-2);
ff4=@(x) @(y,z) exp(-theta*x-theta*(z-y)).*((y-x)).^(2*H-2).*z.^(2*H-2);
Int1 = quadgk(@(x) arrayfun(@(x) quad2d(ff1(x),0,x,0,@(y)y),x),0,T)
Int2 = quadgk(@(x) arrayfun(@(x) quad2d(ff2(x),x,T,0,@(y)y),x),0,T)
Int3 = quadgk(@(x) arrayfun(@(x) quad2d(ff3(x),0,x,@(y)y,T),x),0,T)
Int4 = quadgk(@(x) arrayfun(@(x) quad2d(ff4(x),x,T,@(y)y,T),x),0,T)
INT = Int1+Int2+Int3+Int4
运行后
> In quad2d at 254
In @(x)quad2d(ff1(x),0,x,0,@(y)y)
In @(x)arrayfun(@(x)quad2d(ff1(x),0,x,0,@(y)y),x)
In quadgk>evalFun at 357
In quadgk>f1 at 375
In quadgk>vadapt at 269
In quadgk at 208
Warning: Reached the maximum number of function evaluations (2000). The result fails the global
error test.
请问怎么可以避免这个问题
辛苦您了
[ 本帖最后由 weilinhy 于 2010-6-24 09:23 编辑 ] |
|