假设我们在千里马中有一个像1/4 * x/sqrt(2) * x^2 / 2;
这样的术语。
作为输出(没有进一步修改),它给出了x^3/2^(7/2)
。
如何尽可能强制输出格式与x^3/(8*sqrt(2))
一样使用平方根?
答案 0 :(得分:0)
(%i1) sq2: " "(sqrt(2))$
(%i2) matchdeclare(n, lambda([n], oddp(n) and n#1))$
(%i3) defrule(r_sq2, 2^(n/2), sq2*2^((n-1)/2)) $
(%i4) e: 1/4 * x/sqrt(2) * x^2 / 2;
3
x
(%o4) ----
7/2
2
(%i5) apply1(e, r_sq2);
3
(sqrt(2)) x
(%o5) -------------
16
规则可以帮助插入sqrt(2)
。在示例中,我使用" null"功能,以防止简化。您还可以考虑使用box
和rembox
函数,或保留sq2
未定义。