4

如果有一个明显的答案,我事先道歉,我不是 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)]
4

4 回答 4

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)"
于 2012-01-19T01:00:55.883 回答
3

我不知道为什么会Simplify错过这个案例,但FullSimplify在这里提供帮助:

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

给出:

数学图形

于 2012-01-19T01:00:56.943 回答
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 的方法 usingDitribute似乎是获得所需内容的最简单方法,但是Collect[expr, list]可以通过订购列表来针对一般情况进行定制。在 Mathematica 中有许多函数,它们可能在各种情况下有所帮助。虽然Simplify并且FullSimplify可能更聪明一点,但他们可以做很多事情。您可以在下面找到他们不同行为的一个很好的例子:

在此处输入图像描述

我建议仔细查看一个简洁的演示,通常可以预期:使用 Mathematica 简化一些代数表达式

于 2012-01-19T01:11:34.413 回答
2

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

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

结果是

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

这就是我假设你想要的。

于 2012-01-19T06:43:52.733 回答