作业帮 > 综合 > 作业

matlab 计算多项式的泰勒级数展开的各项系数

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/11/05 22:52:02
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(n)*x^n;其中n=1:100;如何求w呢;
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的时候计算的特别慢,
再答: 符号计算速度慢很正常的。