为什么在 Python 的 Sympy.limit 中结果会不同?

4
我想它们在Python/Sympy中是相等的:

我猜它们在Python/Sympy中是相等的:

from sympy import *

x = Symbol('x')

limit(sin(x)/x,x,0)

#(result 1)

limit(sin(1/x)*x,x,00)

#(result 0 !!!)

实际上,让y = 1/x,极限(sin(1/x)*x,x,00) = 极限(sin(y)/y,y,0),对吗?
(在anaconda 64位、ipython笔记本、python 2.7、sympy0.7.6中)

不,这是一个数学答案而不是Pythonic。根据您的定义,当x趋近于0时,y将趋近于1。我认为这就是区别所在。 - Tom Ron
1
http://www.math.washington.edu/~conroy/general/sin1overx/(或者你是指无穷大?那应该是“oo”而不是“00”) - hiro protagonist
你是对的。应该是oo而不是00。非常感谢。 - sodis
2个回答

4
尽量使用oo(oo为无限大)而不是00。

3
更精确地说,使用sympy.oo
import sympy as sym
from IPython.display import display,Math
fx = (1+1/x)**x
lim_pnt = sym.oo
lim = sym.limit(fx,x,lim_pnt)

display(Math('\\lim_{x\\to %s} %s = %s' %(lim_pnt,sym.latex(fx),sym.latex(lim))))

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接