Una sencilla ecuación algebraica de primer grado.
(%i1) solve(3*(x-6)/4 - (3-5*x)/9 - 6 = x/7 + 3); 3486 (%o1) [x = ----] 293
Una ecuación de segundo grado, con dos soluciones reales.
(%i2) solve(-x^2 + 15*x = 54); (%o2) [x = 6, x = 9]
Ahora un sistema de dos incógnitas. Fíjate que tienes que introducir la lista de ecuaciones y luego la lista de variables.
(%i3) solve([u-5*v=-26, u-v=-46], [u,v]); (%o3) [[u = - 51, v = - 5]]
Cuando hay una sola incógnita, no necesitas indicarle a Maxima cuál es, a menos que haya un parámetro literal; en tal caso es imperativo decirle cuál es la incógnita a despejar.
(%i4) solve(2*x+(x-9)/8 = a/7, x); 8 a + 63 (%o4) [x = --------] 119
Podemos utilizar solve para despejar magnitudes en fórmulas físicas, como aquí, que nos planteamos despejar la resistencia R1. Respecto de este ejemplo, recuerda que el símbolo de procentaje % se utiliza para hacer referencia al último resultado devuelto por Maxima.
(%i5) 1/Rt = 1/R1 + 1/R2; 1 1 1 (%o5) -- = -- + -- Rt R2 R1 (%i6) solve(%, R1); Rt R2 (%o6) [R1 = -------] R2 - Rt
Otra aplicación de solve es calcular la función inversa de otra dada.
La función psubst que se utiliza al final hace sustituciones de variables en paralelo.
(%i7) y = (x+5)/(3*x+1); x + 5 (%o7) y = ------- 3 x + 1 (%i8) solve(%, x); y - 5 (%o8) [x = - (-------)] 3 y - 1 (%i9) /* extraigo el resultado de la lista de soluciones */ first(%); y - 5 (%o9) x = - (-------) 3 y - 1 (%i10) /* cambio de nombre las variables */ psubst([x=y, y=x], %); x - 5 (%o10) y = - (-------) 3 x - 1