How to solve for unknown function in integral equation?

29 次查看(过去 30 天)
Hello,
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?
Thanks!
  3 个评论
John D'Errico
John D'Errico 2022-1-19
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.

请先登录,再进行评论。

回答(2 个)

Torsten
Torsten 2022-1-19
编辑:Torsten 2022-1-19
One (maybe naive) approach:
Choose
0=n(1)<n(2)< ... <n(K)< oo
and
z(1),...,z(K)
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)).
  2 个评论
John D'Errico
John D'Errico 2022-1-19
It might indeed have problems. Note that the integral goes to infinity, so trapz may have problems. As well, these problems are often ill-posed. So the approximation of a trapezoidal rule can be an issue.
Torsten
Torsten 2022-1-19
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).

请先登录,再进行评论。


John D'Errico
John D'Errico 2022-1-19
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.
  2 个评论
Bjorn Gustavsson
Bjorn Gustavsson 2022-1-21
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.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Numerical Integration and Differentiation 的更多信息

产品


版本

R2021a

Community Treasure Hunt

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

Start Hunting!

Translated by