Taylor Series of e^x on point 1
3 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Panagiotis Panagopoulos Papageorgiou
le 27 Juin 2019
Réponse apportée : infinity
le 27 Juin 2019
Greetings,
I am trying to make my own script where I can approximate a function using a Taylor polynomial. However, when I try to use this method to the function e^x on point 1, I get this odd result:
(3060513257434037*x)/1125899906842624 + (3060513257434037*(x - 1)^2)/2251799813685248 + (3060513257434037*(x - 1)^3)/6755399441055744
Is there any way I can fix this? Thanks in advance!
Here's my code:
g = input('Please enter the function you want to approach as a Taylor series: ', 's');
p = input('Please enter the point around which the Taylor series will expand: ');
o = input('Please enter the order of the Taylor polynomial: ');
f = str2func(['@(x,y,z) ' g]);
F(1,1) = f(p);
for i = 1:o
syms x
f = matlabFunction(diff(f(x)));
F(i+1,1) = f(p);
end
syms x N
T = symsum((F(o,1)*(x-p)^N)/factorial(N), N, 0, o);
disp(T);
hold on
fplot(matlabFunction(T));
fplot(f);
hold off
0 commentaires
Réponses (1)
infinity
le 27 Juin 2019
Hello,
At least, I found a mistake in your program. Let see the line
T = symsum((F(o,1)*(x-p)^N)/factorial(N), N, 0, o);
The value of "F(o,1)" is not changed in the symsum since you told the function symsum that the variable is "N". To fix this, first you need to change "F(o,1)" to "F(N,1)".
0 commentaires
Voir également
Catégories
En savoir plus sur Calculus dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!