Está en la página 1de 3

Practica 6: Algoritmo de Newton-Raphson para

sistemas de ecuaciones no lineales

1.

Introducci
on

En esta practica experimentaremos con el algoritmo de Newton-Raphson


para la solucion de sistemas de ecuaciones no lineales. Si f = (f1 , . . . , fd ) y
x = (x1 , . . . , xd ), y queremos resolver el sistema

f1 (x1 , . . . , xd ) = 0 ,
.........
,

fd (x1 , . . . , xd ) = 0
el algoritmo consiste en la iteracion
x(k+1) = x(k) + (k) ,

k 0,

donde (k) es solucion del sistema




f (k)
(x ) (k) = f (x(k) )
x
y
f
=
x

fi
xj

d
i,j=1

es la matriz Jacobiana de f .

2.

Trabajo de laboratorio

Dos elipses pueden tener como maximo 4 puntos de interseccion. Queremos encontrar las coordenadas de las intersecciones de las elipses dadas por
sus ecuaciones
(x 2)2 + (y 3 + 2x)2 = 5 ,
2(x 3)2 + (y/3)2 = 4 .
1.

Para obtener una idea grafica de la situacion, vamos a dibujar las


elipses por medio de la funcion contour de MATLAB que permite
crear curvas de nivel. Utilizaremos el formato

Practica de ordenador VI

contour(x,y,Z,[n n])
donde x e y son los vectores de valores xi e yj a lo largo de los ejes
correspondientes, Z es la matriz de los valores de la funcion en los
puntos (xi , yj ) y n es el nivel que queremos dibujar.
Mas exactamente, con
x=linspace(-1,5,1000); y=linspace(-10,10,1000);
generamos los vectores x e y (si no recuerda, busque en la ayuda de
MATLAB que hace el comando linspace); con
[X,Y]=meshgrid(x,y);
creamos el conjunto de pares ordenados (xi , yj ) como producto cartesiano, y con
Z=(X-2).^2+(Y-3+2*X).^2;
obtenemos la matriz Z. Solo queda ejecutar
contour(x,y,Z,[5 5]);
para dibujar la primera elipse. Ahora vamos a por la segunda. Antes
de dibujarla, no deje de ejecutar la orden hold on para que el nuevo
grafico no borre el anterior (y termine el script con hold off ). Tome
nota de las posiciones aproximadas de los 4 puntos de interseccion.
2.

Plantee explcitamente las funciones fk para el sistema de ecuaciones


que expresa la interseccion de las elipses y halle la matriz Jacobiana.

3.

Implemente el algoritmo de Newton-Raphson para este problema en


forma de funcion
function [y,niter]=newt_raph(x0,maxiter,tolerancia)
que admita como datos de entrada el valor inicial x0, el maximo de
iteraciones admisible maxiter, y el valor de tolerancia tolerancia
para el criterio de parada
kx(k) x(k1) k tolerancia,
(donde k k es la norma eucldea, que MATLAB calcula con norm)
y devuelva el vector solucion y junto con la cantidad de iteraciones
empleadas niter. Puede usar como modelo la funcion puntofijo de
la practica 4.
Observaci
on: Recuerde que el sistema lineal Ax = b se resuelve en
MATLAB por medio del comando x=A\b.

Andrei Martnez Finkelshtein

Practica de ordenador VI

4.

Experimente con diferentes vectores de valores iniciales para encontrar


los 4 puntos de interseccion.

Andrei Martnez Finkelshtein

También podría gustarte