Está en la página 1de 56

CAPÍTULO 7

Sistemas de
ecuaciones no
lineales
Definición

Un sistema de ecuaciones es un conjunto de dos o


más ecuaciones que comparten dos o más incógnitas.
Las soluciones de un sistema de ecuaciones son todos
los valores que son válidos para todas las ecuaciones, o
los puntos donde las gráficas de las ecuaciones se
intersectan.
Ej. 1.- Resolver el sistema graficando las
ecuaciones
Sistemas de Dos Ecuaciones
Cuadráticas
Dos soluciones- Dos
intersecciones
Ej. Resolver el sistema
graficando las ecuaciones
y
Contenido
Planteamiento del problema
Método de Punto Fijo
Método de Newton
Variantes del método de Newton
– Evaluación diferida del jacobiano
– Aproximación por diferencias finitas
– Newton unidimensional
Métodos cuasi-Newton (Broyden)
SISTEMAS DE ECUACIONES NO LINEALES
y
No se puede mostrar la imagen.

f(x, y)=0

y*

g(x, y)=0

x* x
SISTEMA DE ECUACIONES NO LINEALES

10

x 2 + xy =
10
6

(2, 3)
4

y + 3xy 2 =
57
2

0
1 1.5 2 2.5 3 3.5 4 4.5 5

-2
Forma general del Sistema de
Ecuaciones no Lineales
f1 ( x1 , x2 ..........., xn ) = 0 La solución de este
f 2 ( x1 , x2 ..........., xn ) = 0 sistema consta de valores
xi que simultáneamente
. hacen que todas las
. ecuaciones sean iguales a
. cero
f n ( x1 , x2 ..........., xn ) = 0
MÉTODO DE PUNTO FIJO EN
SISTEMAS DE ECUACIONES NO LINEALES

1. Considera la intersección de dos funciones no lineales


f(x, y)=0 y g(x, y)=0.
2. La intersección de las curvas f(x, y)=0 y g(x, y)=0 nos
da la raiz (xr, yr).
3. El método consiste en obtener las funciones que
tengan las mismas raices (xr, yr):
x-F(x, y) = 0
y-G(x, y) = 0
4. Considerar un valor inicial (x0, y0), como aproximación
a la raíz, evaluar: x1=F(x0, y0) y1=G(x0, y0)
5. El proceso se repite n veces hasta tener valores muy
cercanos a las raíces.
Ej.1. Resolver las ECUACIONES NO LINEALES

2
x + xy =
10 y + 3xy 2 =
57
iteració
xi yi erri
xn=10/(x+y) n

yn=((57-y)/(3x))^(1/2) 1 1.5 3.5 ---


err=sqrt((xn-x)^2+(yn-y)^2) 2 2.0000 3.4480 0.5027

3 1.8355 2.9875 0.4890

4 2.0734 3.1319 0.2782

5 1.9211 2.9428 0.2427

6 2.0559 3.0626 0.1803

7 1.9537 2.9572 0.1468

8 2.0363 3.0365 0.1145

9 1.9713 2.9721 0.0915

x=2 y=3
MÉTODO DEL PUNTO FIJO EN
SISTEMAS DE ECUACIONES NO LINEALES
2
x + xy =
10 y + 3xy 2 =
57
iteració
xi yi erri
Variante Seidel n

xn=10/(x+y) 1 1.5 3.5 ---


yn=((57-y)/(3*xn))^(1/2) 2 2.0000 2.9861 0.7170
err=sqrt((xn-x)^2+(yn-y)^2) 3 2.0056 2.9962 0.0116

4 1.9993 3.0006 0.0077


Converge mas rápido!!!
5 2.0000 3.0000 0.0010

