Integration of two exponential functions
4 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Michael Henry
el 3 de Abr. de 2017
Comentada: Star Strider
el 4 de Abr. de 2017
Hello my friends, I have a problem with solving the following integral. It is a combination of two exponentials with different ratio in the attached picture.
I will be very grateful if you can help me with this. The derivation steps, if provided, will be much better to me as I have to apply this kind of integration in other problems I have.
If there is no closed form, can you please help me on how to integrate it using MATLAB with constants a, b, \lambda, and y to appear in the last answer.
Thanks in advance.. :)
5 comentarios
David Goodmanson
el 3 de Abr. de 2017
Hi sharief, This doesn't look like a very tractable integral, but at least it's not oscillatory. If you make the substitution x -> x/b, dx -> dx /b then you end up with
C = (1/b) Integral{0,inf} exp((ay/b)/(1+x)) exp(-(lambda/b)x) dx
so this is really just a two-parameter integral, a function of ay/b and lambda/b. That's not so bad, so one approach would be to make a 2-d table by numerical integration and interpolate off of it, not forgetting to multiply by 1/b afterwards.
Respuesta aceptada
Star Strider
el 3 de Abr. de 2017
There does not appear to be an analytical solution. Constraining ‘a+b=1’ simply requires defining ‘a=1-b’, since ‘a’ only appears once.
This seems the best you can do:
syms b lambda x y
f(x) = exp(((1-b)/b)*y/(b*x+1)) * exp(-lambda*x);
F = int(f, x, 0, Inf);
F_fcn = matlabFunction(simplify(F,'Steps',10))
F_fcn =
function_handle with value:
@(b,lambda,y)integral(@(x)exp(-lambda.*x).*exp(-(y.*(b-1.0))./(b.*(b.*x+1.0))),0.0,Inf)
or more directly:
F_fcn = @(b,lambda,y) integral(@(x)exp(-lambda.*x).*exp(-(y.*(b-1.0))./(b.*(b.*x+1.0))),0.0,Inf);
6 comentarios
Star Strider
el 4 de Abr. de 2017
My pleasure.
I am not certain. The code I posted ran without error. The values of the parameters could be a problem, however I do not know the parameters you provided or the code you ran.
Más respuestas (1)
Ver también
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!