Matlab奇点

时间:2011-10-24 15:39:58

标签: math matlab integral

我在评估以下双积分时遇到了麻烦:

显然,cos函数的振荡性质导致了这些问题。随着我将f和g增加到更大的数字,matlab抱怨奇点和整合不成功。

(3 - 2*cos(y).*cos(f*x+g*y) - cos((f-1)*x + g*y)) ./ (4 - 2*cos(y).*(cos(y) + cos(x))) dxdy

超过-pi到pi为x,-pi到pi为y。

我一直在使用:

quad2d(@(x,y)my_func(x,y,f,g),-pi,pi,-pi,pi)

请提供任何帮助或想法

1 个答案:

答案 0 :(得分:1)

首先需要检查这是数学问题还是编程问题。对于f和g为0和130的输入,积分的边缘确实会变为无穷大。因此,matlab评估无穷大应该不足为奇,因为这确实是答案。

现在可以肯定的是,被积函数的边缘可能会变为无穷大,而总积分也不会变为无穷大,但如果在接近pi的极限时绘制结果,则总积分不会接近当你接近pi时,一个限制并继续上升。

z = zeros(1, 100);
dd = logspace(-8, -2, 100);
for i = 1 : 100
    d = dd(i);
    z(i) = quad2d(@(x,y)my_func(x,y,0,130),-pi+d,pi-d,-pi+d,pi-d);
end
plot(log10(dd), z)