如何在Mathematica中正确计算∞/∞?

xzh*_*zhu 1 wolfram-mathematica

我在Mathematica 8中尝试过以下代码:

f[z_] := (5 + 1/(z-a)) / ( 8 + 1/(z-a))

f[a]
Run Code Online (Sandbox Code Playgroud)

令人惊讶的是我收到了以下警告:

Power::infy: Infinite expression 1/0 encountered. >>
Power::infy: Infinite expression 1/0 encountered. >>
Infinity::indet: Indeterminate expression 0 ComplexInfinity encountered. >
Run Code Online (Sandbox Code Playgroud)

而输出是Indeterminate,我认为这不是真的,因为显然它是1.

奇怪的是,当我将代码更改为:

Simplify[(5 + 1/(z-a)) / ( 8 + 1/(z-a))] /. a -> z
Run Code Online (Sandbox Code Playgroud)

我得到了正确的输出1.这是为什么?我应该如何处理涉及∞/∞的表达式?

Dr.*_*ius 5

通常:

Limit[(5 + 1/(z - a))/(8 + 1/(z - a)), z -> a]
(*
-> 1
*)
Run Code Online (Sandbox Code Playgroud)

编辑

Direction如有必要,您还可以添加一个选项以限制来自任何一方的限制:

Limit[(5 + 1/(z - a))/(8 + 1/(z - a)), z -> a, Direction -> 1]
Run Code Online (Sandbox Code Playgroud)

要么

Limit[(5 + 1/(z - a))/(8 + 1/(z - a)), z -> a, Direction -> -1]
Run Code Online (Sandbox Code Playgroud)

编辑2

Simplify [](允许一些数学上不定表达式进行评估)的奇怪行为在帮助中有详细记载:

在此输入图像描述