2

sqrt(a^2+2*a+1)可以很容易地改写为|a+1|. 我想在最大值中执行此操作,但无法使其工作。虽然sqrt(a^2)被自动简化为|a|sqrt(a^2+2*a+1)但不是。并且radcan(sqrt(a^2+2*a+1))a+1,这是不正确的。无论如何在Maxima中得到正确的简化?

4

1 回答 1

1

是的。基本上,您只需要告诉 Maxima 更加努力地分解平方根的内部。例如:

(%i1) x: sqrt(a^2 + 2*a + 1);
                                    2
(%o1)                         sqrt(a  + 2 a + 1)
(%i2) factor(a^2 + 2*a + 1);
                                          2
(%o2)                              (a + 1)
(%i3) map (factor, x);
(%o3)                             abs(a + 1)
(%i4) 

这里的map意思是该函数factor应该应用于 的每个参数sqrt。发生的情况是您sqrt((a+1)^2)出现在途中,这会自动简化为abs(a+1).

请注意,radcan对于 的某些值,来自的答案是正确的a。据我了解,这就是所有radcan保证:它对于回答“哎呀!有更简单的方法来思考这个疯狂的表达吗?”很有用,但对于“嗯,我不确定其中的变量是什么”不是特别有用是。有更简单的形式吗?

于 2012-07-31T14:34:49.290 回答