使用MATLAB计算多项式的泰勒级数展开系数

PHPz
发布: 2024-01-23 13:39:15
转载
2822人浏览过

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

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

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

matlab如何解待定系数的问题

【1】把函数变形

>>f=sym('2*x^3+3*x^2+21*x+4-(3*a*x^3+b*x^2+c*x+d)=0')

f =

2*x^3+3*x^2+21*x+4-(3*a*x^3+b*x^2+c*x+d)=0

【2】用collect合并同类项

>>ff=collect(f):

(2-3*a)*x^3+(3-b)*x^2+(21-c)*x+4-d = 0

【3】用maple提取多项式系数,如果很多,可以用循环语句。

>>c3=maple('coeff',ff,x,3)

c3 =2-3*a

>>c1=maple('coeff',ff,x,1)

c1 =21-c

>>c2=maple('coeff',ff,x,2)

c2 =3-b

>>c0=maple('coeff',ff,x,0)

c0 =4-d

补充:

这次变成这样,程序倒是通了,我不是很满意,咱们共同把它整理好,如何?

syms a b c d x

%【1】把函数变形

f=sym('2*x^3+3*x^2+21*x+4-(3*a*x^3+b*x^2+c*x+d)')

N=3;

for i=0:N

temp=maple('coeff',f,x,N-i);

cp(1,i+1)={temp};

end

celldisp(cp);

再补充:这次总算是解决了,就是看起来很笨,不是很理想,凑合着用,当然我相信可以修改的很漂亮。

syms a b c d x

f=sym('2*x^3+3*x^2+21*x+4-(3*a*x^3+b*x^2+c*x+d)')

N=3;

for i=0:N

temp=maple('coeff',f,x,N-i);

temp1(i+1)=temp;

end

cp=temp1

a=solve(cp(1)), b=solve(cp(2)), c=solve(cp(3)), d=solve(cp(4))

运行结果:

a =2/3

b =3

c =21

d =4

多项式Px anxn an1xn1 a1x a0的值的函数式M文件用

首先,多项式是动态的,所以这必须是matlab的输入项;

其次,多项式的matlab表达要清楚,是将多项式降幂排列后提取其系数来表示该多项式的-n次多项式用n+1维向量表示;比如多项式 3*x^2 + 5 在matlab中的表示为 [3 0 5];

最后,多项式函数值的matlab法要明白,就是命令polyval。

综合上述,M文件如下:

function val = fpolyval(p,x)

% 函数 fpolyval 功能:多项式 p 在 x 处的函数值 val.

% 输入项 p 是多项式按降幂排列后的系数;

val = polyval(p,x);

比如:3*x^2 + 5在x=1,2处的值

>>p=[3 0 5];

>>x=[1 2];

>>val=fpolyval(p,x)

val =

8 17

以上就是使用MATLAB计算多项式的泰勒级数展开系数的详细内容,更多请关注php中文网其它相关文章!

最佳 Windows 性能的顶级免费优化软件
最佳 Windows 性能的顶级免费优化软件

每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。

下载
相关标签:
来源:Excel办公网网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号