这是mathematica 8的错误吗?

时间:2012-11-12 10:19:47

标签: wolfram-mathematica integrate

Clear["Global`*"]
Integrate[t f[x, y], {y, 0, 1}] - 
  t Integrate[f[x, y], {y, 0, 1}] // FullSimplify

为什么M @知道结果为零?

1 个答案:

答案 0 :(得分:3)

这不是一个错误。由于您的f[x,y]没有定义,Mathematica无法假设有关被积函数的任何内容t f[x, y]

您可以制定规则来帮助Mathematica,如下所述。但是没有规则,Mathematica在这里做了正确的事。

之前已经讨论过很多地方。这是一些链接

https://groups.google.com/forum/#!msg/comp.soft-sys.math.mathematica/jsiYo9tRj04/rQYCy-X3SXQJ

https://mathematica.stackexchange.com/questions/5610/how-to-simplify-symbolic-integration

例如,您可以添加以下规则:

Clear["Global`*"]
Unprotect[Integrate];
Integrate[t_Symbol*f_,dom_]:=t*Integrate[f,dom];
Protect[Integrate];

现在它会给零

Simplify@Integrate[t f[x,y],{y,0,1}]-t Integrate[f[x,y],{y,0,1}]
(*--->  0 *)