10
etodos Nuericos Hua Lun Barrigas David Gualoto Departamento de Ciencias Exactas Nrcs: 4309 Docente Mgs. Fabi´an Ordo˜ nez 11 de Mayo de 2015 Trabajo Primer Parcial 1.  Conocida la funci´ on  f  ( x) = x 2 + x − 23, halle un intervalo [a, b] donde f(a)*f(b)tenga signo negativo, realice como prueba de escritorio las tres primeras iteraciones y encuentre mediante el m´ etodo de la bisec ci´ on sus ra´ ı ces Prueba de escritorio Intervalo [3 ; 5]  c 1  =  3 + 5 2  = 4 1

Trabajo Métodos numéricos ESPE

  • Upload
    hualun

  • View
    228

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Trabajo Métodos numéricos ESPE

7/26/2019 Trabajo Métodos numéricos ESPE

http://slidepdf.com/reader/full/trabajo-metodos-numericos-espe 1/10

Metodos Numericos

Hua Lun Barrigas

David Gualoto

Departamento de Ciencias ExactasNrcs: 4309

Docente Mgs. Fabian Ordonez

11 de Mayo de 2015

Trabajo Primer Parcial

1. Conocida la funcion  f  (x) = x2 + x − 23, halle un intervalo [a, b] donde f(a)*f(b)tenga signonegativo, realice como prueba de escritorio las tres primeras iteraciones y encuentre medianteel metodo de la biseccion sus raıces

Prueba de escritorio

Intervalo [3; 5] c1 = 3 + 5

2  = 4

1

Page 2: Trabajo Métodos numéricos ESPE

7/26/2019 Trabajo Métodos numéricos ESPE

http://slidepdf.com/reader/full/trabajo-metodos-numericos-espe 2/10

f  (3) = (3)2 + (3) − 23 = −11f  (4) = (4)2 + (4) − 23 = −3

f  (3)  · f  (4) = 33

Intervalo [4; 5]

c2 = 4 + 5

2  = 4,5

f  (4,5) = (4,5)2 + (4,5) − 23 = 1,75f  (4) = (4)2 + (4) − 23 = −3

f  (4)  · f  (4,5) = −5,25

Intervalo [4;4,5]

c3 = 4 + 4,5

2  = 4,25

f  (4,25) = (4,25)2 + (4,25) − 23 = −0,6875f  (4)  · f  (4,25) = 2,0625

Siguiente Intervalo [4,25;4,5]

Codigo del programa

function [raiz] = ejer1biseccion(a,b,fx,delta)

%[raiz] = ejer1biseccion(3,5,’x.^2+x-23’,sqrt(eps))

f=inline(fx);

if((f(a)*f(b))>0)

display (’No hay raices’)

return

end

iter=0;

while abs(a-b)>delta

if((f(a)*f(b))<0)

c=(a+b)/2;

else f(c)==0

x=c;

return

end

if((f(a)*f(c))<0)

b=c;

else

a=c;

end

iter=iter+1;

end

raiz=c;

end

Ejecucion del programa

>> [raiz] = ejer1biseccion(3,5,’x.^2+x-23’,sqrt(eps))

2

Page 3: Trabajo Métodos numéricos ESPE

7/26/2019 Trabajo Métodos numéricos ESPE

http://slidepdf.com/reader/full/trabajo-metodos-numericos-espe 3/10

raiz =

4.3218

3.  Utilizando el metodo de la biseccion para  f  (x) =  1

x − 1, determine la raız al analizar en el

intervalo [3, 5] y en [0, 4]

Prueba de escritorio

Intervalo [3; 5]f  (3) =   1

3−1 = 0,5

f  (5) =   1

5−1 = 0,25

f  (3) ·

 f  (5) = 0,125

No existe raız debido a que no hay cambio de signo en el intervalo como lo podemos apreciaren la grafica

Intervalo [0; 4]f  (0) =   1

0−1 = −1

f  (4) =   1

4−1 = 0,333

f  (0)  · f  (4) = −0,333

El cambio de signo se debe a una asıntota en x=1, pero no existe raız en este intervalo y sepuede comprobar mediante la grafica

Codigo del programa

function [ raiz ] = ejer3(a,b,fx,delta)

f=inline(fx);

if((f(a)*f(b))>0)

display (’No hay raices’)

