如果有明显的答案我事先道歉,我不是Mathematica的用户,但我正在使用借来的笔记本电脑,这就是我目前可用的东西。
出于某种原因,Simplify
和FullSimplify
缺少明显的简化,例如:
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)]
答案 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)]
给出:
答案 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中有许多功能,这可能有助于各种情况。虽然Simplify
和FullSimplify
可能会更聪明,但他们可以做很多事情。他们可能会在下面找到他们不同行为的一个很好的例子:
我建议仔细观察一下人们可能期望的整洁演示: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
这就是我想你想要的。