MATLAB多元函数的完全泰勒展开命令:taylor(f, a)命令
在命令taylor中,所有操作均是对表达式的一个变量进行展开,而把其他变量当作常数。而当函数不只含有一个变量时,taylor命令就无法处理。
现在介绍一个能将n元函数做完全泰勒展开的命令——mtaylor。
其格式为:
mtaylor(f, v)
mtaylor(f, v, n)
mtaylor(f, v, n, w)
其中参数具体含义如下。
f:待完全展开的代数表达式。
v:式中变量名列表格式为:[var1=p1, var2=p2, …, varn=pn]。
根据列表中的变量名和值,泰勒展开将在点(p1, p2, …, pn)处进行。当列表中的元素vari只有变量名时,系统将默认其值为0。
n:非负整数,用于设定展开阶数。
w:与变量名列表同维的正整数列表,用于设置相应变量在展开时的权重。
另外,命令mtaylor并不在MATLAB的符号运算工具箱的命令列表中,它是MAPLE符号运算函数库中的命令。因此调用这个命令的方法不同以前,首先,要将命令mtaylor由MAPLE的函数库读入工作空间,然后将用到专用于调用MAPLE“引擎”函数maple。因此,在MATLAB内使用完全泰勒展开命令mtaylor的格式为:
maple('readlib(mtaylor)')
maple('mtaylor(f, v, n, w)')
例5.27 在(x0,y0,z0)处将F=sin(x,y,z)进行2阶taylor展开。
在命令窗口输入:
syms x0 y0 z0
maple('readlib(mtaylor)');
maple('mtaylor(sin(x*y*z),[x=x0,y=y0,z=z0],2)')
则显示结果为:
ans =
sin(x0*y0*z0)+cos(x0*y0*z0)*y0*z0*(x-x0)+cos(x0*y0*z0)*x0*z0*(yy0)+cos(x0*y0*z0)*x0*y0*(z-z0)