matlab二重数值积分 第一重积分还有符号积分上限

来源:学生作业帮助网 编辑:作业帮 时间:2024/07/12 09:48:07
matlab二重数值积分 第一重积分还有符号积分上限
xTmoV+QV96vk?TھMZ?M`S^4'vTKek4mQJ3_|_1&M%R-پss2(Bի* {.N9V v/sȌ}>Zo-YӀ,ĔB\tZH\VN'&I=4f. #=^(f-%827!"qlNOQ9/ 2ɢx$p0ܬBjH#9$r# I#r <$IY^~Q.(\|VUE7հćİ9EH. pO'qV73瞟~n{v.GOn~͢ZߛNŽ4CS_[E{ g(Tq ,nHT .x{oW_x%{.5}^;Zx;5QW!W<8;VgF{yOҾtD b Pa Pܪ;jZ>rhO[{ۯЂϏ߱wq:GFE+AB|腢y"PkɵvYj5t#1G3)]D5E)b)f!'CäJY0kƳ ;_

matlab二重数值积分 第一重积分还有符号积分上限
matlab二重数值积分 第一重积分还有符号积分上限

matlab二重数值积分 第一重积分还有符号积分上限

1、这个积分可用下面的表达式进行计算:

quadl(@(x)arrayfun(@(X)quadgk(@(z)exp(-z)./z,((X-10)^2+10)/4e-6,inf),x),-10,10)

但结果为Inf,原因很简单,exp(z)/z的积分上限是inf,而且函数值趋近于inf,所以结果必然是inf.

 

2、指数积分函数的指数项应该是exp(-z)才对,但如果加了这个负号,积分值为0,这是因为积分下限的值太大(至少是2500000),此时exp(-z)/z的值已经小到可以忽略不计,积分的结果也只能是0.

 

3、如果使用符号运算,不同版本下可能遇到不同的现象.

 

在6.5版的结果:

>> syms x z
>> a=int(int(exp(-z)/z,((x-10)^2+10)/4e-6,inf),x,-10,10);
Warning: Explicit integral could not be found.
> In D:\MATLAB6p5\toolbox\symbolic\@sym\int.m at line 58
>> double(a)
ans =
     0
>> a=int(int(exp(z)/z,((x-10)^2+10)/4e-6,inf),x,-10,10)

a =

inf

与数值计算的结果吻合.

 

2013版计算第一个积分结果相同,但计算第二个积分得到的表达式再转换为double时会出错;2007b计算该积分会导致崩溃,原因不详.