x=2 y=3
Algoritmo en octave
clc;clear;x=1.5; y=3.5 ;%Método de Punto fijo
disp(' j x y ');
disp('-------------------------------');
for j=1:10
disp([j,x,y]);
x1=10/(x +y);
y1=((57-y)/(3*x1))^0.5;
x=x1;y=y1;
end
Resultado de ejecución
j x y .
1.0000 1.5000 3.5000
2.0000 2.0000 2.9861
3.0000 2.0056 2.9962
4.0000 1.9993 3.0006
5.0000 2.0000 3.0000
6.0000 2.0000 3.0000
7.0000 2.0000 3.0000
8.0000 2.0000 3.0000
9.0000 2.0000 3.0000
10.0000 2.0000 3.0000
Otro algoritmo
clc;clear;x=1.5;y=3.5 ;%Método de Punto fijo
for j=1:10
disp([x,y]);
x1=(10-x*y)^0.5; y1=((57-y)/(3*x))^0.5;
disp([j,x,y]);
x=x1;y=y1;
end
Resultados
Con convergenncia más lento

Los que siguen no convergen


MÉTODO DEL PUNTO FIJO EN
SISTEMAS DE ECUACIONES NO LINEALES
Sin embargo, con el método del punto fijo, la convergencia depende
de la manera en que se formulen las ecuaciones de recurrencia y
de haber elegido valores iniciales lo bastante cercanos a la
solución. En las dos formulaciones siguientes el método diverge.
x = (57 - y)/3y2 y = (10 - x2)/x

iteración xi yi

1 1.5 3.5

2 1.45578231 5.166666667

3 0.64724246 5.413376566

x = (10 - x2)/y y = 57 - 3xy2


iteración xi yi

1 1.5 3.5

2 2.21428571 -24.375

3 -0.20910518 429.713648
Método de Iteración de Punto fijo para sistemas
de Ecuaciones no Lineales

Para resolver la ecuación f(x)=0 se transformó en una ecuación de la


forma x= g(x), usando el criterio de convergencia |g’(x)|<1 en el
intervalo [x1,x2] para x que pertenece a [x1,x2]
Para el caso de un conjunto de ecuaciones No lineales utilizaremos un
procedimiento similar extendiéndolo a todas las ecuaciones,
usando un criterio de convergencia:
Una condición suficiente aunque no necesaria, para asegurar la
convergencia es que
∂g1 ∂g ∂g1 ∂g
| | + | 2 |≤ M < 1; | | + | 2 |≤ M < 1;
∂x1 ∂x1 ∂x2 ∂x2
Para todos los puntos (x1,x2) de la región del plano que contiene todos
los valores (x1k, x2k ) y la raíz buscada.
Ejemplo 2
Encuentre una solución del sistema de ecuaciones no lineales

f 1( x1, x 2) = x12 − 10 x1 + x 2 2 + 8 = 0 

2 
f 2( x1, x 2) = x1 x 2 + x1 − 10 x 2 + 8 = 0

Solución
Con el despeje de X1 del termino (-10X1) en la primera ecuación y
de X2 del termino de (-10X2) en la segunda ecuación resulta.

X1=(X12+X22 + 8 )/ 10

X2=(X1X22+X1 + 8 ) / 10
Por medio de Iteración por desplazamientos simultáneos

x1k+1 = g1(x1k , x2k )


x2k+1 = g2(x1k , x2k )

Con los valores iniciales x10 = 0, x20 = 0 se inicia el proceso


Primera iteración
1
X1 =(02+02 + 8 )/ 10 = 0.8

1
X2 =(0(0)2 + 0 + 8 ) / 10 = 0.8
Segunda iteración
2
X1 =((0.8)2+(0.8)2 + 8)/ 10 = 0.928

2
X2 =(0.8(0.8)2 + 0.8 + 8 ) / 10 = 0.9312
Al continuar el proceso iterativo, se encuentra la siguiente
sucesión de valores
k
X1k X2k

0 0.00000 0.00000

0.80000 0.80000
1

2 0.92800 0.93120
k
X1k X2k
3 0.97283 0.97327

4 0.98937 0.98944

5 0.99578 0.99579

6 0.99832 0.99832

7 0.99933 0.99933

8 0.99973 0.99973

9 0.99989 0.99989

10 0.99996 0.99996

11 0.99998 0.99998

12 0.99999 0.99999

13 1.00000 1.00000
Ejemplo 3
Resolver el Sistema no lineal
Punto Fijo con desplazamientos simultáneos

Punto Fijo con desplazamientos sucesivos


MÉTODO DE NEWTON RAPHSON EN
SISTEMAS DE ECUACIONES NO LINEALES
y
No se puede mostrar la imagen.

