METODO DE NEWTON RAPHSON

11
MÉTODOS NUMÉRICOS CON SOFTWARE MATLAB ECUACIONES NO LINEALES - MÉTODOS ITERATIVOS MÉTODO DE NEWTON RASPHSON DE PRIMER ORDEN El método de Newton-Raphson es un método iterativo para encontrar la raíz de una ecuación no lineal. La iteración de Newton se deduce al hacer la expansión de la serie de Brook Taylor. Supongamos que el problema consiste en encontrar una raíz de 0 ) ( x f . Sea f una función diferenciable en 0 x un valor aproximado de * x raíz única en ] ; [ 0 0 b a , como : 2 0 * 0 * 0 0 * ) ( ) )( ( ' ) ( ) ( x x h x x x f x f x f 2 0 * 0 * 0 ' 0 ) ( ) )( ( ' ) ( 0 x x h x x x f x f , si 0 ) ( ' * x f tenemos: 2 0 * 0 * 0 0 ) ( ) ( ) ( ' ) ( 0 x x h x x x f x f entonces 2 0 * 0 0 0 * ) ( ) ) ( ' ) ( x x h x f x f x x Si despreciamos el último sumando obtendremos un valor aproximado de * x Al que le denotamos por 1 x : ) ( ' ) ( 0 0 0 1 x f x f x x Con este mismo razonamiento se genera la sucesión { i x } donde: I i Para x f x f x x i i i i , 2 , 1 , 0 ) ( ' ) ( 1 Geométricamente I resulta de intersecar el eje de abscisas con la recta tangente a la curva f , en el punto ) ( ; i i x f x . raíz ALGORITMO DEL MÉTODO DE NEWTON-RAPHSON Newton repeat x x 0 ; ) ( ' ) ( 0 0 0 x f x f x x until Error x x 2 1 retorno raíz es x end Newton ---------------------------------------------------------------------------------------------------------- Ejemplo: Calcular los ceros de la función ) sin( ) 3 / exp( ) 5 . 0 ( ) ( x x x f en ] 3 ; 3 [ x Resolución PLOTEO DE LA CURVA ) sin( ) 3 / exp( ) 5 . 0 ( ) ( x x x f 1 x 0 x 2 x 3 x 4 x x * x

description

EL METODO DE NEWTON RAPHSON PARA ECUACIONES NO LINEALES USANDO EL SOFTWARE MATLAB

Transcript of METODO DE NEWTON RAPHSON

Page 1: METODO DE NEWTON RAPHSON

MÉTODOS NUMÉRICOS CON SOFTWARE MATLAB

ECUACIONES NO LINEALES - MÉTODOS ITERATIVOS

MÉTODO DE NEWTON RASPHSON DE PRIMER ORDEN

El método de Newton-Raphson es un método iterativo para encontrar la raíz de una ecuación no lineal. La

iteración de Newton se deduce al hacer la expansión de la serie de Brook Taylor.

Supongamos que el problema consiste en encontrar una raíz de 0)(xf .

Sea f una función diferenciable en 0x un valor aproximado de

*x raíz única en ];[ 00 ba , como :

2

0

*

0

*

00

* )())((')()( xxhxxxfxfxf

2

0

*

0

*

0'0 )())((')(0 xxhxxxfxf , si 0)(' *xf tenemos:

2

0

*

0

*

0

0 )()()('

)(0 xxhxx

xf

xf entonces

2

0

*

0

00

* )())('

)(xxh

xf

xfxx

Si despreciamos el último sumando obtendremos un valor aproximado de *x

Al que le denotamos por 1x : )('

)(

0

001

xf

xfxx

Con este mismo razonamiento se genera la sucesión { ix } donde:

I

iPara

xf

xfxx

i

iii

,2,1,0

)('

)(1

Geométricamente I resulta de intersecar el eje de abscisas con la recta tangente a la curva f , en el

punto )(; ii xfx .

raíz

ALGORITMO DEL MÉTODO DE NEWTON-RAPHSON

Newton

repeat

xx0 ;

)('

)(

0

00

xf

xfxx

until Errorxx 21

retorno raíz es x

end Newton

----------------------------------------------------------------------------------------------------------

Ejemplo: Calcular los ceros de la función )sin()3/exp()5.0()( xxxf en ]3;3[x

Resolución

PLOTEO DE LA CURVA )sin()3/exp()5.0()( xxxf

1x 0x 2x 3x 4x

x

*x

Page 2: METODO DE NEWTON RAPHSON

%ploteo de la curva - método de newton x=-3:0.005:3; y=(0.5)*exp(x/3)-sin(x); plot(x,y,'k') xlabel('EJE DE ABSCISAS') ylabel('EJE DE ORDENADAS') grid zoom on title('Gráfica de f(x)=(0.5)*exp(x/3)-sin(x)');

----------------------------------------------------------------------------------------------------- %PROGRAMA DEL MÉTODO DE NEWTON-RAPHSON function newton

nombre_f=input(' Ingrese la función asociada f(x)= ','s');

x0=input(' ingrese el valor inicial : ');

fprintf ('\n');

fprintf (' it aprox g(x) error \n');

i=1; e=1; delta=0.001;

while e>=3E-12 & i<=18

x=x0;

fx0=eval(nombre_f);

x=x0-delta;

df1=eval(nombre_f);

x=x0+delta;

df2=eval(nombre_f);

dfx0=(df2-df1)/(2*delta);

r=x0-(fx0/dfx0);

e=abs((r-x0)/r);

fprintf ('%3.0f %10.6f %10.6f %10.6f\n',i,x0,r,e);

x0=r;

i=i+1;

end

fprintf('La raíz es :%10.9f\n',x0); ----------------------------------------------------------------------

COMPILACIÓN DEL PROGRAMA

%compilarlo digitando:

>> newton

Ingrese la función asociada f(x)=(0.5)*exp(x/3)-sin(x)

ingrese el valor inicial : 0.1

it aprox g(x) error

1 0.100000 0.607014 0.835259

2 0.607014 0.674587 0.100170

3 0.674587 0.677209 0.003872

4 0.677209 0.677213 0.000006

5 0.677213 0.677213 0.000000

6 0.677213 0.677213 0.000000

La raíz es: 0,677212890

Page 3: METODO DE NEWTON RAPHSON

PRÁCTICA DIRIGIDA CON MATLAB EN EL LABORATORIO DE CÓMPUTO

I.-PRÁCTICA DIRIGIDA DE LABORATORIO CON “MATLAB”

Encuentre los ceros de las funciones utilizando el método de Newton-Raphson para

las siguientes funciones :

1) xexf x)( 2) 753)( 23 xxxxg

3) 324)( 23 xxx 4) 11661242)( 234 xxxxx

5) zezzf 21)( newton complejo iniciar con iz 410

II. Utilice el método de Newton-Raphson para hallar los ceros de las siguientes funciones:

1) 964)()( 23 xxxSenhxxf 2) 0096.0)1/()01.0()().101.0()( 2xxxSenxxg

3) 2

