Вы находитесь на странице: 1из 5

Sistema de ecuaciones no lineales (SENL)

Métodos numéricos – Ing. Eléctrica – 2019-B


——————————————————————————————————————

1. Preliminares
Recordemos brevemente las derivadas parciales y el gradiente de funciones de la forma
f : Rn 7! R.

Por ejemplo, si f : R3 7! R está dada por f(x; y; z) = x2 z + y2 - 8z + 2y + 10, entonces


las derivadas parciales de f en el punto (x; y; z) 2 R3 son
@f
(x; y; z) = 2xz
@x
@f
(x; y; z) = 2y + 2
@y
@f
(x; y; z) = x2 - 8
@z
Por otro lado, el gradiente de f en (x; y; z) es el vector en R3 :
@f @f @f
rf(x; y; z) = ( @x (x; y; z); @y (x; y; z); @x (x; y; z))

= (2xz; 2y + 2; x2 - 8)
Así también recordemos la matriz jacobiana de una función de la forma F : Rn 7! Rm .
Por ejemplo, si F : R3 7! R2 está dada por la regla de correspondencia
³ ´
F(x; y; z) = (f1 (x; y; z); f2 (x; y; z)) = x2 + xy; xz2 - 3 sen y

entonces la jacobiana de F en el punto (x; y; z) es


2 3
@f1 @f1 @f1
(x; y; z) (x; y; z) (x; y; z) " #
6 @x @y @z 7 2x + y x 0
6 7
J(x; y; z) = 6 7=
4 @f2 @f2 @f2 5 z2 -3 cos y 2xz
(x; y; z) (x; y; z) (x; y; z)
@x @y @z

2. Sistema de ecuaciones no lineales


Un ejemplo de un sistema de ecuaciones no lineales surge cuando deseamos encontrar
las intersecciones de una parábola, descrita por la ecuación es 3x2 - 9x - 2y = 5, con
una circunferencia con ecuación x2 + y2 - 4x - 8y = 10. Es decir, resolver el sistema
¯
3x2 - 9x - 2y - 5 = 0
(1)
x + y2 - 4x - 8y - 10 = 0
2

1
Resolver (1) signi…ca encontrar vectores (x̄; ȳ) 2 R2 que satisfagan dicho sistema. En el
grá…co se aprecian cuatro soluciones (puntos).

y
8

-4 -2 2 4 6 8
-2
x

-4

-6

Notación 1 El vector x 2 Rn será denotado como una matriz columna. Por ejemplo,
el par (1; 3) 2 R2 será representado también por
· ¸
1
3

De esta manera, el anterior sistema (1) puede ser representado por

F(x) = 0

donde F : R2 7! R2 es una función con


· ¸ · ¸ · ¸
3x21 - 9x1 - 2x2 - 5 x1 0
F(x) = , x= y 0=
x21 + x22 - 4x1 - 8x2 - 10 x2 0

De un modo general, un sistema no lineal de n ecuaciones y n variables es una expresión


de la forma
F(x) = 0 (2)
donde F : Rn 7! Rn es una función, x 2 Rn es el vector de variables y 0 2 Rn es el vector
nulo. F es en realidad de la forma
2 3
f1 (x)
6 f2 (x) 7
6 7
F(x) = 6 .. 7
4 . 5
fn (x)

donde fi : Rn 7! R, i = 1; :::; n, se denominan funciones componentes.

2
La matriz jacobiana de F en x, denotada por J(x), es
2 3
2 3 @f1 @f1 @f1
(x) @x (x) ¢ ¢ ¢ (x)
rf1 (x)T 6 @x 1 2 @xn
7
6 rf2 (x)T 7 6 @f2 @f2 @f2 7
6 7 6 6 @x 1 (x) @x 2 (x) ¢ ¢ ¢ @xn (x) 7
7
J(x) = 6 .. 7=6
4 . 5 6 .. .. . . .. 7
7
4 . . . . 5
rfn (x)T @f n @f n @fn
@x 1 (x) @x 2 (x) ¢ ¢ ¢ @x 2 (x)

Note que el vector (columna) rfk (x) denota el gradiente de fk en x, para k = 1; :::; n.

3. Método de Newton para resolver sistemas de ecuaciones


no lineales de n £ n
Dado un vector (columna) inicial x0 2 Rn , una estimativa para una solución del sistema
no lineal F(x) = 0.

