sqrt(a^2+2*a+1)
可以轻松地重写为|a+1|
。我想在maxima中这样做,但是无法使其工作。虽然sqrt(a^2)
会自动简化为|a|
,但sqrt(a^2+2*a+1)
却不会。并radcan(sqrt(a^2+2*a+1))
给a+1
,这是不正确的。无论如何要在Maxima中进行正确的简化吗?
答案 0 :(得分: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
保证的全部内容:它对回答“Yikes来说是有用的!有没有更简单的方法来思考这个疯狂的表达?”,但对“嗯,我不确定”没有特别的帮助这是什么变量。是否有一个更简单的形式?“