How can I solve an integral equation with an unknown kernel?
4 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Sergio Manzetti
el 1 de Dic. de 2017
Comentada: Sergio Manzetti
el 12 de Dic. de 2017
The equation I am trying to solve is:

where f(x) and h(x) are both complex and known, and g(x) is an unknown function. Presumably, the result should be a function g(x), however, it is not to be excluded that g(x) could actually be an operator instead. Can this be solved for either cases in MATLAB?
Thanks!
0 comentarios
Respuesta aceptada
Torsten
el 1 de Dic. de 2017
g is not unique - it can be of any function type you like (we already had this discussion).
g(x)=1/integral_{x=0}^{x=2*pi} f(x)*h(x)dx
or
g(x)=1/(f(x)*h(x)*2*pi)
or
...
Best wishes
Torsten.
10 comentarios
Torsten
el 12 de Dic. de 2017
Why don't you start from a solution that worked ?
syms L C x
assume (L>0);
h = 1;
g = 5;
y = C-exp(2*g*1i*x/h);
z = C-exp(-2*g*1i*x/h);
prod = y*z*(1+x^2);
Csol = solve(int(prod,x,0,L)-1==0,C);
Best wishes
Torsten.
Más respuestas (2)
John D'Errico
el 1 de Dic. de 2017
If g(x) is unknown, then if all you have is a single equation equal to a constant, then there is no simple solution. Or, you can look at it as if there are infinitely many solutions, one of them being a constant function.
Just compute the integral of h(x)*f(x). Take the reciprocal. That is the value of the constant g that will make int(h*f*g) equal 1. So as long as int(h*f) over [0,2*pi] is not identically 0, then A solution is trivial. Yes there may be infinitely many other solutions, but they cannot be found unless you have information as to the functional form of g(x).
11 comentarios
John D'Errico
el 4 de Dic. de 2017
I don't see why not. Integration is just a linear operator. If g is a constant, then it can be pulled outside the integral.
Ver también
Categorías
Más información sobre Linear Algebra en Help Center y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!