How to solve for unknown function in integral equation?

28 views (last 30 days)
Laila Voss
Laila Voss on 19 Jan 2022
Commented: Bjorn Gustavsson on 21 Jan 2022
I am trying to write code to solve the following integral equation:
Here, and are both known, and I would like to numerically find out what is. Can anyone help?
John D'Errico
John D'Errico on 19 Jan 2022
You want to numerically solve for g(n), as a function? This can be sometimes difficult, but not always. The usual name given to the general problem is an inhomogeneous Fredholm integral equation (of the first kind).
A common class of solutions lies in the form of the Laplace transform, which you should recognize as a spcial case of the general problem you want to solve.
Another special case lies in the form of convolution/deconvolution problems, which should also be seen to be a special case.
You can even see similar problems arise from Fourier transforms, though over a different domain.
I would strongly recommend you do some reading before you even think about writing any code.

Sign in to comment.

Answers (2)

Torsten on 19 Jan 2022
Edited: Torsten on 19 Jan 2022
One (maybe naive) approach:
0=n(1)<n(2)< ... <n(K)< oo
Then use linsolve to solve the linear system of equations
h0(z(i)) - trapz(n,g(z(i),n).*f) = 0 (i=1,...,K)
for the unknown vector f=(f(1),...,f(K)).
Torsten on 19 Jan 2022
You are right, but it's a starting point.
In principle this is what
suggests as numerical method (in general with a more complex quadrature rule than trapz, I guess).

Sign in to comment.

John D'Errico
John D'Errico on 19 Jan 2022
One idea can lie in the use of a family of functions the decompose the unknown f. Choose an orthogonal family over the chosen domain, so 0 to infinity in this case. That may mean Bessel functions. It may mean something like Laguerre polynomials. That is, we can write the integral in a form like
intt(K*f*dt) = int(K*exp(-t)*exp(t)*sum(a_i*p_i(t))*dt)
that is, if the polynomials P_i are Laguerre polynomials, they will be orthogonal with the inclusion of that exp(-t) in that Kernel. So now you write f(t) as a sum of the form
f(t) = sum(a_i*p_i(t))
This will work if that exp(t) term can be neatly absorbed into K.
How does this help? You will need to use a finite number of terms in that sum of course. But the integral and the sum can exchange places. And now you can try to solve for the unknown constants a_i.
The above are standard solution methods for this class of problems, though it has been many years since I worried about them.
Again, as I said before, you will need to do some reading, or spend some time talking to someone with expertise in these solutions.
Bjorn Gustavsson
Bjorn Gustavsson on 21 Jan 2022
When chosing the basis-functions you should really think about the kernel g - that might give you a set of basis-functions that are ortogonal with that weighting. This would be a very practical set to use as far as I recall.
If you're lucky you might find some variable-transform that could convert your interval into a finite range and simultaneously get a kernel/weighting-function that has a known series of orthogonal basis-functions.

Sign in to comment.




Community Treasure Hunt

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

Start Hunting!

Translated by