Mathematica 8.0,明显的简化错过了,为什么?

时间:2012-01-19 00:52:51

标签: wolfram-mathematica simplify

如果有明显的答案我事先道歉,我不是Mathematica的用户,但我正在使用借来的笔记本电脑,这就是我目前可用的东西。 出于某种原因,SimplifyFullSimplify缺少明显的简化,例如:

Simplify[1/2 (2/5 (x - y)^2 + 2/3 z)]

收率:

1/2 (2/5 (x - y)^2 + (2 z)/3)

出于某种原因,它没有摆脱1/2因素,自己尝试一下!

当然我可以手动完成,但我有更大的表达同样的问题。

我错过了什么吗?

PS:这台笔记本电脑有Mathematica 8.0

编辑FullSimplify适用于上一个示例,但不适用于

FullSimplify[1/2 (2 (x - y)^2 + 2/5 (y - z)^2)]

4 个答案:

答案 0 :(得分:4)

FullSimplify适合我:

In[693]:= Simplify[1/2 (2/5 (x - y)^2 + 2/3 z)]

Out[693]= 1/2 (2/5 (x - y)^2 + (2 z)/3)

In[694]:= FullSimplify[1/2 (2/5 (x - y)^2 + 2/3 z)]

Out[694]= 1/5 (x - y)^2 + z/3

In[695]:= $Version

Out[695]= "8.0 for Mac OS X x86 (64-bit) (October 5, 2011)"

答案 1 :(得分:3)

我不知道为什么Simplify错过了这种情况,但FullSimplify在这里有所帮助:

FullSimplify[1/2 (2/5 (x - y)^2 + 2/3 z)]

给出:

Mathematica graphics

答案 2 :(得分:3)

有时Collect可能更合适:

 In[1]:= Collect[1/2 (2/5 (x - y)^2 + 2/3 z), {z}]

 Out[1]= 1/5 (x - y)^2 + z/3

修改

In[2]:= Collect[1/2 (2 (x - y)^2 + 2/5 (y - z)^2), {x - y, y - z}]

Out[2]= (x - y)^2 + 1/5 (y - z)^2

在这种特殊情况下,Verbeia使用Ditribute的方法似乎是获得所需内容的最简单方法,但Collect[expr, list]可通过排序列表来自定义通用案例。在Mathematica中有许多功能,这可能有助于各种情况。虽然SimplifyFullSimplify可能会更聪明,但他们可以做很多事情。他们可能会在下面找到他们不同行为的一个很好的例子:

enter image description here

我建议仔细观​​察一下人们可能期望的整洁演示:Simplifying Some Algebraic Expressions Using Mathematica

答案 3 :(得分:2)

对于您的第二个示例,Distribute有效:

Distribute[1/2 (2 (x - y)^2 + 2/5 (y - z)^2)]

结果

  (x - y)^2 + 1/5 (y - z)^2  

这就是我想你想要的。