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

 我来答
tianxiawulang
2014-10-14 · TA获得超过2.7万个赞
知道大有可为答主
回答量:4732
采纳率:89%
帮助的人:2547万
展开全部

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计算该积分会导致崩溃,原因不详。

推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式