MATLAB与高等数学

您所在的位置:网站首页 多项式展开公式计算例题 MATLAB与高等数学

MATLAB与高等数学

2024-07-14 15:12| 来源: 网络整理| 查看: 265

函数的泰勒展开 基本知识

假如我们要得到sin(x)的泰勒展开式,输入以下命令:

>> syms x; >> s = taylor(sin(x))

结果:

s = x^5/120 - x^3/6 + x

虽然看似MATLAB只返回了3项,但实则返回了5项,因为MATLAB只返回非零项。 现在我们绘制图像:1

展开阶数

要让我们展开多项式的图像更加接近sin(x),我们必须要让MATLAB返回更多项,假设我们要得到m项展开式,使用order命令,后面跟上想要展开的阶数:

s = taylor(sin(x),'order',m);

我们试一下前20项:

syms x; s = taylor(sin(x),'order',10) s = - x^19/121645100408832000 + x^17/355687428096000 - x^15/1307674368000 + x^13/6227020800 - x^11/39916800 + x^9/362880 - x^7/5040 + x^5/120 - x^3/6 + x

图像: 2

这次的图像比上次光滑。 还有一个问题是我们的展开式的阶数是从高到低,这不是我们想要的,我们要让它从低到高,可以使用sympref命令:

sympref('PolynomialDisplayStyle','ascend'); s = x - x^3/6 + x^5/120 - x^7/5040 + x^9/362880 - x^11/39916800 + x^13/6227020800 - x^15/1307674368000 + x^17/355687428096000 - x^19/121645100408832000 在何处展开

如我们所愿,阶数从低到高了。 我们知道,泰勒公式可以在任意一点展开,在零点处展开我们称为麦克劳林公式。 所以,我们还可以使用命令'ExpansionPoint'在指定点展开

s = taylor(sin(x),'order',20,'ExpansionPoint',1) s = sin(1) - (sin(1)*(- 1 + x)^2)/2 + (sin(1)*(- 1 + x)^4)/24 - (sin(1)*(- 1 + x)^6)/720 + (sin(1)*(- 1 + x)^8)/40320 - (sin(1)*(- 1 + x)^10)/3628800 + (sin(1)*(- 1 + x)^12)/479001600 - (sin(1)*(- 1 + x)^14)/87178291200 + (sin(1)*(- 1 + x)^16)/20922789888000 - (sin(1)*(- 1 + x)^18)/6402373705728000 + cos(1)*(- 1 + x) - (cos(1)*(- 1 + x)^3)/6 + (cos(1)*(- 1 + x)^5)/120 - (cos(1)*(- 1 + x)^7)/5040 + (cos(1)*(- 1 + x)^9)/362880 - (cos(1)*(- 1 + x)^11)/39916800 + (cos(1)*(- 1 + x)^13)/6227020800 - (cos(1)*(- 1 + x)^15)/1307674368000 + (cos(1)*(- 1 + x)^17)/355687428096000 - (cos(1)*(- 1 + x)^19)/121645100408832000


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3