485)( 23 xexxxx 4) xexTanx )2.9()1.0()(

5) Las frecuencias de vibración naturales de una viga uniforme sujeta en un extremo y libre en el otro

son soluciones de ITanhTan 01)().( .

Donde : EL

L2

L = longitud de la viga (m) = frecuencia )( 1s

EL = rigidez ante la flexión ( 2mN ) =densidad del material de la viga ( 3/ mkg )

Investigue primero con el método gráfico los valores de que satisfagan la ecuación y luego determine

por iteración de Newton los tres valores más bajos de que satisfacen la ecuación.

Page 4: METODO DE NEWTON RAPHSON

MÉTODOS NUMÉRICOS CON SOFTWARE MATLAB

ECUACIONES NO LINEALES - MÉTODOS ITERATIVOS

MÉTODO DE NEWTON RAPHSON DE SEGUNDO ORDEN El método de Newton-Raphson es un método iterativo para encontrar la raíz de una ecuación no lineal. La

iteración de Newton se deduce al hacer la expansión de la serie de Brook Taylor.

Supongamos que el problema consiste en encontrar una raíz de 0)(xf .

Sea f una función )1(k veces diferenciable en ba ; y continua en ];[ ba donde su desarrollo de Taylor

alrededor de 0x es:

!

))((

!3

))((

!2

))(())((')()( 00

3

00

'''2

00

''

000n

xxxfxxxfxxxfxxxfxfxf

nn

Considerando la aproximación cuadrática de f en el desarrollo de Taylor tenemos:

Ixxxf

xxxfxfxf !2

))(())((')()(

2

00

''

000

Si x es una raíz de f y 0xxh tenemos en I

2

)()(')(0

2

0

''

00

hxfhxfxf , una ecuación cuadrática en variable h la cual por la fórmula general se

obtiene:

2

)(''2

)(2

)(''4)]('[)('

0

002

00

xf

xfxf

xfxf

h

Reduciendo y simplificando tenemos:

)(''

)().(''2)]('[)('

0

00

2

00

0xf

xfxfxfxfxx

)(''

)().(''2)]('[)('

0

00

2

00

0xf

xfxfxfxfxx

Con este mismo razonamiento se genera la sucesión { 1nx }

)().(''2)]('[:

3,2,1,0)(''

)('

)(''

)('

2

1

1

nnnn

n

nn

nn

n

nn

nn

xfxfxfxDonde

nxf

xxfxx

xf

xxfxx

-----------------------------------------------------------------------------------------------------

%PROGRAMA DE NEWTON-RAPHSON DE 2° ORDEN

function newton2orden

nombre_f=input('Ingrese la función f(x)=','s');

nombre_f2=input('Ingrese la derivada de f(x)=','s');

x0=input('Ingrese el valor inicial:');

fprintf('\n');

fprintf('it aprox g(x) error \n');

i=1; e=1; delta=0.001;

while e>3E-12 & i<=18

Page 5: METODO DE NEWTON RAPHSON

x=x0;

fx0=eval(nombre_f);

x=x0-delta;

df1=eval(nombre_f);

df3=eval(nombre_f2);

x=x0+delta;

df2=eval(nombre_f);

df4=eval(nombre_f2);

dfx0=(df2-df1)/(2*delta);

d2fx0=(df4-df3)/(2*delta);

ds=((dfx0).^2)-(2*(fx0.*d2fx0));

r=x0+((-dfx0)+sqrt(ds))./(d2fx0);

e=abs((r-x0)/r);

fprintf('%3.0f%10.6f%10.6f%10.6f\n',i,x0,r,e);

x0=r;

i=i+1;

end

fprintf('La Raiz es :%10.9f\n',x0);

----------------------------------------------------------------------

Ejemplo: Calcular los ceros de la función 33)2()( 2xxSenexf x en ]5;4[x

Resolución

PLOTEO DE LA CURVA 33)2()( 2xxSenexf x

%ploteo de la curva - método de newton-raphson de 2° orden

x=-4:0.05:5;

y=exp(-x)+sin(2*x)-3*x.^2+3;

plot(x,y)

xlabel('EJE X')

ylabel('EJE Y')

title('Método Newton de 2° orden')ojo mayúsculas

gtext('f(x)=exp(-x)+sin(2*x)-3*x.^2+3')

grid on

COMPILACIÓN DEL PROGRAMA

%compilarlo digitando:

>> newton2orden

Ingrese la función f(x)=exp(-x)+sin(2*x)-3*x.^2+3

Ingrese la derivada de f(x)=-exp(-x)+2*cos(2*x)-6*x

Ingrese el valor inicial:-2

it aprox g(x) error

1 -2.000000 -1.722342 0.161210

2 -1.722342 -1.721178 0.000676

3 -1.721178 -1.721178 0.000000

4 -1.721178 -1.721178 0.000000

La raíz es: -1,721177705

Page 6: METODO DE NEWTON RAPHSON

PRÁCTICA DIRIGIDA CON MATLAB EN EL LABORATORIO DE CÓMPUTO

I.-PRÁCTICA DIRIGIDA DE LABORATORIO CON “MATLAB”

Encuentre los ceros de las funciones utilizando el método de Newton-Raphson de segundo orden para

las siguientes funciones:

1) 83)2()( 212

xxSenexf x 2) 23)()2()( 2 xxxSenhxSenxg

3) 12)()2()( 2 xxxCoshxCosx 4) 23)(2)()( 2 xxxSenxCoshx

II. Utilice el método de Newton-Raphson de segundo orden para hallar los ceros de las siguientes

funciones reales

1) 13)2()( xxSenexf x 2) 0096,0)1/()01,0()()101,0()( 2xxxSenxxg

3) 2

485)( 23 xexxxx 4) xexTanx )2,9()1,0()(

5) 964)()( 23 xxxSenhxxf 6) 33)2()( 2xxSenexg x

7) )2(

322 2

43)()( xSen

xe

ex

xxSenxf 8) 53)2(

33)( 23

2

2

xxLnxex

xxxf

x

Page 7: METODO DE NEWTON RAPHSON

MÉTODOS NUMÉRICOS CON SOFTWARE MATLAB

ECUACIONES NO LINEALES - MÉTODOS ITERATIVOS

MÉTODO DE PUNTO FIJO

Definición.- (Punto fijo)

Un punto fijo de una función )(xg es un número real P tal que )(PgP .

Geométricamente hablando, los puntos fijos de una función )(xg son los puntos de intersección de la

curva )(xgy con la recta xy .

Definición (Iteración del punto fijo)

La iteración )(1 nn pgp para ;3;2;1n se llama iteración de punto fijo.

Si la ecuación por resolver, 0)(xf se puede escribir en la forma:

1)( xgx

Entonces se puede escribir un esquema iterativo en la forma:

2)( 1 nn xgx

Donde, n es el número de pasos de iteración y 0x es una estimación inicial. Este método de denomina

de sustituciones sucesivas o de iteración del punto fijo.

La ventaja de este método es su sencillez y la flexibilidad para escoger la forma de )(xg . Por otro lado,

tiene la desventaja de que la iteración no siempre converge para una forma de )(xg elegida

arbitrariamente. Si queremos asegurar la convergencia de la iteración, deberemos satisfacer la siguiente

condición:

31' xg

Puede verse que la convergencia es asintótica si 1'0 g , y oscilante si 0'1 g . En caso contrario,

la iteración diverge.

La rapidez de convergencia aumenta conforme 'g se aproxima a cero.

Teorema 1.- Supongamos que g es una función continua y que 0nnp es una sucesión generada por

iteración de punto fijo. Si PpLim nn

, entonces P es un punto fijo de )(xg .

Teorema2.- Supongamos que ],[ baCg .

i) Si la imagen de la aplicación )(xgy verifica que ],[ bay para cada punto

],[ bax , entonces g tiene un punto fijo en ],[ ba .

ii) Supongamos, además, que )(' xg está definida en ba ; y que

baxxg ;;1)(' , entonces g tiene un único punto fijo P en ];[ ba .

Teorema3.- (Teorema del punto fijo) Supongamos que:

i) ];['; baCgg

ii) K es una constante positiva 0K

Page 8: METODO DE NEWTON RAPHSON

iii) bap ;0

iv) ];[;];[)( baxbaCxg

Entonces hay un punto fijo P de g en ];[ ba .

1) Si ],[;1)(' baxKxg , entonces P es el único punto fijo de g en ];[ ba y la iteración

)( 1nn pgp converge a dicho punto P .

En este caso, se dice que P es un punto atractivo.

2) PpyPg 0;1)(' entonces la iteración )( 1nn pgp no converge a P . En este caso, se

dice que P es un punto fijo repulsivo y la iteración presenta divergencia local.

Interpretación gráfica de la iteración de Punto fijo

a) Convergencia monótona cuando 1)('0 Pg

b) Convergencia monótona cuando 0)('1 Pg

1p P 2p

0p

);( 11 pp )(; 00 pgp

)(xgy

xy

X

Y

P

0

1p

P 2p

0p

);( 11 pp

)(; 00 pgp )(xgy

xy

X

Y

P

0

Page 9: METODO DE NEWTON RAPHSON

c) Divergencia monótona si )('1 Pg

d) Divergencia oscilante 1)(' Pg ojo el grafico

ALGORITMO DEL MÉTODO DE PUNTO FIJO

Punto Fijo

repeat

xx0 ;

)( 0xGx

until Errorxx 21

retorno raíz es x

end Punto Fijo

----------------------------------------------------------------------------------------------------------

%Programa del punto fijo para hallar ceros de 3)()( 2xxCosxf

%PROGRAMA DE PUNTO FIJO

function puntofijo

nombre_f=input(' Ingrese la función asociada f(x)=','s');

1p

P 2p

0p

)(; 00 pgp

)(xgy xy

X

Y

P

0

1p

P

2p

0p

)(xgy

xy

x

y

P

0 3p

Page 10: METODO DE NEWTON RAPHSON

nombre_f=input(' Ingrese la función del punto fijo g(x)=','s');

x0=input(' ingrese el valor inicial xo= ');

fprintf ('\n');

fprintf (' it aprox g(x) error \n');

i=1; e=1;

while e>=3E-6 & i<=18

x=x0;

r=eval(nombre_f);

e=abs((r-x0)/r);

fprintf ('%3.0f %10.6f %10.6f %10.6f\n',i,x0,r,e);

x0=r;

i=i+1;

end

fprintf('La raíz es :%10.9f\n',x0);

----------------------------------------------------------------------------------------------------------

Problema: Hallar los ceros de la función 3)()( 2xxCosxf

PLOTEO DE LA CURVA )()(1 xCosxf ; 3)( 2

2 xxf

x=-3:0.05:3;

f1=cos(x);

f2=x.^2-3;

plot(x,f1,'k',x,f2,'b')

xlabel('EJE DE ABSCISAS')

ylabel('EJE DE ORDENADAS')

title('Gráficas f1=cos(x) ; f2=x.^2-3 ')

grid on

gtext('f1=cos(x)')

gtext('f2=x.^2-3')

------------------------------------------------------------------

COMPILACIÓN DEL PROGRAMA >> puntofijo

Ingrese la función asociada f(x)=cos(x)-x.^2+3

Ingrese la función del punto fijo g(x) = sqrt(3+cos(x))

ingrese el valor inicial xo = 1.5

Resultados:

it aprox g(x) error

1 1.500000 1.752352 0.144008

2 1.752352 1.679119 0.043614

3 1.679119 1.700556 0.012606

4 1.700556 1.694286 0.003700

5 1.694286 1.696120 0.001082

6 1.696120 1.695584 0.000317

7 1.695584 1.695741 0.000093

8 1.695741 1.695695 0.000027

9 1.695695 1.695708 0.000008

10 1.695708 1.695704 0.000002

La raíz es: 1,695704209

Page 11: METODO DE NEWTON RAPHSON

PRÁCTICA DIRIGIDA CON MATLAB EN EL LABORATORIO DE CÓMPUTO

I.-PRÁCTICA DIRIGIDA DE LABORATORIO CON “MATLAB”

Encuentre los ceros de las funciones utilizando el método de punto fijo para las siguientes funciones :

1) 223)( 235 xxxxf

2) ))(()( xSenCosxg

3) )15,0()( 2 xSenxx

4) )()( xCosxxx

5) 2)()( xxLnxf

6) xxCosxxf )()(

7) 23)( 2 xexxxf

8) 5)(xeexf

9) 2)(1

)(1)(

xLog

xLogxf

10) 4;32,9)()(10

xeTanxf xx

II.- TAREA

1.- La ecuación 0322 xx puede reformularse para el método del punto fijo como sigue:

a) 2

32xx

b) 32xx

c) x

xx

32ojo

d) )32).(2.0( 2 xxxx ojo

Las raíces de la ecuación son 3x y 1x . Determine gráficamente cuáles de las fórmulas anteriores

convergen cuando se utilizan para encontrar la raíz 1x por el método del punto fijo. Repita el análisis

para la raíz 3x .

2.- Investigue la naturaleza de la iteración de punto fijo cuando 2

2

144)( xxxg

a) Resuelva xxg )( y pruebe que 2P y 4P son puntos fijos.

b) Tome como valor inicial 9.10p y calcule 1p , 2p y 3p .

c) Tome como valor inicial 8.30p y calcule 1p , 2p y 3p .

d) Halle los errores absolutos kE y los errores relativos kR de los valores kp obtenidos en los ítens

apartados (b) y (c).

e) ¿Qué conclusiones pueden deducirse usando el teorema del punto fijo?

DR. SORIA QUIJAITE JUAN JESÚS