# Taylor expansion calculation of exp(x^2)

조회 수: 12(최근 30일)
aroj bhattarai 2020년 12월 30일
댓글: aroj bhattarai 2021년 1월 1일
Dear Matlab users and experts,
I am aware that the exponential function is standarized as "exp" in Matlab . However, I need to calculate the function value exp(x^2) adjusting the (N) terms in the power series. Can anyone recommend the correct method to compute the function exp(x^2)?
My approach:
x = -3.0:0.1:3.0;
N = 12;
Taylor_p2 = 0;
for n = 0:N
Taylor_p2 = Taylor_p2 + (x.^(2.0.*n))./(factorial(n)); % Taylor_p2 = exp(x^2)
end
isn't giving me the desired value. I am using R2020b Matlab version.
Bhattarai

댓글을 달려면 로그인하십시오.

### 채택된 답변

Ameer Hamza 2020년 12월 30일
편집: Ameer Hamza 2020년 12월 30일
The formula for taylor series is correct. Just increase the number of terms.
x = -3.0:0.1:3.0;
N = 12;
Taylor_p2 = 0;
for n = 0:N
Taylor_p2 = Taylor_p2 + (x.^(2.0.*n))./(factorial(n)); % Taylor_p2 = exp(x^2)
end
p2 = exp(x.^2);
err = norm(p2-Taylor_p2);
plot(x, p2);
hold on
plot(x, Taylor_p2, '*')
Result
>> err
err =
9.1544e-05 ##### 댓글 수: 3표시숨기기 이전 댓글 수: 2
aroj bhattarai 2021년 1월 1일
Dear John D'Errico,
Should you not expect a complex number as a result? The bug is in your code, and how you handle complex results.
Yes, you are right, complex number results are expected which leads to slower convergent for abs(x)>1. For such situation, is there any mathematical solution to get a proper result? Or the real number exponent in the exponential function is fundamentally non-sense and unstable? My apologies for directing the original question into a mathematical discussion rather than the Matlab problem.
Bhattarai

댓글을 달려면 로그인하십시오.

### Community Treasure Hunt

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

Start Hunting!