matlab求泰勒展开式,可以用没粗taylor()函数求解。求解方式可以按下列步骤计算:
1、单变量函数的Taylor展开式
例1:求exp(x)的泰勒展开式
syms x
T1 = taylor(exp(x))
例坦棚2:求sin(x)/(x^2+4x+3)关于x=2的让察则泰勒展开的前三阶
syms x
f =sin(x)/(x^2+4*x+3)
T2 = taylor(f, x, 'Order', 3)
x=2
T2=eval(T2) %T2=-1.111
2、多变量函数的Taylor展开式
例1:求(x^2-2*x)exp(-x^2-y^2-x*y)关于原点的泰勒展开式
syms x y
f(x,y)=(x^2-2*x)*exp(-x^2-y^2-x*y)
F=taylor(f, [x,y], [0,0])%F=-exp(- x^2 - x*y - y^2)*(- x^2 + 2*x)
运行上述代码,可以得到结果。
1、首先启动matlab,在命令行窗口输入代码,这里求取下图所示的函数的泰勒级数展开。
2、然后在命令行窗口中输入如下代码。
3、可以从两条曲线图中看到,两条曲线在x=0附近接近,这主要是因配迹耐为该泰勒展开式是在x=0处展开的,并且看到在曲线图上方给出了泰勒展开式的表达式,可以看到该展开式的最高阶是5阶,这是默认情况。
4、下面修改命令,州禅让该泰勒级数在x=1处展开。培春命令修改为dy=taylor(y,x,1);其中y是符号表达式,x是自变量,1是展开的点。
5、最后查看线形图,如下图所示就修改完成了。
#include <枝差stdio.h>#include 碧做<math.h>
int main()
{
double i,x,k=-1,s=0
scanf("%lf",&x)
for(i=1abs(k)>=1e-4i++)
{k*=-x/is+=k}
printf("悔搭衡%.2f",s)
return 0
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)