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

时间:2011-07-09 04:16:59

标签: wolfram-mathematica

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

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

f[a]

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

Power::infy: Infinite expression 1/0 encountered. >>
Power::infy: Infinite expression 1/0 encountered. >>
Infinity::indet: Indeterminate expression 0 ComplexInfinity encountered. >

,输出为Indeterminate,我认为这不正确,因为显然它是1

当我将代码更改为:

时,有点奇怪
Simplify[(5 + 1/(z-a)) / ( 8 + 1/(z-a))] /. a -> z

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

的表达式

5 个答案:

答案 0 :(得分:5)

通常:

Limit[(5 + 1/(z - a))/(8 + 1/(z - a)), z -> a]
(*
-> 1
*)

修改

如果需要,您还可以添加Direction选项以获取来自任何一方的限制:

Limit[(5 + 1/(z - a))/(8 + 1/(z - a)), z -> a, Direction -> 1]

Limit[(5 + 1/(z - a))/(8 + 1/(z - a)), z -> a, Direction -> -1]

修改2

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

enter image description here

答案 1 :(得分:3)

不,∞/∞未定义。考虑2(∞/∞)=(2∞/∞)=∞/∞,如果∞/∞定义为1,可以按摩使1 = 2.

答案 2 :(得分:2)

Infinity不是一个数字,所以如果你将它视为一个数字,那么用它来操作是毫无意义的:

infinity + 1 = infinity
(infinity + 1) - infinity = infinity - infinity
1 = 0

除此之外,限制并不总是等于函数的值,这是Mathematica在给出错误时所暗示的。

答案 3 :(得分:1)

无穷大不一定等于无穷大。因此,您无法断言“无穷大/无穷大= 1”。

答案 4 :(得分:1)

将无穷大除以无穷大确实是不确定的。将f(x)/g(x)f倾向于无穷大的g限制可能会产生实际限制(或者可能不会)。在您的情况下,限制恰好是1。