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.

 採用された回答

Teja Muppirala
Teja Muppirala 2011 年 5 月 13 日

0 投票

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 件のコメント

Bibha
Bibha 2011 年 5 月 13 日
It worked!
Thanks! Thanks! Thanks and thanks.

サインインしてコメントする。

その他の回答 (1 件)

Ivan van der Kroon
Ivan van der Kroon 2011 年 5 月 13 日

0 投票

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 件のコメント

Bibha
Bibha 2011 年 5 月 13 日
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?

サインインしてコメントする。

カテゴリ

ヘルプ センター および File Exchange で Mathematics についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by