运行了下你的代码,语法上并没有问题,如下
检测代码:
clcclear all
close all
syms x
f1 = (exp(x)+exp(-x))/2;
r = taylor(f1,x,5,0);
disp(r);
输出效果
x^4/24 + x^2/2 + 1
请检查程序上下文,并设置断点单步执行检查中间变量的值是否与预期吻合
>> taylor(sym('exp(x)'),6)
ans =
1+x+1/2x^2+1/6x^3+1/24x^4+1/120x^5 从这里可以看出函数e^x的泰勒展开式,每一项是前面一项乘以x/n当x=1的时候,结果就是e的值了。所以可以这样编写程序 %%%%% 程序开始 %%%%%%%n=1; % 项序号
eps=1e-6; % 精度
e=1; x=1; a=1; % 赋初始值,e用来保存最后结果,x为自变量值,a为项
while a>eps
a=ax/n; % an=a(n-1)x/n
e=e+a; % 项累加
n=n+1;
end
format long g
e%%%%%% 程序结束 %%%%%%%% 运行结果:>>
e = 271828180114638>> exp(1)ans = 271828182845905>> exp(1)-eans = 273126610217389e-008 可见误差小于10^(-6)
统计学之家
首页统计工具MatlabMATLAB完成泰勒展开 *** 作的命令:taylor(f, n)命令
MATLAB完成泰勒展开 *** 作的命令:taylor(f, n)命令
2020年12月7日 发表评论
MATLAB完成泰勒展开 *** 作的命令:taylor(f, n)命令
taylor(f)命令只能求函数表达式f的6阶麦克劳林型泰勒展开式。如果求任意阶则要在taylor命令后补加求阶参数n,这样,求函数f的100阶泰勒展开式也没问题。
例题 求函数f=sin(x)+exp(x)tan(x)和g=exp(x)的10阶泰勒展开式。
输入程序如下:
>> syms x f
>> f=sin(x)+exp(x)tan(x);
>> taylor(f,10)
ans =
(1423x^9)/25920 + (19x^8)/240 + (19x^7)/140 + (71x^6)/360 + (7x^5)/20 + x^4/2 + (2x^3)/3 + x^2 + 2x
>> g=exp(x);
>> taylor(g,10)
ans =
x^9/362880 + x^8/40320 + x^7/5040 + x^6/720 + x^5/120 + x^4/24 + x^3/6 +x^2/2 + x + 1
需要matlab的符号引擎为maple
>> syms x y;f=(x^2-2x)exp(-x^2-y^2-xy);
>> F=maple('mtaylor',f,'[x,y]',8)
>> F=collect(F,x)
F =
1/3x^7+(y+1/2)x^6+(y-1+2y^2)x^5+(-1-2y+3/2y^2+7/3y^3)x^4+(2y^4-y+y^3-3y^2+2)x^3+(2y+1-y^2+y^5-2y^3+1/2y^4)x^2+(-2+1/3y^6-y^4+2y^2)x
多变量函数的Taylor展开
f(x1,x2,…xn)=f(a1,a2,…an)+
[(x1-a1)]f(a1,…,an)+
+…+
+…
其中,a1,…an为Taylor级数展开的中心点。为避免歧异,这里的式子应该理解为先对f函数求导,再取a1,a2,…an点的导函数值。Matlab没有直接提供计算函数,但可调用Maple语言中的mtaylor()函数直接求取。调用格式为:
F=maple(‘mtaylor’,f,’[x1,…,xn]’,k) 根据原点展开
F=maple(‘mtaylor’,f,’[x1=a1,…,xn=an]’,k) 根据(a1,…,an)展开
其中,k-1为展开的最高阶次,f为原多变量函数。注意,该函数调用时自变量的引号不能省略,该调用格式将原封不动的传递给Maple
直接使用taylor函数就行了
syms c x y a
y=c(1-asin(x))
y1=taylor(y,2,0)
这个得到的y1就是y在x=0处的二阶展开
c - acx
祝你学习愉快!
你把1/(1-x^2)^2 泰勒展开,然后给展开式乘以X就可以在展开1/(1-x^2)^2的时候,你可以换做展开1/(1-x)^2 然后再将x换成x^2就可以了1/(1-x)^2 应该很好展开了吧
一维函数的泰勒级数
1
taylor指令简介,现在我们就看一下matlab的帮助信息,如下托所示:
2
用符号工具包的taylor指令计算,具体的代码及计算结果如下图所示:
3
直接调用MuPAD引擎计算,具体的代码及计算结果如下图所示:
END
二维函数的泰勒级数
求sin(x^2+y)在x=0,y=0处的截断9阶小量的taylor展开近似。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)