matlab 计算多项式的泰勒级数展开的各项系数
多项式为y=(11/6-3*x+3/2*x^2-1/3*x^3)^a;其中a为变量,现在对y进行泰勒级数展开,y=w(0)+w(1)*x+w(2)*x^2+....+w(...
多项式为 y=(11/6-3*x+3/2*x^2-1/3*x^3)^a;其中a为变量,现在对y进行泰勒级数展开,y=w(0)+w(1)*x+w(2)*x^2+....+w(n)*x^n;其中n=1:100;如何求w呢;
展开
2个回答
展开全部
clear;clc;
syms x a;
m=5;%自己改
y=(11/6-3*x+3/2*x^2-1/3*x^3)^a
f=taylor(y,m+1,x);
w=sym(zeros(m+1,1));
w(1)=subs(f,x,0);
f=f-w(1);
for n=m:-1:2
w(n+1)=subs(f-subs(f,x^n,0),x^n,1);
f=f-w(n+1)*x^n;
end
w(2)=subs(f,x,1)
注意,因为matlab数组下标从1开始,因此我这里w(1)是常数项,w(2)是一次项,以此类推,即
y=w(1)+w(2)*x+w(3)*x^2+....+w(m+1)*x^m
追问
这样的话当m很大时,会计算的很慢啊,m=40的时候计算的特别慢,
追答
符号计算速度慢很正常的。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询