A double integral with a singularity point

3 visualizzazioni (ultimi 30 giorni)
DM
DM il 23 Feb 2015
Risposto: Mike Hosea il 26 Feb 2015
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

Risposte (1)

Mike Hosea
Mike Hosea il 26 Feb 2015
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.

Community Treasure Hunt

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

Start Hunting!

Translated by