return

end

while abs(a-b)>deltaif((f(a)*f(b))<0)

c=(a+b)/2;

else f(c)==0

3

Page 4: Trabajo Métodos numéricos ESPE

7/26/2019 Trabajo Métodos numéricos ESPE

http://slidepdf.com/reader/full/trabajo-metodos-numericos-espe 4/10

x=c;

return

end

if((f(a)*f(c))<0)

b=c;

else

a=c;

endend

raiz=c;

end

Ejecucion del programa

>> [ raiz ] = ejer3(3,5,’(1/(x-1))’,sqrt(eps))

No hay raices

5.  Por el metodo de la secante, determine las raıces de la funcion  y =  x3−

 5x2 + 3x + 2

Como podemos observar en la grafica utilizaremos los intervalos: [-2;0] y [3;5] que son losintervalos donde se encuentran las raıces.

Codigo del programa

function [raiz ] = ejer4(x0,x1,fx)

x(1)=x0;

x(2)=x1;

f=inline(fx);

n=1;

while abs(x(n+1)-x(n))>=sqrt(eps)

n = n+1;

x(n+1)=x(n)-f(x(n))*(x(n)-x(n-1))/(f(x(n))-f(x(n-1)));

end

raiz=x(n+1);

end

Ejecucion del programa

4

Page 5: Trabajo Métodos numéricos ESPE

7/26/2019 Trabajo Métodos numéricos ESPE

http://slidepdf.com/reader/full/trabajo-metodos-numericos-espe 5/10

>> [raiz ] = ejer4(-2,0,’x^3-5*x^2+3*x+2’)

raiz =

-0.3914

>> [raiz ] = ejer4(3,5,’x^3-5*x^2+3*x+2’)

raiz =

4.1642

7.  Hallar mediante el metodo de la biseccion, Newton y de la Secante una de las raıces realesde la ecuacion  f  (x) = x2

− πcos (x) ademas, determine en cada metodo el numero de

iteraciones utilizadas, el tiempo, el error absoluto y presente los valores en una tablacomparativa

Con ayuda de la grafica sabemos que la raiz se encuentra entre el intervalo [0;2] el cualusaremos.

Metodo de Biseccion

Codigo del programa

function [tiempo iter raiz] = ejer7biseccion(a,b,fx,delta)

%[tiempo iter raiz] = ejer7biseccion(0,2,’(x.^2)-pi*cos(x)’,sqrt(eps))

f=inline(fx);

if((f(a)*f(b))>0)

display (’No hay raices’)

return

end

ticiter=0;

while abs(a-b)>delta

if((f(a)*f(b))<0)

5

Page 6: Trabajo Métodos numéricos ESPE

7/26/2019 Trabajo Métodos numéricos ESPE

http://slidepdf.com/reader/full/trabajo-metodos-numericos-espe 6/10

c=(a+b)/2;

else f(c)==0

x=c;

return

end

if((f(a)*f(c))<0)b=c;

else

a=c;

end

iter=iter+1;

end

raiz=c;

tiempo=toc;

end

Ejecucion del programa

>> [tiempo iter raiz] = ejer7biseccion(0,2,’(x.^2)-pi*cos(x)’,sqrt(eps))

tiempo =

0.037689609047867

iter =

27

raiz =

1.142395988106728

Metodo de Newton

Codigo del programa

function [ n tiempo raiz ] = ejer7newton(x0,fx,gx)

%[ n tiempo raiz ] = ejer7newton(1,’(x.^2)-pi*cos(x)’,’2*x+pi*sin(x)’)

f=inline(fx);

g=inline(gx);

tic

n=1;

if(gx==0)

display (’No hay raices’)

6

Page 7: Trabajo Métodos numéricos ESPE

7/26/2019 Trabajo Métodos numéricos ESPE

http://slidepdf.com/reader/full/trabajo-metodos-numericos-espe 7/10

return

end

x(1)=x0;

x(2)=x(1)-f(x(1))/g(x(1));

while abs(x(n+1)-x(n))>sqrt(eps)n=n+1;

x(n+1)=x(n)-f(x(n))/g(x(n));

end

raiz=x(n+1);

tiempo=toc;

end

Ejecucion del programa

>> [ n tiempo raiz ] = ejer7newton(1,’(x.^2)-pi*cos(x)’,’2*x+pi*sin(x)’)

