A double integral with a singularity point

4 次查看(过去 30 天)
I am trying to perform a double integration of function as follows
I know how to write the double integral in MATLAB. As you can see this function is not very easy to compute due to that fact that the variables are at the denominator. Assume I call the integrad fun1.
I wrote the following code to solve it
gamma2min=@(gamma1)gamma1;
I= integral2(fun1,0,+inf,gamma2min,+inf);
I get the following error
Minimum step size reached near x = 0.160784. There may be a
singularity, or the tolerances may be too tight for this problem.
I also understand what the problem is, but I don't know how to fix it.
Thanks for any help

回答(1 个)

Mike Hosea
Mike Hosea 2015-2-26
The lines gamma1 == 0 and gamma1 == gamma2, are already on the boundary. Good. Apparently, f(gamma1,gamma2) --> 0 as gamma2 --> inf. If not, then you have trouble on that point. I think INTEGRAL is a bit more powerful with edge singularities. To leverage that, you can try the iterated method.
I = integral2(fun1,0,inf,gamma2min,inf,'method','iterated')
I'm not terribly optimistic, however.

类别

Help CenterFile Exchange 中查找有关 Gamma Functions 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by