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中得到正确的简化?
问问题
805 次
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 回答