Допустим, у нас есть такой термин, как 1/4 * x/sqrt(2) * x^2 / 2;
в Maxima. На выходе (без дальнейших изменений) он дает x^3/2^(7/2)
. Как я могу заставить выходной формат быть похожим на x^3/(8*sqrt(2))
с использованием квадратных корней, когда это возможно?
Как упростить условия с использованием квадратного корня в максимумах
Ответы (1)
(%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)
. В примере я использую «нулевую» функцию, чтобы предотвратить упрощение. Вы также можете рассмотреть функции box
и rembox
или оставить sq2
неопределенным.
person
slitvinov
schedule
29.03.2017
Отлично работает для примера с sqrt(2). Есть ли общий подход для всех sqrt (int)?
- person Nico; 04.04.2017