n =

4

tiempo =

0.004256582008265

raiz =

1.142395986171875

Metodo de la Secante

Codigo del programa

function [n,tiempo,raiz ] = ejer7Secante(x0,x1,fx)

%[ n,tiempo,raiz ] = ejer7Secante(1,2,’(x.^2)-pi*cos(x)’)x(1)=x0;

x(2)=x1;

f=inline(fx);

tic

n=1;

while abs(x(n+1)-x(n))>=sqrt(eps)

n = n+1;

x(n+1)=x(n)-f(x(n))*(x(n)-x(n-1))/(f(x(n))-f(x(n-1)));

endraiz=x(n+1);

tiempo=toc;

end

7

Page 8: Trabajo Métodos numéricos ESPE

7/26/2019 Trabajo Métodos numéricos ESPE

http://slidepdf.com/reader/full/trabajo-metodos-numericos-espe 8/10

Ejecucion del programa

>> [ n,tiempo,raiz ] = ejer7Secante(1,2,’(x.^2)-pi*cos(x)’)

n =

7

tiempo =

0.010088963162648

raiz =

1.142395986171875

Tabla comparativaPara el error absoluto se trabajo con 10 decimales y con un valor real de raiz=1.1423959862

Metodo Raiz Tiempo (s) Iteraciones Error absolutoBiseccion   1.1423959881 0.03769 27   −1,9x10−9

Newton   1.1423959862 0.00426 4 0Secante   1.1423959862 0.01009 7 0

9.  Aplicar el metodo de Newton para calcular los cortes entre las funciones  f  (x) =  e−x yg (x) =  x + 2

Para encontrar donde se cortan las dos funciones se igualas  f  (x) =  g (x) = 0 obteniendo  h (x)

f  (x) = e−x ;   g (x) =  x + 2f  (x) = g (x)

e−x

=  x + 20 = e−x − x − 2

h (x) = e−x − x − 2

8

Page 9: Trabajo Métodos numéricos ESPE

7/26/2019 Trabajo Métodos numéricos ESPE

http://slidepdf.com/reader/full/trabajo-metodos-numericos-espe 9/10

Codigo del programa

function [ raiz ] = ejer9newton(x0,hx,jx)

%[ raiz ] = ejer9newton(0,’exp(-x)-x-2’,’-exp(-x)-1’)

f=inline(hx);

g=inline(jx);

n=1;

if(jx==0)

display (’No hay raices’)

return

end

x(1)=x0;

x(2)=x(1)-f(x(1))/g(x(1));

while abs(x(n+1)-x(n))>sqrt(eps)

n=n+1;

x(n+1)=x(n)-f(x(n))/g(x(n));

end

raiz=x(n+1);

end

Ejecucion del programa

>> [ raiz ] = ejer9newton(0,’exp(-x)-x-2’,’-exp(-x)-1’)

raiz =

-0.4429

11. En la funcion  f  (x) = x

1

3. Se puede aplicar el metodo de Newton para localizar sus raıces?Justifique su respuesta

9

Page 10: Trabajo Métodos numéricos ESPE

7/26/2019 Trabajo Métodos numéricos ESPE

http://slidepdf.com/reader/full/trabajo-metodos-numericos-espe 10/10

Como podemos observar en el grafico de la funcion antes mencionada no se puede aplicar elmetodo de Newton ya que por las tangentes en cualquier punto va a generar una oscilacion deizquierda a derecha sin convergencia alguna a la verdadera raiz.

Codigo del programa

function [ raiz ] = ejer11newton(x0,fx,gx)

%[ raiz ] = ejer11newton(1,’x.^(1/3)’,’(1/3)*x.^(-2/3)’)

f=inline(fx);

g=inline(gx);

n=1;

if(gx==0)

display (’No hay raices’)

return

end

x(1)=x0;

x(2)=x(1)-f(x(1))/g(x(1));

while abs(x(n+1)-x(n))>sqrt(eps)

n=n+1;

x(n+1)=x(n)-f(x(n))/g(x(n));

end

raiz=x(n+1);end

Ejecucion del programa

>> [ raiz ] = ejer11newton(1,’x.^(1/3)’,’(1/3)*x.^(-2/3)’)

raiz =

NaN -3.7838e+294i

10