如何用SymPy的series函数求解多元函数的泰勒级数?
使用SymPy求解多元函数的泰勒级数
要在SymPy中求解多元函数的泰勒级数,可通过对每个变量依次调用series函数实现(SymPy的series默认支持单变量展开,链式调用即可完成多变量展开),以下是具体步骤和示例:
基础示例:多项式函数展开
以你给出的函数 ( f(x,y) = x^3 + xy - 2y^2 ) 为例,在原点 ((0,0)) 处展开到3阶:
import sympy as sp # 定义符号变量 x, y = sp.symbols('x y') # 定义目标函数 f = x**3 + x*y - 2*y**2 # 对x在0处展开到3阶,移除余项后再对y做同样操作 taylor_series = f.series(x, 0, 3).removeO().series(y, 0, 3).removeO() # 输出结果 print(taylor_series)
运行结果为:( x^3 + x y - 2 y^2 )(由于原函数本身是3阶多项式,展开结果与原函数一致)
进阶示例:超越函数展开
对于更复杂的超越函数,比如 ( f(x,y) = e^{x+y} ),在原点 ((0,0)) 处展开到4阶:
import sympy as sp x, y = sp.symbols('x y') f = sp.exp(x + y) # 链式展开并移除余项 taylor_series = f.series(x, 0, 4).removeO().series(y, 0, 4).removeO() print(taylor_series)
运行结果为:
( 1 + x + y + \frac{x^2}{2} + x y + \frac{y^2}{2} + \frac{x^3}{6} + \frac{x^2 y}{2} + \frac{x y^2}{2} + \frac{y^3}{6} + \frac{x^4}{24} + \frac{x^3 y}{6} + \frac{x^2 y^2}{4} + \frac{x y^3}{6} + \frac{y^4}{24} )
关键说明
series(var, point, order):参数分别为待展开的变量、展开点、展开阶数(阶数指最高次项的次数)removeO():用于移除展开式中的余项符号 ( O(\cdot) ),仅保留具体的展开项- 若需在非原点(如 ((a,b)))处展开,只需将
series中的point参数替换为对应数值即可,例如在 ((1,2)) 处展开:taylor_series = f.series(x, 1, 3).removeO().series(y, 2, 3).removeO()
内容的提问来源于stack exchange,提问作者DGM
相关产品推荐
相关产品推荐

