
Taylor expansion calculation of exp(x^2)
16 views (last 30 days)
Show older comments
aroj bhattarai
on 30 Dec 2020
Commented: aroj bhattarai
on 1 Jan 2021
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.
Many thanks in advance.
Bhattarai
0 Comments
Accepted Answer
Ameer Hamza
on 30 Dec 2020
Edited: Ameer Hamza
on 30 Dec 2020
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 Comments
John D'Errico
on 31 Dec 2020
This folllowup question about other powers of x in the exponential is completely different from your original one, because the function is different. What happen when x is negative, and you try raising that number to non-integer powers? Should you not expect a complex number as a result? The warning message you got was from plot, when you told it to plot complex numbers. The bug is in your code, and how you handle complex results.
Finally, I would point out that this function is expected to be poorly convergent for values of x where abs(x) grows greater than 1.
More Answers (0)
See Also
Categories
Find more on Creating and Concatenating Matrices in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!