Sei sulla pagina 1di 6

Laboratorio 2.

Ecuaciones no lineales
Sean las ecuaciones no lineales
4x
3
e
x
= 0.
x
3
2 sen x = 0.
Usaremos los mtodos de Punto Fijo y Newton para mostrar la existencia de races en cada
ecuacin y calcular una aproximacin a una de las races de cada ecuacin.
0.1. Mtodo de Punto Fijo
Sea
f(x) = 4x
3
e
x
= 0.
Se prueba por el teorema del cero intermedio que f tiene un cero en [0, 1], pues f(0) < 0 y
f(1) > 0 y como f es continua en [0, 1], existe una raz de f(x) = 0 en dicho intervalo. Se despeja
adecuadamente x de f(x) = 0 x = g(x). La ecuacin en diferencias
x
k+1
= g(x
k
), k = 1, 2, ,
genera la sucesin {x
n
}|

n=1
, convergente a la raz.
Ejemplo 0.1. De
f(x) = 4x
3
e
x
= 0 x = g(x) =
1
2
_
e
x
x
.
Probaremos que g tiene un punto jo en [0, 1] y calcularemos una aproximacin a ese punto jo.
1. La funcin g cumple con las condiciones del teorema de Punto Fijo.
2. Gracaremos las funciones y = x, y = g(x) segn la secuencia:
x=0.2:0.01:2;%Para evitar dividir por cero
1
0.2
y1=x;
plot(x,y1,linewidth,2), grid on
hold on
y2=0.5*sqrt(exp(x)./x);
plot(x,y2,-r,linewidth,2)
Se prueba grcamente que existe un punto jo.
3. Aproximaciones manualmente con la ecuacin de iteracin
x
k+1
= g(x
k
) =
1
2
_
e
x
k
x
k
, k = 0, , n
Como r [0, 1], por biseccin x
0
= 0,5. A partir de x
0
determinaremos x
1
= g(x
0
), x
2
=
g(x
1
), .
4. Aproximaciones mediante el programa de punto jo en Matlab.
1

Archivo para g1
function y=g1(x)
y=0.5*sqrt(exp(x)./x);
2

El programa
[k,p,er,x] = fixptM(g,p0,tol,max1)\\
p es la aproximacin a la raz y x es la sucesin convergente a p
3

Resultados
[k,p,er,x] = fixptM(g1,0.5,0.0001,12)
iter p err
2.0000 0.9079 0.4079
.... ..... .....
k = 6; p = 0.8310; er = 3.7802e-005
x ={ 0.5000, 0.9079, 0.8262, 0.8314, 0.8310, 0.8310}
5. Resaltar la equivalencia de
f(p) = 0 p = g(p)
donde p es punto jo de g y al mismo tiempo es un cero de f.
6. La rapidez de convergencia del mtodo. Tarea
2
0.3
0.2. Mtodo de Newton-Raphson
Suponiendo que la ecuacin h(x) = 0 tiene una raz r [a, b]. La ecuacin de iteracin del
mtodo de Newton
x
k+1
= x
k

h(x
k
)
h

(x
k
)
, k = 0, , n (0.2.1)
para generar la sucesin {x
n
}|

n=1
convergente a la raz r.
Ejemplo 0.2. Con la nalidad de aplicar la teora, sea la ecuacin f(x) = x
3
2 sen x = 0.
Primero mostraremos la existencia de una raz y luego, aproximaremos mediante el mtodo de
Newton. Para ello, seguiremos las siguientes etapas,
1. La funcin f cumple con las condiciones del teorema de Newton.
2. Grca de la funcin f, para probar la existencia de un cero de f en [1, 2]. Analticamente,
f(1) < 0 y f(2) > 0 y como f es continua en [1, 2] existe un r [1, 2] tal que f(r) = 0.
3. Aproximacin manual con la ecuacin de iteracin (0.2.1). A partir de x
0
= 1 en la ecuacin
(0.2.1).
4. Aproximacin mediante el programa correspondiente en Matlab. El programa del mtodo
de Newton necesita de dos archivos adicionales, para f y para df, como punto inicial x
0
= 1
y una tolerancia = 0,0001, = 0,00001.
function y=fun2(x)
y=x.^3-2*sin(x);
%%%%
function y=dfun2(x)
y=3*x.^2-2*cos(x);
Los resultados con el mtodo de Newton
[x0,er,fx]=NewtonK(fun2,dfun2,1,8,0.0001,0.00001)
iter x0 f(x0) er
1.0000 1.3558 0.5383 0.3558
2.0000 1.2500 0.0552 0.1058
3.0000 1.2364 0.0009 0.0136
4.0000 1.2362 0.0000 0.0002
5.0000 1.2362 0.0000 0.0000
x0 = 1.2362; er = 5.7650e-008; fx = 1.5321e-014
5. La rapidez de convergencia del mtodo de Newton. Tarea.
3
0.3
0.3. Sistema de ecuaciones no lineales
Dado el sistema de ecuaciones no lineales en forma vectorial
F(X) = 0, X R
n
, F(X) R
n
, (0.3.1)
suponemos que el sistema (0.3.1) tiene solucin, es decir, existe un
X
s
R
n
tal que F(X
s
) = 0.
calcularemos sucesiones vectoriales que se aproximen a X
s
, es decir, los vectores
X
(k)
, k = 1, , tal que ||X
(k)
X
s
|| < ,
estn muy cerca de X
s
.
La extensin del mtodo de Newton para sistemas de ecuaciones no lineales est representado
por la ecuacin
X
(k+1)
= X
(k)

