Ceros de Funciones

Post on 13-Jan-2016

26 views 1 download

Transcript of Ceros de Funciones

UNIVERSIDAD DE CUENCA

METODOS NUMERICOS

Realizado por:Andrea ChicaJosé Chimborazo

SOLUCION NUMERICA DE UNA ECUACION NO LINEAL EN UNA VARIABLE

Tutor:Ing. Gerardo Arbito

Introducción:

En muchos aspectos de las matemáticas y la ingeniería existen problemas donde es necesario encontrar los valores de que satisfacen la ecuación lineal en variable real.Este tipo de problemas representa, en la actualidad, uno de los temas básicos dentro del análisis numérico. Sin embargo, en los últimos años, numerosos autores han introducido una variedad de métodos numéricos, especialmente para el caso de ceros simples.

METODOS ITERATIVOS PARA ENCONTRAR CEROS DE FUNCIONES Y

RAICES DE ECUACIONES

Método de la Falsa Posición

Método de la Bisección

Método de Newton Raphson

Método de la Secante

Método Punto Fijo

METODOS CERRADOS

Método de la Falsa Posición

Método de la Bisección

Método de la Falsa Posición

𝑓 (𝑥)

𝑥

𝑦

Consiste en considerar un intervalo , en el que se garantice que la función tiene raíz es decir .

Método de la Falsa Posición

Método de la Falsa Posición

𝑥

𝑦

𝑝1𝑝0

𝑓 (𝑝0)

𝑓 (𝑝1)

Método de la Falsa Posición

Consiste en considerar un intervalo en el que se garantice que la función tiene raíz es decir .Se traza un recta que una los puntos , .

Método de la Falsa Posición

𝑥

𝑦

𝑝0𝑝1

𝑓 (𝑝0)

𝑓 (𝑝1)

Método de la Falsa Posición

Consiste en considerar un intervalo en el que se garantice que la función tiene raíz Se traza un recta que una los puntos , .Se obtiene el punto de intersección de esta recta con el eje , se toma como aproximación de la raíz buscada.

Método de la Falsa Posición

𝑦

𝑝0𝑝1

𝑓 (𝑝0)

𝑓 (𝑝1)

𝑝2𝑓 (𝑝2)

𝑥

Método de la Falsa PosiciónConsiste en considerar un intervalo en el que se garantice que la función tiene raíz es decir .Se traza un recta que una los puntos , .Se obtiene el punto de intersección de esta recta con el eje , se toma como aproximación de la raíz buscada.Luego identificamos en cuál de los dos intervalos está la raíz, de la siguiente manera: si entonces y , caso contrario y .El proceso se repiten veces o hasta que sea menor o igual a la tolerancia.

Método de la Falsa Posición

 𝑦

𝑝0 𝑝1

𝑓 (𝑝0)

𝑓 (𝑝1)

𝑝2𝑓 (𝑝2)

𝑥

Diagrama de Flujo

La raíz es p2

f(p0)*f(p1):0> 

 <

 p0=p2

f(p0)=f(p2)

 

p1=p2

f(p1)=f(p2)

 

f(p0)*f(p2):0

i=1:n<

 

 

<= 

 

Abs(f(p2)):tol

 

 

Inicio

f, p0, p1, tol, nIngrese otro intervalo

Inicio

p2

function [p2,k,ERX,err,f2] = Fposicion(f,p0,p1,tolx,toly,n)

ERX(1)=100; f0=feval(f,p0); f1=feval(f,p1); for k=1:n dx=(f1)*(p1-p0)/(f1-f0); p2=p1-dx; dist=p2-p0; f2=feval(f,p2); a=abs(p0-p1); b=abs(p0); ERX(k+1)=(a/b)*100; if (f2==0), break  

elseif f0*f2<0 p1=p2; f1=f2; else p0=p2; f0=f2; end dx=min(abs(dx),dist); if (abs(dx)<tolx)|(abs(f2)<toly),break,end endp2;err=abs(p1-p0)/2;f2=feval(f,p2); 

Codificación en Matlab

Método de la Falsa PosiciónVENTAJAS:• Es siempre convergente.• Converge más rápidamente que el método de la

bisección.• Uno de los extremos del intervalo tiende a no modificarse.

DESVENTAJAS:

• Tiene una convergencia muy lenta hacia la solución.• Tiene la desventaja con respecto al método de la

bisección, que la longitud del subintervalo que contiene a la raíz en general no tiende a cero, porque la mayoría de las gráficas de las funciones son cóncavas (hacia arriba o hacia abajo) en la vecindad de la raíz, mientras el otro permanece fijo.

