Exponential function produces error with integrate command

Hello. I'm relatively new to Matlab, and I have the following problem which boils down from a larger, more complicated integral, but for now I am working with a simplified case. I believe that I have found the source of my problem.
I wrote
fun = @(x) (exp(x).*exp(-(x.^2)/2);
q = integral(fun,-1,Inf)
The value of q is then NaN.
Why is this the case? I evaluated this integral in Wolfram Alpha and received a number.

 採用された回答

David Goodmanson
David Goodmanson 2020 年 12 月 7 日
編集済み: David Goodmanson 2020 年 12 月 7 日

0 投票

Hi Ben
for large x, exp(x) overflows to infinity before the exp(-(x.^2)/2) factor has a chance to bring in down. Try completing the square in the exponent:
fun = @(x) exp(-((x-1).^2)/2)*exp(1/2)

1 件のコメント

Ben Miller
Ben Miller 2020 年 12 月 7 日
編集済み: Ben Miller 2020 年 12 月 7 日
That is what I suspected, and if I combine everything into one exp expression it works.

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

その他の回答 (0 件)

カテゴリ

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

製品

リリース

R2020b

質問済み:

2020 年 12 月 7 日

編集済み:

2020 年 12 月 7 日

Community Treasure Hunt

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

Start Hunting!

Translated by