Resolución de Ecuaciones en Matlab
Te explicaré cómo resolver ecuaciones utilizando Matlab, un proceso que es más sencillo de lo que parece. Comencemos.
Existen dos enfoques distintos para resolver ecuaciones en Matlab. El primero se basa en el uso de polinomios y el segundo, en el cálculo simbólico.
Función roots()
Iniciemos con la función roots(), diseñada para encontrar las raíces de un polinomio.
roots(P)
Lo único que necesitas es proporcionar los coeficientes numéricos de la ecuación como parámetro P.
¿Qué son las raíces? Corresponden a los valores de la variable desconocida x que intersectan el eje x, igualando a cero ambos lados de la ecuación.
Veamos un ejemplo práctico:
Consideremos una ecuación de segundo grado con una variable desconocida:
$$ x^2 + 3x = 4 $$
Primero, transformamos la ecuación a una forma equivalente:
$$ x^2 + 3x -4 = 0 $$
Los coeficientes numéricos de x son 1, 3 y -4, que plasmamos en un arreglo en orden descendente de grado: [1 3 -4].
>> P = [1 3 -4];
Recuerda, si falta algún coeficiente, debes añadir un cero en su lugar.
Para hallar las soluciones de la ecuación, empleamos la función roots():
>> roots(P)
Esto nos proporciona las raíces de la ecuación, que en nuestro ejemplo son -4 y 1.
ans =
-4
1
Para comprobar las soluciones, podemos recurrir a la función polyval().
>> polyval(P,roots(P))
ans =
0
0
Al introducir polyval([1 3 -4], roots([1 3 -4])), obtenemos [0 0], lo que confirma que ambos valores de x son soluciones válidas de la ecuación.
Verificación. Examina la primera solución sustituyendo x=-4 en la ecuación. $$ x^2 + 3x -4 = 0 $$ $$ (-4)^2 + 3 \cdot (-4) -4 = 0 $$ $$ 16 -12 -4 = 0 $$ $$ 0 = 0 $$ Ahora, verifica la segunda solución con x=1. $$ x^2 + 3x -4 = 0 $$ $$ 1^2 + 3 \cdot 1 -4 = 0 $$ $$ 1 + 3 -4 = 0 $$ $$ 0 = 0 $$ Ambas soluciones son correctas.
¿Qué sucede si la ecuación no tiene soluciones reales?
En esos casos, roots() nos ofrecerá las soluciones complejas de la ecuación.
Por ejemplo, en una ecuación de cuarto grado x4+3x2-2x+1=0:
$$ x^4 + 3x^2 - 2x +1 = 0 $$
Utilizando roots([1 0 3 -2 1]) hallaremos soluciones en números complejos.
>> roots([1 0 3 -2 1])
No te preocupes, roots() proporciona las respuestas correctas, incluso cuando estas no son números reales.
ans =
-0.34975 + 1.74698i
-0.34975 - 1.74698i
0.34975 + 0.43899i
0.34975 - 0.43899i
Función solve()
Matlab cuenta con una herramienta práctica denominada "solve()" para resolver ecuaciones simbólicas.
solve(eqz)
Esta función es sumamente útil. Simplemente debes introducir la ecuación simbólica que deseas resolver como parámetro en solve().
Para resolver una ecuación, es necesario emplear cálculo simbólico, definiendo las variables desconocidas como símbolos, estableciendo la ecuación simbólica y utilizando luego solve() para encontrar las soluciones.
Veamos un ejemplo:
Supongamos una ecuación de segundo grado con una incógnita:
$$ x^2 + 3x = 4 $$
Para resolverla con solve(), primero la transformamos a su forma normal trasladando todos los términos al lado izquierdo:
$$ x^2 + 3x - 4 = 0 $$
Luego, definimos la variable desconocida como una variable simbólica mediante la función "syms".
>> syms x
A continuación, establecemos la ecuación simbólica y la asignamos a la variable "eqz".
>> eqz = x^2+3*x-4
Finalmente, utilizamos solve() para encontrar las soluciones de la ecuación.
>> solve(eqz)
¡Listo! La función solve() nos proporciona las soluciones, que en este caso son x1=-4 y x2=1.
ans=
-4
1
Es relevante destacar que solve(), junto con el cálculo simbólico, permite resolver ecuaciones con dos o más incógnitas, convirtiéndose en una herramienta poderosa para la resolución de ecuaciones de cualquier grado en Matlab.