_
JF(X
(k)
)
_
1
F(X
(k)
), k = 0, , (0.3.2)
Fundamento terico.
1

Desarrollo en polinomios de Taylor de F alrededor de X


(0)
:
0 F(X
(0)
+ H) = F(X
(0)
) + JF(X
(0)
)H +
Suponiendo que la matriz jacobiana JF(X) es no singular entonces se tiene el sistema
JF(X
(0)
)H = F(X
(0)
) H =
_
JF(X
(0)
)
_
1
F(X
(0)
), H R
n
(0.3.3)
2

Determinamos H de (0.3.3), luego


X
(1)
= X
(0)
+ H
3

Generalizando
X
(k+1)
= X
(k)

_
JF(X
(k)
)
_
1
F(X
(k)
) = X
(k)
+ H
(k)
, k = 0, , (0.3.4)
En la prctica la secuencia de clculos
1. Evaluar F(X
(k)
) y JF(X
(k)
).
2. Resolver el sistema JF(X
(k)
)H
(k)
= F(x
(k)
) para hallar H
(k)
.
3. Reemplazar X
(k)
en (0.3.4) para hallar X
(k+1)
= X
(k)
+ H
(k)
.
4
0.3
Ejemplo 0.3. Sea el sistema de ecuaciones no lineales 3 3,
_

_
x
2
+ y
2
+ z 9 = 0
2x cos y z = 0
y z = 0
1. Exprese el sistema como ecuacin vectorial F(X) = 0.
Asignamos una funcin a cada ecuacin
f(x, y, z) = x
2
+ y
2
+ z 9 = 0
g(x, y, z) = 2x cos y z = 0
h(x, y, z) = y z = 0
F(X) =
_

_
f(x, y, z)
g(x, y, z)
h(x, y, z)
_

_
= 0
2. Halle la grca de las tres funciones vectoriales en un mismo sistema de coordenadas, para
mostrar la existencia de races del sistema.
3. Localizar una raz del sistema en una regin R
3
. La regin = [5, 5][5, 5][5, 5].
Esto se deduce del dominio de F.
4. Muestre el jacobiano de F. Es una matriz 3 3
JF(X) =
_

_
f
x
f
x
f
x
f
x
f
x
f
x
f
x
f
x
f
x
_

_
(X) =
_

_
2x 2y 1
2 sen y 1
0 1 1
_

_
5. A partir de un punto inicial, aproxime usando el mtodo de Newton. Se necesitan archivos
de extensin m para F, JF.
function Z=Fun3(X)
x=X(1); y=X(2);z=X(3);
Z=zeros(3,1);
Z(1)=x^2+y^2+z-9;
Z(2)=2*x-cos(y)-z;
z(3)=y;
function W=JFun3(X)
x=X(1); y=X(2);z=X(3);
W=[2*x 2*y 1; 2 sin(y) -1;0 1 -1 ];
5
0.3
Previamente ingresar en la ventana de comandos, el vector inicial P = [2, 2, 2].
function [P,it,er]=newdiM(F,JF,P,delta,epsilon,M)
% P0=[x0,y0,z0] vector fila
Y=feval(F,P);%Y es columna entonces
disp( it raiz x raiz y raiz z er)
for k=1:M
it=k;
J=feval(JF,P);
D=-inv(J)*Y;%=-J\Y
Q=P+D;%fila
Z=feval(F,Q);%columna
er=norm(Q-P);
relerr=er/(norm(Q)+eps);
P=Q;
Y=Z;
resul=[it, P, er];
disp(resul)
if (er<delta)|(relerr<delta)|(abs(Y)<epsilon)
break
end
end
6. Muestre algunos elementos de la matriz de los resultados.
[P,iter,err]=newdiM(Fun3,JFun3,P,0.0001,0.0001,12)
iter raiz x raiz y raiz z er
1.0000 0.8255 2.7396 2.7396 1.5728
2.0000 0.8196 2.4438 2.4438 0.4184
3.0000 0.8353 2.4245 2.4245 0.0314
4.0000 0.8354 2.4244 2.4244 0.0002
Ejercicios 0.1. Para el siguiente laboratorio:
Races complejas de polinomios.
Mtodos de Muller.
Mtodo de Bairstow.
RWSG. 5 de abril de 2013
6

Potrebbero piacerti anche