Maple - 为非常简单和可能的集成返回undefined undefined

时间:2012-11-24 20:14:03

标签: maple

这是一个关于枫产生未定义错误的问题。

下面的代码应该给出结果0,但是枫子选择将它标记为“未定义”。

(nj*(nj-1))*(int(N^(ni+nj-2),N=-1..1));
ni:=0;  nj:=0;

由于nj = 0,你可以清楚地看到即使在积分之前,答案也是0 x积分。

积分是可以做的,手工做它可以让你(-1 / N)在1和-1之间进行评估 所以用(-1/1) - ( - 1 / -1)代入-1-1 = -2)。

总体答案由0x-2给出,即0。

Maple返回未定义

但是,如果你采用该代码的一个小节(只是整数)

 (int(N^(ni+nj-2),N=-1..1)) or even (int(N^(-2),N=-1..1))

然后枫木返回无穷大

这些都不正确。

任何人都可以向我解释为什么会这样吗? 我认为其他人可能会遇到类似的问题,因为这是一个简单的枫树程序。但它给人一种令人困惑的结果。

1 个答案:

答案 0 :(得分:1)

正如评论中已经分享的那样,0次无穷大是未定义的,参见例如Why is infinity multiplied by zero not an easy zero answer

为了让你的Maple表尽可能完整,你可以在代码中包含if语句,这很容易

if nj = 0 then
 #do something
end if;

但是,你应该总是检查你是否在数学上做正确的事情,因为Maple输出 Undefined 是有原因的!