• Si existe más de una raíz en el intervalo, solo permite encontrar una de ellas.

Método de la Falsa PosiciónEJEMPLO:

2xf x e x

-2.5 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 2.5

-10

0

10

20

30

40

50

60

Iteración:n p1 p0 p2 F(p1) F(p0) F(p2) error

1 0 1 0,53628944 1 -0,86466472 -0,19416436  

2 0 0,53628944 0,14797559 1 -0,19416436 0,59584814 262,417494

3 0,14797559 0,53628944 0,44085208 0,59584814 -0,19416436 -0,02677542 66,4341846

4 0,14797559 0,44085208 0,34951892 0,59584814 -0,02677542 0,14754441 26,1311057

5 0,34951892 0,44085208 0,42682336 0,14754441 -0,02677542 -0,00096425 18,111577

6 0,34951892 0,42682336 0,41288573 0,14754441 -0,00096425 0,02501131 3,3756627

7 0,41288573 0,42682336 0,42630597 0,02501131 -0,00096425 -5,97E-06 3,14803075

8 0,41288573 0,42630597 0,42578871 0,02501131 -5,97E-06 0,00095254 0,12148348

9 0,42578871 0,42630597 0,42630275 0,00095254 -5,97E-06 -1,41E-09 0,1205811

10 0,42578871 0,42630275 0,42629953 0,00095254 -1,41E-09 5,97E-06 0,0007559

11 0,42629953 0,42630275 0,42630275 5,97E-06 -1,41E-09 -2,11E-15 0,00075572

12 0,42629953 0,42630275 0,42630275 5,97E-06 -2,11E-15 1,41E-09 1,79E-07

13 0,42630275 0,42630275 0,42630275 1,41E-09 -2,11E-15 0 1,79E-07

14 0,42630275 0,42630275 0,42630275 0 -2,11E-15 0 0

Método de la bisección

𝑥

𝑦𝑓 (𝑥)

Método de la bisecciónConsiste en considerar un intervalo en el que se garantice que la función tiene raíz

Método de la bisección

𝑥

𝑦

𝑝1 𝑝0

𝑓 (𝑝0)

𝑓 (𝑝1)

Método de la bisecciónConsiste en considerar un intervalo en el que se garantice que la función tiene raíz.El segmento se bisecta, tomando el punto de bisección como aproximación de la raíz buscada.

Método de la bisección

𝑥

𝑦

𝑝1𝑝0

𝑓 (𝑝0)

𝑓 (𝑝1)

𝑝2𝑓 (𝑝2)

Método de la bisecciónConsiste en considerar un intervalo en el que se garantice que la función tiene raízEl segmento se bisecta, tomando el punto de bisección como aproximación de la raíz buscada.Se identifica en cual de los intervalos está la raíz de la siguiente manera: si entonces y , caso contrario y El proceso se repite veces, o hasta que sea menor igual que la tolerancia.

Método de la bisección

𝒑𝟐=𝒑𝟎+𝒑𝟏

𝟐𝑦

𝑝1𝑝0

𝑓 (𝑝0)

𝑓 (𝑝1)

𝑝2𝑓 (𝑝2)

La raíz es p2

f(p0)*f(p1):0> 

 

p2=(p0+p1)/2

<

 

 p0=p2

f(p0)=f(p2)

 

p1=p2

f(p1)=f(p2)

 

f(p0)*f(p2):0

i=1:n<

 

 

<= 

 

Abs(f(p2)):tol

 

 

Inicio

f, p0, p1, tol, nIngrese otro intervalo

Inicio

Diagrama de Flujo

function [p2,k,ERX,err,f2] = Mbiseccion(f,p0,p1,tolx,n)

ERX(1)=100; for k=1:n f0=feval(f,p0); f1=feval(f,p1); if f0*f1<0 p2=(p0+p1)/2; f2=feval(f,p2); a=abs(p0-p1); b=abs(p0); ERX(k+1)=(a/b)*100; if f2==0  

p0=p2 p1=p2 elseif f0*f2<0 p1=p2; f1=f2; else p0=p2; f0=f2; end if ((p0-p1)<tolx),break,end endend p2=(p0+p1)/2; err=abs(p0-p1); f2=feval(f,p2);        

Codificación en Matlab

Método de la bisecciónVENTAJAS:• Es siempre convergente.• Se usa el método de bisección para obtener un buen

punto de arranque para la aplicación de otro método.• Una de las mayores ventajas que tiene el método de

