Discover MakerZone

MATLAB and Simulink resources for Arduino, LEGO, and Raspberry Pi

Learn more

Discover what MATLAB® can do for your career.

Opportunities for recent engineering grads.

Apply Today

Thread Subject:
integral equation with singularities and double integral

Subject: integral equation with singularities and double integral

From: Sulaiman Rabbaa

Date: 27 Oct, 2011 17:13:29

Message: 1 of 3

Hello
I need help to solve the following integral equation:
double integral (with respect to x and y) of 137.03.*y.^2./((0.238.*exp(0.067.*y.^2)+1).*(w-5.26.*x.*y-2.63).*(w-5.26.*x.*y+2.63))=1+8478./(10828-w.^2-1.13.*j.*w)
xmin=-1, xmax.=1, ymin=0, ymax=inf
I want to find w which is complex number.
I tried the following code:
f=@(w) dblquad(@(x,y) 137.03.*y.^2./((0.238.*exp(0.067.*y.^2)+1).*(w-5.26.*y.*x-2.63).*(w-5.26.*y.*x+2.63)),-1,1,0,100)-1-8478./(10828-w.^2-j.*w.*1.13)
V=fsolve(f,160)
There are some singularities. How can I solve the problem

Subject: integral equation with singularities and double integral

From: Roger Stafford

Date: 28 Oct, 2011 05:03:13

Message: 2 of 3

"Sulaiman Rabbaa" wrote in message <j8c3fp$8kv$1@newscl01ah.mathworks.com>...
> I need help to solve the following integral equation:
> double integral (with respect to x and y) of 137.03.*y.^2./((0.238.*exp(0.067.*y.^2)+1).*(w-5.26.*x.*y-2.63).*(w-5.26.*x.*y+2.63))=1+8478./(10828-w.^2-1.13.*j.*w)
> xmin=-1, xmax.=1, ymin=0, ymax=inf
> I want to find w which is complex number.
- - - - - - - - - -
  You wish to solve for the parameter w which gives the same value to the given definite double integral on the left hand side involving w as it does to the expression in w on the right hand side: "1+8478./(10828-w.^2-1.13.*j.*w)". Since this latter has a complex coefficient, the resulting value of w must necessarily also be complex-valued. Have I stated your problem correctly?

  First, observe that you do not need to perform a full numerical double integration, since it is possible to find an analytic expression for the single integral taken with respect to x with w and y as parameters. Just use a partial fraction expansion (or give that problem to the Symbolic Toolbox.) Hence numerical integration need only involve a single integration involving parameter w and taken with respect to y using the known analytic solution to the first integral. That should greatly reduce the solution time since repeated numerical double integration would be much slower.

  Second, the documentation for 'fsolve' says: "fsolve only handles real variables. When x has complex variables, the variables must be split into real and imaginary parts." Consequently you will need to break w into an unknown real part and unknown imaginary part, w = u + v*i, and solve this as a two-parameter problem in u and v. That means you will actually have to evaluate two integrals in terms of the parameters u and v: one, the real part and one the imaginary part of the above integral. This is then what you need to send to 'fsolve', namely the difference between the real part of the integral and the real part of the right hand side as one part of a vector, and the difference between imaginary part of the integral and the imaginary part of the right hand side as the second part of the vector. 'fsolve' will then have to seek for a simultaneous solution to both equations by
varying u and v appropriately.

  Since the functions you will be calling on involve numerical integrations at each call, you can expect such a computation to be quite slow, even with the above single numerical integration shortcut.

  I cannot foresee whether or not you will encounter multiple solutions. You will probably have to experiment with fsolve's x0 initial estimate vector to fully explore this possibility.

  Note that your subject title was not quite appropriate. In mathematics a true "integral equation" involves solving for an unknown function, not merely an unknown parameter. See the site:

 http://en.wikipedia.org/wiki/Integral_equation

for an explanation of this.

Roger Stafford

Subject: integral equation with singularities and double integral

From: Jonas Lundgren

Date: 31 Oct, 2011 13:31:28

Message: 3 of 3

"Sulaiman Rabbaa" wrote in message <j8c3fp$8kv$1@newscl01ah.mathworks.com>...
> Hello
> I need help to solve the following integral equation:
> double integral (with respect to x and y) of 137.03.*y.^2./((0.238.*exp(0.067.*y.^2)+1).*(w-5.26.*x.*y-2.63).*(w-5.26.*x.*y+2.63))=1+8478./(10828-w.^2-1.13.*j.*w)
> xmin=-1, xmax.=1, ymin=0, ymax=inf
> I want to find w which is complex number.
> I tried the following code:
> f=@(w) dblquad(@(x,y) 137.03.*y.^2./((0.238.*exp(0.067.*y.^2)+1).*(w-5.26.*y.*x-2.63).*(w-5.26.*y.*x+2.63)),-1,1,0,100)-1-8478./(10828-w.^2-j.*w.*1.13)
> V=fsolve(f,160)
> There are some singularities. How can I solve the problem

Hi,
The Newton-Raphson solution below gives w = (78.1093 - 0.2275i). Another solution is w = (-78.1093 - 0.2275i).

f = @(x,y,w) 137.03.*y.^2./(0.238.*exp(0.067.*y.^2)+1) ...
    ./(w-5.26.*x.*y-2.63)./(w-5.26.*x.*y+2.63);

df = @(x,y,w) 137.03.*y.^2./(0.238.*exp(0.067.*y.^2)+1) ...
    ./(w-5.26.*x.*y-2.63).^2./(w-5.26.*x.*y+2.63).^2 ...
    .*2.*(5.26.*x.*y-w);

g = @(w) quad2d(@(x,y)f(x,y,w),-1,1,0,100);
dg = @(w) quad2d(@(x,y)df(x,y,w),-1,1,0,100);

h = @(w) g(w) - 1 - 8478./(10828-w.^2-1.13i.*w);
dh = @(w) dg(w) - 8478.*(2*w+1.13i)./(10828-w.^2-1.13i.*w).^2;

w = 80-1i;
dw = 1;
while abs(dw) > 1e-9 && abs(w) < 1e6
    dw = -h(w)/dh(w);
    w = w + dw;
end

/Jonas

Tags for this Thread

No tags are associated with this thread.

What are tags?

A tag is like a keyword or category label associated with each thread. Tags make it easier for you to find threads of interest.

Anyone can tag a thread. Tags are public and visible to everyone.

Contact us