u(x, y)

y1

v(x, y)

x1 x
MÉTODO DE NEWTON RAPHSON EN
SISTEMAS DE ECUACIONES NO LINEALES
Este procedimiento corresponde, analíticamente, a extender el uso
de la derivada, ahora para calcular la intersección entre dos
funciones no lineales.
Al igual que para una sola ecuación, el cálculo se basa en la
expansión de la serie de Taylor de primer orden, ahora de múltiples
variables, para considerar la contribución de más de una variable
independiente en la determinación de la raíz.
Para dos variables, la serie de Taylor de primer orden se escribe,
para cada ecuación no lineal:

∂ui ∂ui
ui+1 = ui + (xi+1 − xi ) + (yi+1 − yi )
∂x ∂y
∂v ∂v
v i+1 =v i + (xi+1 − xi ) i + (yi+1 − yi ) i
∂x ∂y
MÉTODO DE NEWTON RAPHSON EN
SISTEMAS DE ECUACIONES NO LINEALES

Pero ui+1 = vi+1 = 0 :


∂ui ∂ui ∂ui ∂ui
ui + xi+1 − xi + yi+1 − yi =
0
∂x ∂x ∂y ∂y
∂v i ∂v i ∂v i ∂v i
vi + xi+1 − xi + yi+1 − yi =
0
∂x ∂x ∂y ∂y
Que reescribiendo en el orden conveniente:
∂ui ∂ui ∂ui ∂ui
xi+1 + yi+1 =−ui + xi + yi
∂x ∂y ∂x ∂y
∂v i ∂v i ∂v i ∂v i
xi+1 + yi+1 =− v i + xi + yi
∂x ∂y ∂x ∂y
MÉTODO DE NEWTON RAPHSON EN
SISTEMAS DE ECUACIONES NO LINEALES

Y cuya solución es:


∂v i ∂ui ∂ui ∂v i
ui − vi vi − ui
∂y ∂y ∂x ∂x
xi+= x − yi+=
1 y i −
1 i
J J
Donde J es el determinante jacobiano del sistema es:

 ∂ui ∂v i 
 ∂x ∂x 
J= 
 ∂ui ∂v i 
 ∂y ∂y  

MÉTODO DE NEWTON RAPHSON EN
SISTEMAS DE ECUACIONES NO LINEALES

x2 + xy - 10 = 0 y + 3xy2 - 57 = 0

iteración xi yi ui vi ∂u/∂x ∂u/∂y ∂v/∂x ∂v/∂y Jacobiano

1 1.5 3.5 -2.5 1.625 6.5 1.5 36.75 32.5 156.125

2 2.03602882 2.8438751 -0.064374959 -4.756208497 6.915932746 2.036028823 24.26287675 35.74127004 197.7843034

3 1.99870061 3.002288563 -0.004519896 0.04957115 6.999689781 1.998700609 27.04120985 37.00405588 204.9696292

4 1.99999998 2.999999413 -1.28609E-06 -2.21399E-05 6.999999381 1.999999984 26.99998944 36.99999267 204.9999473

5 2 3 0 2.23821E-12 7 2 27 37 205

x=2 y=3
MÉTODO DE NEWTON RAPHSON EN
SISTEMAS DE ECUACIONES NO LINEALES
Sistema de ecuaciones lineales por el método de Newton Raphson

4.5

3.5

y
3

2.5
iteraciones

x
2

1.5

x 2 + xy =
10 y + 3xy 2 =
57
1

0.5

0
1 2 3 4 5 6
convergencia
Notación
Escalar

Vectorial
Método de Newton para sistemas de ecuaciones no
lineales

Primero, Se define la matriz J(x) como:


∂f1,i ∂f1,i ∂f1,i
..........
∂x1 ∂x2 ∂xn
J(x) =
∂f 2,i ∂f 2,i ∂f 2,i
..........
∂x1 ∂x2 ∂xn
.....................................................

∂f n ,i ∂f n ,i ..........
∂f n ,i
∂x1 ∂x2 ∂xn
2° se generaliza Método de Newton para sistemas de ecuaciones no lineales

Entonces podemos escribir


