我正在尝试执行以下功能的双重集成
我知道如何在MATLAB中编写双积分。正如您所看到的,由于变量位于分母处,因此该函数的计算并不容易。假设我调用了integrad fun1。
我编写了以下代码来解决它
gamma2min=@(gamma1)gamma1;
I= integral2(fun1,0,+inf,gamma2min,+inf);
我收到以下错误
达到x = 0.160784附近的最小步长。可能有一个 对于这个问题,奇点或公差可能太紧了。
我也明白问题所在,但我不知道如何修复它。
感谢您的帮助
答案 0 :(得分:0)
Matlab文档说,当奇点出现在整合边界时," integral2
表现最佳" [src]。因此,由于您的积分区域是伽玛空间上的一个简单矩形,因此我将其分为两个区域:奇点(gamma1 == gamma2
)和总和:
I1 = integral2(fun1, 0 , gamma2min , gamma2min , +Inf);
I2 = integral2(fun1,gamma2min , +Inf , gamma2min , +Inf);
I = I1 + I2;