与奇点MATLAB的双积分

时间:2015-02-23 21:28:38

标签: matlab integration

我正在尝试执行以下功能的双重集成

enter image description here

我知道如何在MATLAB中编写双积分。正如您所看到的,由于变量位于分母处,因此该函数的计算并不容易。假设我调用了integrad fun1。

我编写了以下代码来解决它

gamma2min=@(gamma1)gamma1;

I= integral2(fun1,0,+inf,gamma2min,+inf);

我收到以下错误

达到x = 0.160784附近的最小步长。可能有一个 对于这个问题,奇点或公差可能太紧了。

我也明白问题所在,但我不知道如何修复它。

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

Matlab文档说,当奇点出现在整合边界时," integral2表现最佳" [src]。因此,由于您的积分区域是伽玛空间上的一个简单矩形,因此我将其分为两个区域:奇点(gamma1 == gamma2)和总和:

I1 = integral2(fun1,    0     , gamma2min , gamma2min , +Inf);
I2 = integral2(fun1,gamma2min ,   +Inf    , gamma2min , +Inf);
I  = I1 + I2;