How to solve this integral?

8 visualizaciones (últimos 30 días)
Leonardo Miquelutti
Leonardo Miquelutti el 28 de Oct. de 2017
Respondida: David Goodmanson el 31 de Oct. de 2017
I need to solve this integral.
In practice, Phi(x) is a discrete set o values. How to proceed? Any ideas?
  7 comentarios
David Goodmanson
David Goodmanson el 29 de Oct. de 2017
Hi Leonardo,
Could you state clearly what the integrand is? Not counting the constant in front, is it
x.*( pi/4 - phi(omega) ) ./ (x.^2-omega.^2)
or
x.*( pi/4 - phi(x) ) ./ (x.^2-omega.^2) as the equation says
or ??
The notation indicates a principal value integral, so the integration past the pole at x = omega is actually all right.
In the equation the limits for x are 0 and infinity, and it's the behavior of the integrand as x --> infinity that tells the tale. In the first case ( pi/4 - phi(theta) ) is a constant function of x as Walter mentioned, and the integral diverges because the integrand ~~1/x for large x. No good.
In the second case the integral will converge if
( pi/4 - phi(x) ) --> 0 as x--> infinity,
(assuming phi(x) is otherwise a well-behaved function) because the integand goes to zero faster than 1/x as x --> infinity.
Leonardo Miquelutti
Leonardo Miquelutti el 30 de Oct. de 2017
The second case is the correct one, and this assumption (( pi/4 - phi(x) ) --> 0 as x--> infinity) is true.
The equation is correct as it is shown. It can be seen at this link, where equations 1.99 show the dispersion relations where \rhoa and \phi can be calculated from one another.
My apologies because I was confusing. What I have is a set of \phi values, which is not a constant. I believe there is a way to numericall solve this equation, as people I don't have access to have done it, but it is not clear to me how it was done.

Iniciar sesión para comentar.

Respuestas (1)

David Goodmanson
David Goodmanson el 31 de Oct. de 2017
Hi Leonardo,
You can do the integral in the following way.
Let [p/4 - phi(x)] = u(x) where u(x) --> 0 as x --> inf.
Not counting the 4/pi in front,
I = Int{0,inf} u(x)*x/(x^2-w^2) dx
Use the identity
x/(x^2-w^2) = (1/2)*(1/(x-w) + 1/(x+w))
to create sum of four integrals
Ia = Int{0,w-eps} (1/2)u(x)/(x-w) dx eps --> 0
Ib = Int{w-eps,w+eps} (1/2)u(x)/(x-w) dx eps --> 0
Ic = Int{w+eps,inf} (1/2)u(x)/(x-w) dx eps --> 0
Id = Int{0,inf} (1/2)u(x)/(x+w) dx
The integral Id has no singularities and is not a problem. You can make eps smaller and smaller until Ia and Ic settle down, ignore Ib, sum the other three and you are done (except you can add a correction term mentioned below). eps might be something like 1e-4*w.
This works because, after making the variable change x = y+w then
Ib = Int{-eps,eps} (1/2) u(y+w)/y dy
As eps gets small, u is closer and closer to being a constant u(w) in the interval. Now use the fact that for the principal value
p.v. Int(y1,y2) (1/y) dy = log(|y2|/|y1|)
Here y1 and y2 can be on the same side of the singularity or opposite sides, doesn't matter. In Ib, if u is constant you get
Ib = u(k) (1/2) log(|eps|/|eps|) = 0
so it goes away. Going back to variable x, u(x) is probably going to have a nonzero slope at x = w and it is easy to come up with a correction term for Ib which is
Ib = (1/2)(u(w+eps) - u(w-eps))
and that gets added to the sum.
If phi(x) is an algebraic function defined for any x then you can use the 'integral' function, but if phi(x) comes from data then the integral might have to be done differently.

Etiquetas

Community Treasure Hunt

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

Start Hunting!

Translated by