Python 用sympy计算多变量极限

Python 用sympy计算多变量极限,python,math,sympy,Python,Math,Sympy,如何在sympy中计算多变量限值 我试图找到下面等式的极限 exp=(x**2-64)*cos(1/(x-8)**2+(y-8)**2)x和y趋于8 我的代码如下所示: x,y=符号(“x-y”) exp=(x**2-64)*cos(1/(x-8)**2+(y-8)**2) 实验潜艇(x,8),潜艇(y,8) symphy正在返回0如果要计算限制,应使用limit而不是subs In [42]: (sin(x)/x).subs(x, 0) Out[42]: nan In [43]: (sin

如何在
sympy
中计算多变量限值

我试图找到下面等式的极限
exp=(x**2-64)*cos(1/(x-8)**2+(y-8)**2)
x和y趋于8

我的代码如下所示:

x,y=符号(“x-y”)
exp=(x**2-64)*cos(1/(x-8)**2+(y-8)**2)
实验潜艇(x,8),潜艇(y,8)

symphy
正在返回
0

如果要计算限制,应使用
limit
而不是
subs

In [42]: (sin(x)/x).subs(x, 0)
Out[42]: nan

In [43]: (sin(x)/x).limit(x, 0)
Out[43]: 1
注意,多变量限值通常没有很好的定义。您需要指定您想要接受限制的顺序,或者给出
x
y
之间的某种关系,因为限制取决于接受限制时
x
y
的方法
8
。在这样的情况下,这一点尤其重要,在这种情况下,有类似于cos(1/x**2)的东西,它在极限处提供了一个基本的奇点

In [44]: exp.limit(y, 8).limit(x, 8)
Out[44]: <-128, 128>

In [45]: exp.limit(x, 8).limit(y, 8)
Out[45]: 0
这对于
y
的任何值都是有效的结果,除了
8
。当
y
等于
8
时,按相反顺序取限值会给出
x
限值的结果


您想要哪一个或您是否真的想要其他东西取决于您的应用程序,因为对于所提出的问题没有唯一的答案。

仔细看,上面显示的
exp
的限制可能都应该为零。。。
In [64]: exp.limit(x, 8)
Out[64]: 0