bisección es que el error de truncamiento, se acota fácilmente, dado que .

DESVENTAJAS:• Aunque el método de bisección siempre converge, su

convergencia es muy lenta, comparada con la convergencia de otros métodos, por lo que se sugiere escoger el intervalo inicial tan pequeño como sea posible.

• Si existe más de una raíz en el intervalo, el método permite encontrar solo una de ellas.

Iteración:n p1 p0 F(p1) F(p0) F(p2) p2 error

1 0 1 1 -0,86466472 -0,13212056 0,5  

2 0 0,5 1 -0,13212056 0,35653066 0,25 100

3 0,25 0,5 0,35653066 -0,13212056 0,09736655 0,375 33,3333333

4 0,375 0,5 0,09736655 -0,13212056 -0,02063798 0,4375 14,2857143

5 0,375 0,4375 0,09736655 -0,02063798 0,03749731 0,40625 7,69230769

6 0,40625 0,4375 0,03749731 -0,02063798 0,00821964 0,421875 3,7037037

7 0,421875 0,4375 0,00821964 -0,02063798 -0,00626086 0,4296875 1,81818182

8 0,421875 0,4296875 0,00821964 -0,00626086 0,00096637 0,42578125 0,91743119

9 0,42578125 0,4296875 0,00096637 -0,00626086 -0,00265049 0,42773438 0,456621

10 0,42578125 0,42773438 0,00096637 -0,00265049 -0,00084287 0,42675781 0,22883295

11 0,42578125 0,42675781 0,00096637 -0,00084287 6,15E-05 0,42626953 0,11454754

12 0,42626953 0,42675781 6,15E-05 -0,00084287 -0,00039072 0,42651367 0,05724098

13 0,42626953 0,42651367 6,15E-05 -0,00039072 -0,0001646 0,4263916 0,02862869

14 0,42626953 0,4263916 6,15E-05 -0,0001646 -5,15E-05 0,42633057 0,01431639

15 0,42626953 0,42633057 6,15E-05 -5,15E-05 5,01E-06 0,42630005 0,00715871

16 0,42630005 0,42633057 5,01E-06 -5,15E-05 -2,33E-05 0,42631531 0,00357923

17 0,42630005 0,42631531 5,01E-06 -2,33E-05 -9,13E-06 0,42630768 0,00178965

18 0,42630005 0,42630768 5,01E-06 -9,13E-06 -2,06E-06 0,42630386 0,00089483

19 0,42630005 0,42630386 5,01E-06 -2,06E-06 1,47E-06 0,42630196 0,00044742

20 0,42630196 0,42630386 1,47E-06 -2,06E-06 -2,94E-07 0,42630291 0,00022371

21 0,42630196 0,42630291 1,47E-06 -2,94E-07 5,89E-07 0,42630243 0,00011185

METODOS ABIERTOS

Método de Newton Raphson

Método de la Secante

Método del Punto Fijo

Método de Newton Raphson

𝑥

𝑦

𝑓 (𝑥)

Consiste en elegir un punto inicial cualquiera como aproximación de la raíz.

Método de Newton Raphson

Método de Newton Raphson

𝑥

𝑦

𝑝0

𝑓 (𝑝0)

Método de Newton Raphson

Consiste en elegir un punto inicial cualquiera como aproximación de la raíz. Trazar una recta tangente a la función por ese punto.

Método de Newton Raphson:

𝑥

𝑦

𝑝0

𝑓 (𝑝0)

Método de Newton Raphson

Consiste en elegir un punto inicial cualquiera como aproximación de la raíz. Trazar una recta tangente a la función por ese punto.El punto de intersección de esta recta con el eje de las , constituye una segunda aproximación de la raíz.

Método de Newton Raphson

𝑥

𝑦

𝑝0

𝑓 (𝑝0)

𝑝1

𝑓 (𝑝1)

Método de Newton Raphson

Consiste en elegir un punto inicial cualquiera como aproximación de la raíz. Trazar una recta tangente a la función por ese punto.El punto de intersección de esta recta con el eje de las constituye una segunda aproximación de la raíz.El proceso se repite veces o hasta que sea menor o igual a la tolerancia.

Método de Newton Raphson

𝒑𝟏=𝒑𝟎−𝒇 (𝒑𝟎)𝒇 ′ (𝒑𝟎)

𝑥

𝑦

𝑝0

𝑓 (𝑝0)

𝑝1

𝑓 (𝑝1)

