这是一个关于枫产生未定义错误的问题。
下面的代码应该给出结果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))
然后枫木返回无穷大。
这些都不正确。
任何人都可以向我解释为什么会这样吗? 我认为其他人可能会遇到类似的问题,因为这是一个简单的枫树程序。但它给人一种令人困惑的结果。
答案 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 是有原因的!