Newton-Raphson para Sistemas No Lineales

Aproximación Multivariable mediante Matrices Jacobianas

1. Arquitectura del Algoritmo (Pseudocódigo)

$$ J(X^{(k)}) \Delta X^{(k)} = -F(X^{(k)}) \quad \Rightarrow \quad X^{(k+1)} = X^{(k)} + \Delta X^{(k)} $$
Leer X0, Tol, MaxIter Define el vector de aproximación inicial [x0, y0], la tolerancia y las iteraciones límites.
X = X0 Inicializa el vector de variables dinámicas del sistema.
Para k desde 1 hasta MaxIter Hacer: Ciclo iterativo principal para la aproximación de la raíz numérica.
F_val = EvaluarSistema(X) Evalúa el set de funciones no lineales: f1(x,y) y f2(x,y).
J = EvaluarJacobiano(X) Calcula analíticamente la matriz de derivadas parciales en el punto actual.
DetJ = J[1,1]*J[2,2] - J[1,2]*J[2,1] Obtiene el determinante para invertir simbólicamente la matriz de dimensión 2x2.
Si (|DetJ| < 1e-12) Entonces Error("Jacobiano Singular") Previene indeterminaciones matemáticas si las derivadas tienden a cero.
// Solución directa del sistema lineal: J * DX = -F
DX[1] = (-F_val[1]*J[2,2] + F_val[2]*J[1,2]) / DetJ Aplica la Regla de Cramer para hallar el incremento espacial Δx.
DX[2] = (-J[1,1]*F_val[2] + J[2,1]*F_val[1]) / DetJ Aplica la Regla de Cramer para hallar el incremento espacial Δy.
X_nuevo = X + DX Actualiza el vector solución sumando los diferenciales calculados.
NormaError = MaximoAbsolute(DX) Establece la norma del paso como criterio estricto de parada.
Si (NormaError < Tol) Entonces Salir Ciclo Finaliza exitosamente al romper el umbral de tolerancia.
X = X_nuevo Prepara el vector para el siguiente ciclo del algoritmo.
Fin Para
Mostrar X

2. Simulador de Sistemas No Lineales

Sistema No Lineal Cargado de Forma Nativa:

$$ f_1(x, y) = x^2 + y^2 - 4 = 0 \quad \text{(Circunferencia)} $$ $$ f_2(x, y) = e^x + y - 1 = 0 \quad \text{(Exponencial)} $$
Raíz Encontrada (x*, y*)
--
Iteraciones Totales
--
Error de Cierre Residual
--
Espacio Bidimensional de Intersección de Curvas
Historial del Perfil de Convergencia (Error)