MATLAB使用符号工具箱计算函数的5阶麦克劳林多项式的四种方法(附指定阶数、指定点的泰勒展开)


此篇博客是对MATLAB符号工具箱taylor的用法进行总结和拓展。
先通过两个具体的例子进行讲述:

1.MATLAB中使用符号工具箱计算exp(x)的5阶麦克劳林多项式

%计算exp(x)5阶麦克劳林多项式
>> syms x 
s = taylor(exp(x))
s = taylor(exp(x),'order',6)
s = taylor(exp(x),x,0,'order',6)
s = taylor(exp(x),'order',6,'ExpansionPoint',0)
%运行的结果均为:
s =
1 + x + x^2/2 + x^3/6 + x^4/24 + x^5/120

2.MATLAB中使用符号工具箱计算sin(x)的5阶麦克劳林多项式

%计算sin(x)5阶麦克劳林多项式
>> syms x
>> s = taylor(sin(x))
s = taylor(sin(x),'order',6)
s = taylor(sin(x),x,0,'order',6)
s = taylor(sin(x),'order',6,'ExpansionPoint',0)
%运行的结果均为:
s =
x^5/120 - x^3/6 + x

展开阶数:(展开越多阶数,图像越接近原式子)
要让我们展开多项式的图像更加接近sin(x),我们必须要让MATLAB返回更多项,假设我们要得到m项展开式,使用order命令,后面跟上想要展开的阶数m-1(m项)。我们知道,泰勒公式可以在任意一点展开,在零点处展开我们称为麦克劳林公式。

syms x
s = taylor(sin(x),x,0,'order',6)

还有一个问题是我们的泰勒展开式的阶数从高到低,这不是我们想要的,我们要让它从低到高,可以使用sympref命令:

sympref('PolynomialDisplayStyle','ascend');

同时,我们还可以使用命令’ExpansionPoint’在指定点展开。例如上述的两个例子当中,s1命令的意思就是在点x=0处,求解5阶泰勒展开式:

syms x
s1 = taylor(exp(x),'order',6,'ExpansionPoint',0)
s2 = taylor(sin(x),'order',6,'ExpansionPoint',0)

另附数学实验的一个题目和求解参考答案:(可以看到,最终的结果的阶数是从低到高的)
2.	使用符号工具箱计算函数 的6阶麦克劳林多项式

function y6=exe2_2
%计算y=1/(1+x^2)6阶麦克劳林多项式
syms x
y=1/(1+x^2);
y6=taylor(y,x,0,'order',7);
%展开式的阶数从低到高sympref('PolynomialDisplayStyle','ascend');
end

实验结果如下:
计算结果

y2 =
1 - x^2 + x^4 - x^6

参考博客:MATLAB与高等数学–泰勒展开

  • 7
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值