fsolve en MATLAB: lo que necesita saber
Tabla de contenido
- ¿Qué es ‘fsolve’ en MATLAB?
- ¿Qué es un sistema de ecuaciones no lineales?
- ¿Cómo resolver ecuaciones no lineales en MATLAB usando el comando ‘ fsolve ‘?
- Conclusión
- Referencias
¿Qué es ‘fsolve’ en MATLAB?
‘fsolve’ es una función incorporada en MATLAB para resolver el sistema nxn de ecuaciones no lineales sin mostrar iteraciones. La función a resolver debe ser una función continua y ‘fsolve’ solo da una raíz.
¿Qué es un sistema de ecuaciones no lineales?
Definición
Un sistema de ‘n’ (n> 0) número de ecuaciones que tiene ‘n’ número de variables en las que al menos una ecuación no es lineal, es decir, su solución no debe trazar un gráfico lineal. En otras palabras, la forma estándar de ecuación lineal es:
C1x + C2y + C3 = 0
Cualquier ecuación que no se pueda escribir de esta forma será una ecuación no lineal.
Descripción
Supongamos:
y = f (x)% ‘y’ es una función de ‘x’.
En la ecuación no lineal, ‘x’ no es directamente proporcional a ‘y’ y el gráfico no es lineal. Puede ser una parábola, círculo, hipérbola, curva, etc.
Toma un ejemplo:
Código MATLAB:
x = 0: pi / 100: 2 * pi;
y = sen(x);
plot (y)
Se puede ver una onda sinusoidal en la figura 1 que no es lineal.
¿Cómo resolver ecuaciones no lineales en MATLAB usando el comando ‘ fsolve ‘?
Podemos resolver el sistema no lineal nxn en MATLAB usando un comando incorporado “fsolve” sin mostrar iteraciones.
Pasos para resolver ecuaciones no lineales en MATLAB
Los siguientes son los pasos para resolver cualquier ecuación no lineal usando el comando ‘fsolve’ en MATLAB:
- Toma un ejemplo:
F (x, y) = 2x – y – e -x
G(x,y) = 2y – x2 – e-y
- Haga una función de la ecuación en el editor de MATLAB y guárdela en la ubicación conocida.
función F = ftn_fsolve_example (X)
x = X (1);
y = X(2);
f = 2 * xy-exp (-x);
g = 2 * xx. ^ 2-exp (-y);
F = [f; g];
% Alternativamente, puede hacer lo siguiente. Es más compacto, pero más duro.
% read;
% F = [2 * X (1) – X (2) – exp (-X (1)); -X (1). ^ 2 + 2 * X (2))];
End
- Escriba un código que llame a la función ‘fsolve’ en el nuevo script.
Ejemplo de% script fsolve
a = @ftn_fsolve_example;
X0 = [1; 1]; % estimación inicial
X = fsolve (a, X0);
disp (X);
- La salida se mostrará como:
Si no queremos la salida en forma descriptiva, podemos introducir una tercera variable en el código MATLAB llamada “opciones”.
opciones = optimset (‘display’, ‘off’);
Ahora la salida se mostrará así:
Conclusión
El comando ‘fsolve’ en MATLAB es bastante útil para resolver las raíces de ecuaciones no lineales sin iteraciones. La función a resolver debe ser una función continua y ‘fsolve’ solo da una raíz.
Referencias
http://www.mathworks.com