【问题标题】:Why can't Mathematica solve this definite integral?为什么 Mathematica 不能求解这个定积分?
【发布时间】:2012-01-01 10:22:43
【问题描述】:

当我尝试在 Mathematica 8 中计算以下积分时,我得到了这个奇怪的结果:

In[1]:= Integrate[y/((1 + x^2 + y^2)^(3/2)), {y, 0, 1}]

Maple 14 可以轻松解决这个问题:


为什么 Mathematica 会给我不同的结果?

【问题讨论】:

  • 在这两个示例中,您没有对相同的变量进行积分。请务必在 StackOverflow 上提出直接且可明确回答的问题,以获得好的答案。在这种情况下,您的意思是“如何使用 Mathematica 计算这个积分”??
  • 你是对的,我复制粘贴了错误的表达式。我更正了。
  • 致接近者:这是一个关于编程语言 Mathematica的完美主题问题。这不是数学/数学问题。

标签: wolfram-mathematica integral


【解决方案1】:

试试这个

r = Integrate[y/((1 + x^2 + y^2)^(3/2)), {y, 0, 1}]
r = Assuming[Element[x, Reals], Simplify[r]];
Together[r]

给了

(-Sqrt[1+x^2]+Sqrt[2+x^2])/(Sqrt[1+x^2] Sqrt[2+x^2])

这和枫树的一样:

【讨论】:

  • 非常感谢。我是否可以将此作为一般规则,当我得到一个带有实部和虚部的混淆条件表达式时,我使用假设 x=实数表达式?顺便说一句,mathematica 中的评估在我的机器上需要几秒钟,而在枫树中它会立即出现。此外,使用 FullSimplify 可以进一步简化结果,但是当我用 FullSimplify 替换您的假设表达式中的 Simplify 时,我得到的结果与使用 Simplify 相同。
  • @MartinKoller 您可以在文档中查找ConditionalExpression 以查找它是什么。它仅在某些假设为真时结果才有效时使用。如果x==I,那么 Maple 给出的结果就是不正确的。在这种情况下,Mathematica 可以检测到这一点,并生成结果有效的条件。如果您只对真正有价值的x 感兴趣,请在Integrate 函数内部Integrate[y/((1 + x^2 + y^2)^(3/2)), {y, 0, 1}, Assumptions -> x \[Element] Reals],它会更快。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-04-15
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多