F(x)+XiJ(x)=Xi+1 J(x)
Dividiendo J(x) y reacomodando:
Xi+1= Xi-J(x)-1 F(x)
Esta es la Ecuación de Newton para sistemas No Lineales
Puesto que en cada iteración se tiene que calcular la inversa de la matriz J(x)y
esto implica un considerable esfuerzo de cálculo , para evitar este paso se
utiliza el artificio de encontrar un vector Y que satisfaga
J(x)Y= -F(x)
Método de Newton para sistemas de
ecuaciones no lineales
Se establece un esquema iterativo donde cada nueva aproximacion
se obtiene como:

Xi+1 = Xi-J(x)-1 F(x)

X(k+1) = ∆y +x(k)
Método de Newton. Ejemplo 2
Sistema

Estimación inicial

Primera
iteración
Resultados Newton Ejemplo 2
Método de Newton. Ejemplo 3
Sistema no lineal

3x 1 − cos( x 2 x 3 ) − 1 2 = 0

x 12 − 81( x 2 + 01 . ) 2 + sen( x 3 + 106. = 0

e − x1x 2 + 20x 3 + 10π / 3 − 1 = 0

Jacobiana
 3 x 3 sen( x 2 x 3 ) x 2 sen( x 2 x 3 )
 
DF( x) =  2 x 1 − 162( x 2 + 01 .) cos( x 3 ) 
 
 − x 2 e − x1 x 2 − x 1 e − x1 x 2 20 
Resultados Newton. Ejemplo 3
clc;clear;x=1;y=1;disp(‘ x y z’);
for j=1:10
f1=x^2+x*y-10; f11=2*x+y;f12=x;
f2=y+3*x*y^2-57;f21=3*y^2; f22=1+6*x*y;
J=[f11 f12;f21 f22];
IJ=inv(J);h=IJ*[-f1;-f2];
x=x+h(1);y=y+h(2);
disp([i,x,y]);
end
Newton-Raphson Multivariable - Modificado
El metodo de Newton-Raphson modificado el cual se describe acontinuacion
consiste en aplicar el metodo de Newton-Raphson multivariable dos
veces(para el caso de un sistema de n ecuaciones no lineales con n
incógnitas, se aplicara n veces), una para cada variable. Cada vez que se
hace esto, se considera las otras variables fijas.
Tomando los valores iniciales xo,yo, se calcula a partir del metodo de
Newton-Raphson univariable un nuevo valor x1 de la forma siguiente:

Ya teniendo f1(x0,y0) y df1/dx estos dos evaluados en xo,yo.


Hay que observar que se a obtenido x1 a partir de f1 y los valores mas
recientes de X y Y; xo,yo.
.
Ahora emplearemos f2 y los valores mas recientes de X y Y; x1, y0
para calcular y1
De esta forma :

Donde df2/dy se evalúa en x1,yo. Se tiene ahora x1 y y1. con


estos valores se calcula x2, después y2, y así sucesivamente.
Hay que observar que se han empleado desplazamientos
sucesivos, pero los desplazamientos simultaneos tambien son
aplicables.
En la aplicación de este metodo se pudo tomar f2 para evaluar x1 y
f1, a fin de evaluar y1, asi:
FORMA GENERAL
En un sistema de n ecuaciones
con n incógnitas: x1,x2……,xn, el
algoritmo toma la forma:
Pasos para resolver un sistema de ecuaciones

1.- Debemos determinar nuestras dos ecuaciones de la forma en la que se


encuentra igualadas a cero:

2.- En segundo paso debemos conocer nuestro valores iniciales los cuales
vamos a iniciar que en arbitrariamente se utilizan x0=0 y y0=0.
3.- como tercer paso debemos derivar cada uno de nuestras ecuaciones
dadas en este caso seria
Encontrar la derivada de df1/dx encontrando el valor de x con la primera
ecuación.
Y encontrando la derivada de df2/dy podemos encontrar el valor de y con la
segunda ecuación.
Practicamente teniendo las derivadas de cada una de las dos ecuaciones
podemos realizar el siguiente paso.
4.- Apartir de este paso se efectua encontrar la primera iteracion la cual
comienza realizando una evaluacion para f1 y df1/dx en [0,0]t y haciendo
eso encontraremos nuevos valores que utilizaremos en el siguiente paso.
5.- Practicamente en este paso seria sustituir valores en una formula
la cual ya se dio a conocer que es la siguiente para sacar el valor de
.
x1 es el siguiente y cual obtendremos el nuevo valor de x.

6.- de igual forma seria con los pasos anteriores apartir del cuarto en
adelante asta el quinto asemos lo mismo con y1 pero en este caso
utilizando los nuevos valores que ya tenemos de x que en este caso
seria sustituir la ecuacion de la siguiente forma que es f2(x1,y0) ya
que en el paso anterior se encontro el paso 5,por lo tanto sacando
todo eso utilizariamos la siguiente ecuacion para efectuar sacar el
valor de y1 que es la siguiente:
7.- en el septimo paso se concluye al la primera iteracion
.
teniendo los valores de x1 y y1 nuevos los cuales seran
utilizados para sacar la segunda iteracion que seria
practicamente lo mismo nada mas que en este caso
sustituiremos x1 y y1 como nuestros valores iniciales y asi
consecutivamente.

Recalcamos este metodo no quiere decir que es necesario


obtener nada mas dos iteraciones y despues llegar ala
convergencia este se deduce mediante a lo que se dijo
anteriormente de que los valores iniciales se acercan a la x
negada y y negada para satisfacer las necesidades
convergencia.
MÉTODO DE NEWTON MODIFICADO

clc;clear;x=1;y=1;disp(‘ x y z’);
for j=1:10
f1=x^2+x*y-10; f11=2*x+y;f12=x;
f2=y+3*x*y^2-57;f21=3*y^2; f22=1+6*x*y;
f3=x*y*z-27;f31=y*z;f32=x*z;f33=x*y;
x1=x-f1/f11; x=x1; y1=y-f2/f22;y=y1;z1=z-f3/f33;
disp([x,y,z]);z=z1;
end
Método de Broyden
Iterar −1
x (k +1) = x (k) − A k ⋅ F(x(k) )

siendo (yk − A k −1s k ) T


A k = A k −1 + 2
sk
sk
y k = F(x(k) ) − F(x(k −1) )
s k = x (k) − x (k −1)
Actualización de la inversa
−1
 
( y k − A k −1s k ) T 
−1 
A k = A k −1 + sk =
 sk
2 
 
−1 T −1
(s k − A y )s A
−1 k −1 k k k −1
=A +k −1 T −1 k = 1,2,...
s A y
k k −1 k
Algoritmo de Broyden
Entrada
– x0 ,tol, maxiter
Inicio
– M: Inversa del Jacobiano en x0
– x1 = x0 − M*F(x0)
– incr, iter
Iteraciones: k = 1, 2, ...
– Actualizar M % Ak-1-1 → Ak-1
– xk+1 = xk − M*F(xk)
Actualización de M

w = v; % F(xk−1)
v = F(x); % F del iterado actual
y = v − w; % F(xk) − F(xk−1)
z = − M*y; % − Ak−1-1 * yk
p = − s' *z; % (sk - xk-1)T * Ak−1-1 * yk
q = s' *M; % sk T * Ak−1-1
R = (s+z)*q/p; % Transformación rango 1
M = M+R; % Inversa nueva: Ak-1
s = − M*v; % Paso de Broyden: sk+1
Algoritmo de while incr > tol
Broyden w = v; % F(x(k−1))
v = F(x);
y = v−w; % F(x(k)) − F(x(k−1))
% Inicio z = − M*y; % −inv(A(k−1))*y(k)
v = F(x0) p = − s' *z;
M = inv(DF(x0)) q = s' *M; % s(k)'*inv(A(k−1)
% Inversa Jacobiano R = (s+z)*q/p;
s = − M*v; M = M+R; % inversa de A(k)
x = x0+s; s = − M*v;
% Paso de Newton x = x+s; % Paso de Broyden
incr = norm(s); incr = norm(s);
end
Resultados de Broyden. Ejemplo 3
Alternativas al primer paso
Estimar el Jacobiano por diferencias
divididas
Estimación unidimensional del Jacobiano

A 0 = diag((F( x1 ) − F( x 0 )). /( x1 − x 0 ))

También podría gustarte