Transforming from Maclaurin to Taylor
1 vue (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Angus Wong
le 15 Mai 2020
Modifié(e) : Angus Wong
le 15 Mai 2020
I have a polynomial function in terms of x, in which the highest power never exceeds 6. This function will look like a Maclaurin Series with finite terms. How to tell Matlab to rewrite this function into a Taylor one, which will express the function in terms of (x-a), where a is a real, positive number?
E.g. Original function: f(x)=x^3+x^2+x+1
Transformed functions:
If a=1, g(x)=(x-1)^3+4*(x-1)^2+6*(x-1)+4
if a=2, g(x)=(x-2)^3+7*(x-2)^2+17*(x-2)+15
and etc.
I tried using rem but it returned an error message, saying that f(x) must be a real value in order to use rem.
0 commentaires
Réponse acceptée
William Alberg
le 15 Mai 2020
If i understand correctly, your code looks something like this:
syms x
f(x) = x^3 + x^2 + x +1
f(x-1)
f(x-2)
And you want to expand the expressions. This can be done with the expand command:
expand(f(x-1))
>> x^3 - 2*x^2 + 2*x
expand(f(x-2))
>> x^3 - 5*x^2 + 9*x - 5
3 commentaires
William Alberg
le 15 Mai 2020
Ahh, I completely misunderstood that!
I dont know how to achieve that, since matlab dont like the "k*(x-a)^1" part, and will rewrite it. I can however get the correct "k*(x-a)^n" for n > 1
My (not complete) solution is this:
f(x) = x^3 + x^2 + x +1;
a = 1;
temp = expand(subs(f(x),x,y + a))
g(x) = subs(temp,y,x-a)
>>6*x + 4*(x - 1)^2 + (x - 1)^3 - 2
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Matrix Indexing 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!