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

 Akzeptierte Antwort

Ameer Hamza
Ameer Hamza am 30 Dez. 2020
Bearbeitet: Ameer Hamza am 30 Dez. 2020

1 Stimme

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 Kommentare

John D'Errico
John D'Errico am 31 Dez. 2020
Please don't use answers just to make a comment. Moved answer into a comment:
Dear Mr. Hamza,
I appreciated your hint on the Taylor expansion calculation. The calculation with the code provided works fine for the integer value 1, 2 and so on. However, I was actually interested in the exponent with real number, i.e., exp(x^2.5). This calculation gives:
Warning: Imaginary parts of complex X and/or Y arguments ignored.
Plotting the real part as real(Taylor_p2) avoids the warning, which is clear. In addition, the plot gives negative function value when x > -1.0. Do you think negative function value is mathematically correct or Matlab is doing some trick or bug is ran?
Thank you again and wish you a great year ahead.
Best regards,
Bhattarai
John D'Errico
John D'Errico am 31 Dez. 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.
aroj bhattarai
aroj bhattarai am 1 Jan. 2021
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

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Mathematics finden Sie in Hilfe-Center und File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by