Diagrama de Flujo

 function [p0,k,ERX,err,y] = Nrhapson(f,df,n,p0,tolx,toly)ERX(1)=100; for k=1:n fx=feval(f,p0); dx=feval(df,p0); p1=p0-(fx/dx); err=abs(p0-p1); a=abs(p0); ERX(k+1)=(err/a)*100; y=feval(f,p0); if (err<=tolx)|(abs(y)<=toly),break,end p0=p1; end    

Codificación en Matlab

Método de Newton RaphsonVENTAJAS:• Converge más rápido que cualquiera de los siguientes

métodos: método de bisección, método de la regla falsa, método gráfico y el método del punto fijo.

DESVENTAJAS:• No siempre es convergente depende de la naturaleza de

la función.• No es conveniente en el caso de raíces múltiples.• Puede alejarse del área de interés si la pendiente es

cercana a cero.

Iteración:

Iteraciones p0 p1 F’(p0) F(p0) %Es %E Total

1 1 0,3195209 -1,270671 -0,864665   

2 0,3195209 0,4208429 -2,055596 0,2082769 24,075954 1,2807513

3 0,4208429 0,426289 -1,861967 0,0101405 1,2775671 0,0032254

4 0,426289 0,4263028 -1,852629 2,55E-05 0,0032254 1,88E-08

5 0,4263028 0,4263028 -1,852606 1,61E-10 2,04E-08 1,61E-09

6 0,4263028 0,4263028 -1,852606 0 0 1,61E-09

Método de la Secante

𝑓 (𝑥)

𝑥

𝑦

Método de la Secante

Consiste en elegir dos puntos iniciales cualquiera y .

Método de la Secante

𝑝0𝑝1 𝑥

𝑦

𝑓 (𝑝0)

𝑓 (𝑝1)

Método de la Secante

Consiste en elegir dos puntos iniciales cualquiera y .Se traza una recta secante a la función por esos dos puntos.

Método de la Secante

𝑝0𝑝1 𝑥

𝑦

𝑓 (𝑝0)

𝑓 (𝑝1)

Método de la Secante

Consiste en elegir dos puntos iniciales cualquiera y .Se traza una recta secante a la función por esos dos puntos.El punto de intersección de esta recta con el eje de las , constituye una segunda aproximación de la raíz.

Método de la Secante:

𝑝0𝑝1 𝑥

𝑦

𝑓 (𝑝0)

𝑓 (𝑝1)

𝑝2

Método de la SecanteConsiste en elegir dos puntos iniciales cualquiera y .Se traza una recta secante a la función por esos dos puntos.El punto de intersección de esta recta con el eje de las , constituye una segunda aproximación de la raíz. El proceso se repite veces o hasta que sea menor o igual a la tolerancia.

Método de la Secante:

𝒑𝟐=𝒑𝟏∗ 𝒇 (𝒑𝟎 )−𝒑𝟎∗ 𝒇 (𝒑𝟏)

𝒇 (𝒑𝟎)− 𝒇 (𝒑𝟏)

𝑝0𝑝1 𝑥

𝑦

𝑓 (𝑝0)

𝑓 (𝑝1)

𝑝2

Diagrama de Flujo

function [p1,k,ERX,err,y] = Msecante(f,n,p0,p1,tolx,toly)ERX(1)=100; for k=1:n f0=feval(f,p0); f1=feval(f,p1); p2=(p1*f0-p0*f1)/(f0-f1); err=abs(p0-p1); a=abs(p0); ERX(k+1)=(err/a)*100; y=feval(f,p1); if (err<=tolx)|(abs(y)<=toly),break,end p0=p1; p1=p2; endend     

Codificación en Matlab

VENTAJAS:• La ventaja es que no hay que calcular la derivada de

