Ejercicios de Metodo de Biseccion y Newton

Embed Size (px)

DESCRIPTION

Metodos Numericos

Citation preview

  • 1.

    2. Un objeto est situado en un plano cuya pendiente vara auna tasa constante w. La posicin del objeto, al instante t estdado por la formula:

    s(t, w) =g

    2w2(sinh(wt) sin(wt)).

    , donde g = 9,8m/s2 es la aceleracin de la gravedad. Asu-miendo que el objeto se ha desplazado 1 metro en 1 segundo.Calcule el valor de w, usando el mtodo de la biseccin, conuna tolerancia de 102. Cuantas iteraciones se requieren paraalcanzar la tolerancia dada?

    |C Cn| b1 a12n

    105 5 12n

    ln(2) ln(5 1105

    )

    n 12,899ln(2)

    n 18iteraciones

    y = w2 4,9sinh(x) + 4,9sin(x).

    a b c f(a) f(b) f(c)1 1 0 2,6352 0,6352 0

    raz de la funcin:0

    Programa empleado:

    function [raiz]=mbiseccion()clear allclcfprintf(Metodo de la Biseccin);

    1

  • syms x;f=input(\nIngrese f(x) = );y=inline(f);t=linspace(-10,0.1,10);plot(t,y(t));grid on;a=input(Ingrese el limite inferior : );%a=str2mun(a)b=input(Ingrese el limite superior : );e=input(Ingrese el error : );if (y(a)*y(b))>0

    fprintf(Los limites ingresado son incorectos);fprintf(\nNo existe raiz);return;

    endwhile abs(b-a)>e

    c=(a+b)/2;if y(c)==0

    raiz=c;break

    endif y(a)*y(c)

  • Grfica de la funcin:

    3.

    4. Un proyectil es lanzado con velocidad inicial v0 y un ngulo en un tunel de altura h. El proyectil llega a su alcanze mximocuando s tal que

    sin() =

    (2gh

    (V0)2).

    , donde g = 9,8m/s2 es la aceleracin de la gravedad. Calcule usando el mtodo de Newton, asumiendo que vo = 10m/s2 y h = 1m

    sin() =

    2 g hV0

    sin( =

    2 9,8 1

    102

    f(x) = sin() 0,44272f (x) = cos()

    3

  • 1 = 0 f(0f (0)1 = 1 0,39870,54031 = 0,26212 = 0,2621 0,18360,9658 2 = 0,45222 = 0,2621 0,18360,9658 2 = 0,4522

    3 = 0,4522 5,77321030,99998 3 = 0,457974 = 0,4585

    Error= 0.4585-0.457970,4548Error=0,11

    Programa empleado:

    function [raiz]=mnewton()clear allclcfprintf(Metodo de Newton);syms x;f=input(\nIngrese f(x) = );y=inline(f);t=linspace(-1,0.001,2);plot(t,y(t));grid on;x0=input(Ingrese un punto inicial x0 cercano a la raiz : );e=input(Ingrese el error : );fp=diff(f);yp=inline(fp);xx=0;xy=0;e1=0;while y(x0)>=e

    x1=x0-(y(x0)/yp(x0));if y(x0)==0

    raiz=x0;break

    elsex0=x1;

    ende=(x1-x0)/x1;xx=[xx;x0];xy=[xy;x1];e1=[e1;e];end

    4

  • raiz =x0resultados=[xx xy e]

    Resultado con el programa:

    Grfica de la funcin:

    5.

    6. Utilizando el mtodo de la biseccin para la solucin aproxi-mada de races. Hallar la solucin aproximada para la ecuacin12 2x = 0. en el intervalo (0,5, 1) con una exactitud de 102.

    Realizar los clculos con cuatro decimales correctos.

    Nmero de iteraciones

    102 1 0,52n

    2n 1 0,5102

    n ln(10,5102 )

    ln(2)(

    n 6iteraciones

    Programa empleado:

    5

  • function [raiz]=mbiseccion()clear allclcfprintf(Metodo de la Biseccin);syms x;f=input(\nIngrese f(x) = );y=inline(f);a=input(Ingrese el limite inferior : );b=input(Ingrese el limite superior : );x=-10:0.0001:10;fplot(y,x,c)grid on;

    b=input(Ingrese el limite superior : );e=input(Ingrese el error : );if (y(a)*y(b))>0

    fprintf(Los limites ingresado son incorectos);fprintf(\nNo existe raiz);return;

    endwhile abs(b-a)>e

    c=(a+b)/2;if y(c)==0

    raiz=c;break

    endif y(a)*y(c)

  • 7.

    8.

    Con x0 = 1 Y x2

    x2 = x0 f(x0(x1 x0)Resuelvalassiguientesecuaciones :

    (2)

    xlogx 10 = 0., porelmtododelasecante.

    Con x0 = 1 Y x2

    x2 = x0 f(x0(x1 x0)f(x1) f(x0)

    x2 = 1 (10)(

    2 1)8,614 (10)

    (5)

    x2 = 8,21501

    x3 = 2 (8,614)(

    8,614 2)7,3005 + 8,21501

    7

  • (7)

    x3 = 5,449

    x4 = 5,7102

    x5 = 5,7291

    Programa empleado en Matlab:

    function [raiz]=msecante()clear allclcfprintf(Metodo de Secante);syms x;f=input(\nIngrese f(x) = );y=inline(f)t=linspace(-2,0.01,5);plot(t,y(t));grid on;x0=input(Ingrese un punto x0 cercano a la raiz : );x1=input(Ingrese un punto x1 cercano a la raiz : );e=input(Ingrese el error : );x2=x0-((y(x0)*(x1-x0))/(y(x1)-y(x0)));xt1=0;xt2=0;xt3=0;while y(x2)>=e

    if y(x2)==0raiz = x2;break

    elsex0=x1;x1=x2;

    endx2=x0-((y(x0)*(x1-x0))/(y(x1)-y(x0)))

    xt1=[xt1;x0];

    8

  • xt2=[xt2;x1];xt3=[xt3;x2];

    endraiz=x2;resultados=[xt1 xt2 xt3]

    Resultado en el programa:

    Grfica de la funcin:

    9