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

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

4

1 回答 1

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 *)
于 2012-11-12T10:47:34.297 回答