En (2), supongamos que F sea diferenciable en x0 y la matriz jacobiana de F sea inversible


en x0 , entonces
x ¼ x0 =) F(x) ¼ F(x0 ) + J(x0 )(x - x0 )
| {z }
L 0 (x)

Resulta lógico resolver ahora el sistema L0 (x) = 0 (problema fácil) en vez de resolver
F(x) = 0 (problema difícil). Vemos que

L0 (x) = 0 () F(x0 ) + J(x0 )(x - x0 ) = 0


() J(x0 )(x - x0 ) = -F(x0 )
() x - x0 = -J-1 (x0 )F(x0 )
() x = x0 - J-1 (x0 )F(x0 )

La solución de L0 (x) = 0 la denotamos por

x1 = x0 - J-1 (x0 )F(x0 )

La siguiente iteración es análoga, pero tomando como nuevo punto inicial x1 , y este
proceso se repite. Esto nos provee el método de Newton para sistemas de ecuaciones no
lineales de n £ n.

Algoritmo 1 (Newton) Dado un punto inicial x0 2 Rn y dos tolerancias "1 ; "2 > 0.
Repetir,
xk+1 = xk - J-1 (xk )F(xk ); k = 0; 1; 2; :::
° k+1 ° ° k+1 °
hasta que °F(x )° < "1 ó °x - xk ° < "2 .

3
El método de Newton converge cuando x0 es tomado lo su…cientemente próximo a la
solución del sistema no lineal F(x) = 0, esto sin duda es una desventaja. Sin embargo,
cuando converge es uno de los más rápidos.

Supongamos ahora que deseamos resolver el sistema no lineal:


¯
3x21 - 9x1 - 2x2 - 5 = 0
(3)
x1 + x22 - 4x1 - 8x2 - 10 = 0
2

Es decir, resolver · ¸
0
F(x1 ; x2 ) =
0
donde
· ¸ · ¸
3x21 - 9x1 - 2x2 - 5 6x1 - 9 -2
F(x1 ; x2 ) = y J(x1 ; x2 ) =
x1 + x22 - 4x1 - 8x2 - 10
2 2x1 - 4 2x2 - 8
A continuación se muestra el código en Matlab/Octave asociado al método de Newton:
function [x,k]=newtonRn(x,t1,t2)
y=x+100; k=0;
while norm(F(x))>=t1 & norm(y-x)>=t2
y=x;
x=x-inv(Jac(x))*F(x);
k=k+1;
if k>10000
error(’No converge’);
end
end

function y=F(x)
y=[3*x(1)^2-9*x(1)-2*x(2)-5 ; x(1)^2+x(2)^2-4*x(1)-8*x(2)-10];

function y=Jac(x)
y=[6*x(1)-9 -2 ; 2*x(1)-4 2*x(2)-8 ];
Claramente, si se desea resolver otro sistema, las funciones F y Jac deberían ser actua-
lizadas.

Para ejecutar el programa newtonRn, debemos ingresar el vector inicial (columna) y las
dos telerancias. Así por ejemplo:
>> [xk,k]=newtonRn([12 7]’,0.000001,0.000001)
xk =
4.6284
8.8054
k =
5

4
Se aprecia que una de las soluciones numéricas es [ 4:6284 8:8054 ]T .

Ejercicio 1 Encuentre las otras tres intersecciones de la parábola con la circunferencia


relativas al sistema en (3). Use otros puntos iniciales basados en el grá…co de la pág. 2.

Ejercicio 2 Un inconveniente en el programa que ejecuta el método de Newton es el


cálculo de la matriz jacobiana. Con el …n de evitar dicho cálculo, modi…que el programa
de modo que trabaje solo con una aproximación.
Sug. Si ¸ ¼ 0, entonces
1
Jk (x) ¼ (F(x + ¸ek ) - F(x))
¸
donde Jk (x) es la k-columna de J(x) y ek es el k-vector canónico:

ek = [ 0 ¢ ¢ ¢ 0 1 0 ¢¢¢ 0 ]T
| {z }
1 en la k-posición

Ejercicio 3 Resuelva el sistema de ecuaciones no lineales:

7x1 x2 + 5x2 - x23 sen x1 - 12 = 0


-x41 + cos2 x2 + 2x33 - 8 = 0 (4)
6x1 + 2x2 - x3 + 34 = 0

—o—

Вам также может понравиться