(esto es de gran ayuda en un caso de que sea difícil de calcular

DESVENTAJAS:• La convergencia de la solución es más lenta que la que

produce el método de Newton Raphson.

Método de la Secante:

Iteración:

n p1 p0 p2 F(p1) F(p0) F(p2) error

1 0,65 0,7 0,4014525 -0,377468-0,453403 0,046573  

2 0,4014525 0,65 0,4287508 0,046573 -0,377468 -0,00453 6,3669391

3 0,4287508 0,4014525 0,4263309 -0,00453 0,046573 -5,21E-05 0,567622

4 0,4263309 0,4287508 0,4263027 -5,21E-05 -0,00453 5,87E-08 0,0066051

5 0,4263027 0,4263309 0,4263028 5,87E-08 -5,21E-05 -7,60E-13 7,43E-06

6 0,4263028 0,4263027 0,4263028 -7,6E-13 5,868E-08 0,00E+00 9,616E-11

7 0,4263028 0,4263028 0,4263028 0-7,6E-13 0 0

Método del Punto Fijo

𝑥

𝑦

𝑓 (𝑥)

Método del Punto FijoConsidere la descomposición en una función en una diferencia de dos funciones: una primera y la segunda, siempre la función .

Método del Punto Fijo

𝑥

𝑦

𝑔 (𝑥)

𝑦=𝑥

𝑝0𝑝1

(𝑝0 ,𝑔(𝑝0))(𝑝1 ,𝑝1)

Método del Punto FijoConsidere la descomposición en una función en una diferencia de dos funciones: una primera y la segunda, siempre la función .La raíz de la función se da cuando , es decir, cuando , por lo que .El punto de intersección de las dos funciones da entonces el valor exacto de la raíz.

Método del Punto Fijo:

𝑃𝑢𝑛𝑡𝑜𝑑𝑒𝐼𝑛𝑡𝑒𝑟𝑠𝑒𝑐𝑐𝑖 ó𝑛

Método del Punto FijoConsidere la descomposición en una función en una diferencia de dos funciones: una primera y la segunda, siempre la función .La raíz de la función se da cuando , es decir, cuando , por lo que .El punto de intersección de las dos funciones da entonces el valor exacto de la raíz.El método consiste en considerar un valor inicial , como aproximación a la raíz, evaluar el valor de esta función considerando éste como una aproximación de la raíz.

Método del Punto Fijo:

𝑝0𝑝1

𝒑𝟏=𝒈 (𝒑𝟎)

Método del Punto Fijo:Considere la descomposición en una función en una diferencia de dos funciones: una primera y la segunda, siempre la función .La raíz de la función se da cuando , es decir, cuando , por lo que .El punto de intersección de las dos funciones da entonces el valor exacto de la raíz.El método consiste en considerar un valor inicial , como aproximación a la raíz, evaluar el valor de esta función considerando éste como una aproximación de la raíz.El proceso se repite veces o hasta que sea menor o igual a la tolerancia.

Diagrama de Flujo

function [p,k,ERX,err,P] = Pfijo(g,p0,tolx,n)ERX(1)=100;P(1)=p0; for k=2:n P(k)=feval(g,P(k-1)); err=abs(P(k)-P(k-1)); ERX(k)=(err/abs(P(k-1)))*100; p=P(k); if (err<tolx),break,endend P=P';

Codificación en Matlab

VENTAJAS:• El método es simple, • Es flexible

DESVENTAJAS:• No siempre es convergente, depende de la forma de la

función .

Método del Punto Fijo:

Iteración:n p0 F(p0) p1 error

1 0,4662 0,39360792 0,39360792 -18,4427396

2 0,39360792 0,45511014 0,45511014 13,5137

3 0,45511014 0,40243557 0,40243557 13,0889438

4 0,40243557 0,44714554 0,44714554 9,99897542

5 0,44714554 0,40889737 0,40889737 9,35397873

6 0,40889737 0,44140399 0,44140399 7,36437007

7 0,44140399 0,41361984 0,41361984 6,71731613

8 0,41361984 0,43725458 0,43725458 5,4052591

9 0,43725458 0,41706668 0,41706668 4,84045018

10 0,41706668 0,43425066 0,43425066 3,95715669

11 0,43425066 0,4195799 0,4195799 3,49653604

12 0,4195799 0,4320734 0,4320734 2,89152415

13 0,4320734 0,42141095 0,42141094 2,53018054

14 0,42141094 0,430494 0,430494 2,10991471

15 0,430494 0,4227442 0,4227442 1,83321201

16 0,4227442 0,42934761 0,42934761 1,53800945

17 0,42934761 0,42371458 0,42371458 1,32944088

18 0,42371458 0,42851517 0,42851516 1,1202845

19 0,42851516 0,4244206 0,4244206 0,96474171

0 5 10 15 20 250

50

100

150

200

250

300

Bisection Method

False Position Method

Fixed Point Method

Newton-Raphson Method

Secant Method

# Iteraciones vs % error

% E

rror

# Iteraciones

Comparación de los métodos:

Bibliografía:

Steven C. Chapra, “Methods Numeric's for Engineering” Quinta Edition. Mac Graw Hill

 Stewart, James. "Calculus, Early Transcendent." 4 ed. Tr. Andrew Sesti. Mexico, Ed Thomson, 2002. p. 1151