Effacer les filtres
Effacer les filtres

Simple Integration

1 vue (au cours des 30 derniers jours)
Bibha
Bibha le 13 Mai 2011
Hi there,
I am new to MATLAB and have a simple question regarding the integration.
I have two expressions:
syms c L;
first = int( exp(-(L-3)^2/2, c, Inf);
second = int (first * exp(-(c-5)^2/.5), -Inf, Inf);
It gives me the integral of the first expression however on the second it says "Explicit integral could not be found". Then I also tried with quad but no avail.
what should I do to evaluate the second integral?
Many Thanks.

Réponse acceptée

Teja Muppirala
Teja Muppirala le 13 Mai 2011
QUADGK works better for integrals that go to infinity:
syms c L;
first = int( exp(-(L-3)^2/2), c, Inf);
second = matlabFunction (first * exp(-(c-5)^2/.5));
quadgk(second,-inf,inf)
  1 commentaire
Bibha
Bibha le 13 Mai 2011
It worked!
Thanks! Thanks! Thanks and thanks.

Connectez-vous pour commenter.

Plus de réponses (1)

Ivan van der Kroon
Ivan van der Kroon le 13 Mai 2011
Bibha,
It get this answer for your third line (note also that on line two a right bracket is missing).
second =
infinity
/
| 2
| exp(-2.000000000 (c - 5) )
|
/
-infinity
1/2 1/2 1/2 1/2 1/2 1/2
(- 1/2 pi 2 erf(1/2 2 c - 3/2 2 ) + 1/2 pi 2 ) dc
I really do not think this integral can be evaluated explicitly. It is an error-function multiplied with a exponential function.
Ciao, Ivan
  1 commentaire
Bibha
Bibha le 13 Mai 2011
I think, I agree with you that the integral can NOT be evaluated explicitly. For that reason, I tried QUAD but I could not get it worked.
Any help on QUAD?

Connectez-vous pour commenter.

Community Treasure Hunt

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

Start Hunting!

Translated by