soluciones tema 3: resolución aproximada de...

21
E.T.S Minas: Métodos matemáticos Dep. Matemática Aplicada III EPSEM-UPC Septiembre 2008, versión 1.2 Profesor: Francisco Palacios Soluciones Tema 3: Resolución aproximada de ecuaciones Ejercicio 1 (a) Representación gráfica. > plot([x,exp(-x)],x=0..1); x 1 0.8 0.6 0.4 0.2 1 0.8 0.6 0.4 0.2 0 (b) Definimos f(x) como función > f:=x->x-exp(-x); := f x x e ( ) x Calculamos el valor de f en los extremos del intervalo. > f(0); -1 > f(1.); .6321205588 La función f es continua en [0,1] y cambia de signo en los extremos, según el Teorema de Bolzano f se anula en (0,1). Para la unicidad, calculamos f'(x) > df:=diff(f(x),x); := df + 1 e ( ) x f'(x) es claramente positiva, por lo tanto f es creciente y la solución es única. (c) Resolución gráfica de la inecuación > inec:=1/2^n<0.5*10^(-4); := inec < 1 2 n .00005000000000 > plot(inec,n=0..20); n 20 15 10 5 1 0.8 0.6 0.4 0.2 0 Observamos en el gráfico que debemos tomar n=15. (d) Valor de las iteraciones > f:=x->x-exp(-x); a:=0; b:=1; Page 1

Upload: doanlien

Post on 05-Mar-2018

229 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: Soluciones Tema 3: Resolución aproximada de ecuacionesfpq/minas/ejercicios/maple/ceros-sol-maple.pdf · Soluciones Tema 3: Resolución ... Ver la resolución de problemas para la

E.T.S Minas: Métodos matemáticosDep. Matemática Aplicada IIIEPSEM-UPCSeptiembre 2008, versión 1.2Profesor: Francisco Palacios

Soluciones Tema 3: Resolución aproximada de ecuaciones

Ejercicio 1(a) Representación gráfica.> plot([x,exp(-x)],x=0..1);

x10.80.60.40.2

1

0.8

0.6

0.4

0.2

0

(b) Definimos f(x) como función> f:=x->x-exp(-x);

:= f → x − x e( )−x

Calculamos el valor de f en los extremos del intervalo.> f(0);

-1> f(1.);

.6321205588La función f es continua en [0,1] y cambia de signo en los extremos, según el Teorema de Bolzano f se anula en (0,1).Para la unicidad, calculamos f'(x)> df:=diff(f(x),x);

:= df + 1 e( )−x

f'(x) es claramente positiva, por lo tanto f es creciente y la solución es única.(c) Resolución gráfica de la inecuación> inec:=1/2^n<0.5*10^(-4);

:= inec < 1

2n .00005000000000

> plot(inec,n=0..20);

n 2015105

1

0.8

0.6

0.4

0.2

0

Observamos en el gráfico que debemos tomar n=15.(d) Valor de las iteraciones > f:=x->x-exp(-x);

a:=0; b:=1;

Page 1

Page 2: Soluciones Tema 3: Resolución aproximada de ecuacionesfpq/minas/ejercicios/maple/ceros-sol-maple.pdf · Soluciones Tema 3: Resolución ... Ver la resolución de problemas para la

n:=5; for i from 1 to n do `******** iteración`,i,`**************`; c:=evalf((a+b)/2); if evalf(f(c)*f(a))<0 then b:=c else a:=c fi od;

:= f → x − x e( )−x

:= a 0 := b 1 := n 5, ,******** iteración 1 **************

:= c .5000000000, ,******** iteración 2 **************

:= c .7500000000, ,******** iteración 3 **************

:= c .6250000000, ,******** iteración 4 **************

:= c .5625000000, ,******** iteración 5 **************

:= c .5937500000Ejercicio 2Los apartados (a) y (b) están resueltos en el ejercicio anterior. (c). Empezamos "limpiando" la variable n. Resolvemos la inecuación gràficamente> n:='n';

:= n n> ineq:=1/2^n<0.5E-7;

:= ineq < 1

2n .5 10-7

> plot(ineq,n=20..30);

n 302826242220

1

0.8

0.6

0.4

0.2

0

Observamos en el gráfico que debemos tomar n=25> n7:=25;

:= n7 25(d) Valor de las iteraciones. Escribimos dos puntos después de od para evitar que se impriman los 25 resultados intermedios.> f:=x->x-exp(-x);

a:=0; b:=1; n:=n7; for i from 1 to n do `******** iteración`,i,`**************`; c:=evalf((a+b)/2); if evalf(f(c)*f(a))<0 then b:=c else a:=c fi od: c;

:= f → x − x e( )−x

:= a 0 := b 1 := n 25

.5671432916Page 2

Page 3: Soluciones Tema 3: Resolución aproximada de ecuacionesfpq/minas/ejercicios/maple/ceros-sol-maple.pdf · Soluciones Tema 3: Resolución ... Ver la resolución de problemas para la

(e) Resolución con fsolve y cálculo del error.> s:=fsolve(f(x)=0);

:= s .5671432904> e25:=abs(s-c);

:= e25 .12 10-8

Observamos que, efectivamente, la aproximación calculada usando 25 iteraciones del método de la bisección tiene la precisión exigida (7 decimales exactos). Ejercicio 3 (a) Representación gráfica.> plot([1/x,ln(x)],x=1..2);

x21.81.61.41.21

1

0.8

0.6

0.4

0.2

0

(c) Número de iteraciones para asegurar 5 decimales exactos.> inec:=1/2^n<0.5*10^(-5);

:= inec < 1

2n .5000000000 10-5

> n:='n'; plot(inec,n=0..20);

:= n n

n 2015105

1

0.8

0.6

0.4

0.2

0

cambio de signo en 17.54, hacen falta 18 iteraciones(d) Valor de las 4 primeras iteraciones.> f:=x->1/x-ln(x);

a:=1; b:=2; n:=4; for i from 1 to n do `******** iteración`,i,`**************`; c:=evalf((a+b)/2); if evalf(f(c)*f(a))<0 then b:=c else a:=c fi od;

:= f → x − 1x

( )ln x

:= a 1 := b 2 := n 4, ,******** iteración 1 **************

Page 3

Page 4: Soluciones Tema 3: Resolución aproximada de ecuacionesfpq/minas/ejercicios/maple/ceros-sol-maple.pdf · Soluciones Tema 3: Resolución ... Ver la resolución de problemas para la

:= c 1.500000000, ,******** iteración 2 **************

:= c 1.750000000, ,******** iteración 3 **************

:= c 1.875000000, ,******** iteración 4 **************

:= c 1.812500000(e) Valor de la iteración 18. Esta versión del programa no muestra los valores intermedios de c.> f:=x->1/x-ln(x);

a:=1; b:=2; n:=18; for i from 1 to n do `******** iteración`,i,`**************`; c:=evalf((a+b)/2); if evalf(f(c)*f(a))<0 then b:=c else a:=c fi od: c;

:= f → x − 1x

( )ln x

:= a 1 := b 2 := n 18

1.763225557(f) Solución calculada por Maple y error.> s:=fsolve(f(x));

:= s 1.763222834> e18:=abs(s-c);

:= e18 .2723 10-5

Problema 4(a) Representación gráfica.> plot([ln(x),exp(-x)],x=1..2);

x21.81.61.41.21

0.7

0.6

0.5

0.4

0.3

0.2

0.1

0

(c) Necesitamos 18 iteraciones.(d) Valor de las cuatro primeras iteraciones.> f:=x->ln(x)-exp(-x);

a:=1; b:=2; n:=4; for i from 1 to n do `******** iteración`,i,`**************`; c:=evalf((a+b)/2); if evalf(f(c)*f(a))<0 then b:=c else a:=c fi od;

:= f → x − ( )ln x e( )−xPage 4

Page 5: Soluciones Tema 3: Resolución aproximada de ecuacionesfpq/minas/ejercicios/maple/ceros-sol-maple.pdf · Soluciones Tema 3: Resolución ... Ver la resolución de problemas para la

:= a 1 := b 2 := n 4, ,******** iteración 1 **************

:= c 1.500000000, ,******** iteración 2 **************

:= c 1.250000000, ,******** iteración 3 **************

:= c 1.375000000, ,******** iteración 4 **************

:= c 1.312500000(e) Cálculo de c18.> f:=x->ln(x)-exp(-x);

a:=1; b:=2; n:=18; for i from 1 to n do `******** iteración`,i,`**************`; c:=evalf((a+b)/2); if evalf(f(c)*f(a))<0 then b:=c else a:=c fi od: c;

:= f → x − ( )ln x e( )−x

:= a 1 := b 2 := n 18

1.309803011(f) Error.> s:=fsolve(f(x));

error:=abs(s-c);

:= s 1.309799586

:= error .3425 10-5

Problema 5(a) Expresamos la ecuación en forma normal f(x)=0 y definimos f(x).> f:=v->9.81*0.002-1.4E-5*v^1.5-1.15E-5*v^2;

:= f → v − − .01962 .000014 v1.5 .0000115 v2

Calculamos el valor de f en 20,30 y 40.> f(20.),f(30.),f(40.);

, ,.01376780193 .00696956526 -.00232175098Tenemos un cambio de signo en [30,40], como la función es contínua en el intervalo, el Teorema de Bolzano nos permite afirmar que f se anual en (30,40).Construimos un gráfico para confirmar la existencia de raíz y obtener una primera estimación de su valor.> plot(f(x),x=30..40);

Page 5

Page 6: Soluciones Tema 3: Resolución aproximada de ecuacionesfpq/minas/ejercicios/maple/ceros-sol-maple.pdf · Soluciones Tema 3: Resolución ... Ver la resolución de problemas para la

x403836343230

0.006

0.004

0.002

0

-0.002

Podemos tomar el valor aproximado de la raíz x=37.7.(b) Número de pasos de bisección para asegurar 2 decimales exactos.> ineq:=10/2^x<0.005;

:= ineq < 10

2x .005

> plot(ineq,x=0..20);

x 2015105

1

0.8

0.6

0.4

0.2

0

cambio de signo en x=10.96, necesitamos 11 iteraciones(c) Cálculo del valor de las 2 primeras iteraciones. > f:=v->9.81*0.002-1.4E-5*v^1.5-1.15E-5*v^2;

a:=30; b:=40; n:=3; for i from 1 to n do `******** iteración`,i,`**************`; c:=evalf((a+b)/2); if evalf(f(c)*f(a))<0 then b:=c else a:=c fi od;

:= f → v − − .01962 .000014 v1.5 .0000115 v2

:= a 30 := b 40 := n 3, ,******** iteración 1 **************

:= c 35., ,******** iteración 2 **************

:= c 37.50000000, ,******** iteración 3 **************

:= c 38.75000000Calculo de c11.> f:=v->9.81*0.002-1.4E-5*v^1.5-1.15E-5*v^2;

a:=30; b:=40;

Page 6

Page 7: Soluciones Tema 3: Resolución aproximada de ecuacionesfpq/minas/ejercicios/maple/ceros-sol-maple.pdf · Soluciones Tema 3: Resolución ... Ver la resolución de problemas para la

n:=11; for i from 1 to n do `******** iteración`,i,`**************`; c:=evalf((a+b)/2); if evalf(f(c)*f(a))<0 then b:=c else a:=c fi od: c;

:= f → v − − .01962 .000014 v1.5 .0000115 v2

:= a 30 := b 40 := n 11

37.73925782Según nuestros cálculos, la velocidad terminal es de v=37.74 m/s.(d) Resolución con fsolve y error.> s:=fsolve(f(x));

e18:=abs(s-c);

:= s 37.73457794 := e18 .00467988

Observamos que, efecto, nuestra aproximación tiene 2 decimales ecactos. Sin embargo si redondeamos a dos decimales la solución obtenida con fsolve, el valor de la velocidad terminal sería v=37.73 m/s.La diferencia en el segundo decimal se debe a la acumulación del error de aproximación y el error de redondeo.Problema 6(a) Escribimos la ecuación en forma normal f(x)=0 y definimos f(x) como función.> f:=x->tan(0.1*x)-9.2*exp(-x);

:= f → x − ( )tan .1 x 9.2 e( )−x

Existencia y unicidad. Ver la resolución de problemas para la discusión acerca de la continuidad de f en [3,4].> f(3.);

-.1487047794> f(4.);

.2542893409Calculamos la derivada> df:=diff(f(x),x);

:= df + + .1 .1 ( )tan .1 x 2 9.2 e( )−x

la derivada es suma de términos positivos y por lo tanto es positiva. La función es creciente y la solución es única. Observa que Maple calcula la derivada de tan(x) como 1+(tan(x))^2. Esta expresión es equivalente a 1/(cos(x))^2.(b) El intervalo inicial es de longitud 1, sabemos de ejercicios anteriores que para asegurar 5 decimales exactos necesitamos 18 iteraciones.Calculamos directamente el valor c18 sin imprimir los resultados intermedios.> a:=3;

b:=4; n:=18; for i from 1 to n do `******** iteración`,i,`**************`; c:=evalf((a+b)/2); if evalf(f(c)*f(a))<0 then b:=c else a:=c fi od: c;

:= a 3 := b 4 := n 18

3.292926791(c) Sustituimos nuestra aproximación en f> f(c);

.9867 10-6

vemos que el resultado f(c18) no es cero, pero es un número bastante próximo a cero.(d) Solución con fsolve y error.> s:=fsolve(f(x));

e18:=abs(s-c);Page 7

Page 8: Soluciones Tema 3: Resolución aproximada de ecuacionesfpq/minas/ejercicios/maple/ceros-sol-maple.pdf · Soluciones Tema 3: Resolución ... Ver la resolución de problemas para la

:= s 3.292924615

:= e18 .2176 10-5

Problema 7(a) La forma de la ecuación más adecuada para dibujar un representación gráfica esquemática a mano es x=exp(-x)> plot([x,exp(-x)],x=-1..3);

x 321-1

3

2

1

0

-1

Vemos que hay una solución de valor aproximado x0=0.5.(b) Aplicamos el método de Newton-Raphson con valor incial x0=0.5> f:=x->x-exp(-x);

df:=D(f); x0:=0.5; n:=3; for i from 0 to n do x.(i+1):=evalf(x.i-f(x.i)/df(x.i)); od;

:= f → x − x e( )−x

:= df → x + 1 e( )−x

:= x0 .5 := n 3

:= x1 .5663110032 := x2 .5671431650 := x3 .5671432904 := x4 .5671432904

(c) Aplicamos el método explicado en el resumen para verificar si la aproximación obtenida tiene 8 decimales exactos.> emax:=0.5*10^(-8);

a:=x4-emax; b:=x4+emax; f(a); f(b);

:= emax .5000000000 10-8

:= a .5671432854 := b .5671432954

-.79 10-8

.78 10-8

Hay cambio de signo, por lo tanto, x4 aproxima la solución con 8 decimales exactos.

Problema 8> f:=x->tan(0.1*x)-9.2*exp(-x);;

df:=D(f); x0:=3.5; n:=3; for i from 0 to n do x.(i+1):=evalf(x.i-f(x.i)/df(x.i)); od;

Page 8

Page 9: Soluciones Tema 3: Resolución aproximada de ecuacionesfpq/minas/ejercicios/maple/ceros-sol-maple.pdf · Soluciones Tema 3: Resolución ... Ver la resolución de problemas para la

:= f → x − ( )tan .1 x 9.2 e( )−x

:= df → x + + .1 .1 ( )tan .1 x 2 9.2 e( )−x

:= x0 3.5 := n 3

:= x1 3.277030081 := x2 3.292831611 := x3 3.292924612 := x4 3.292924615

Podemos tomar la solución x=3.29292.Sustituyendo en la ecuación, obtenemos > f(x4);

0La solución con es> fsolve(f(x)=0,x=3..4);

3.292924615Problema 9> f:=v->9.81*0.002-1.4E-5*v^1.5-1.15E-5*v^2;

df:=D(f); x0:=30.; n:=5; for i from 0 to n do x.(i+1):=evalf(x.i-f(x.i)/df(x.i)); od;

:= f → v − − .01962 .000014 v1.5 .0000115 v2

:= df → v − − .0000210 v.5 .0000230 v := x0 30. := n 5

:= x1 38.65761127 := x2 37.74489496 := x3 37.73457926 := x4 37.73457794 := x5 37.73457794 := x6 37.73457794

Sustituimos en la ecuación> f(x.6);

0Problema 10Para obtener = x 41 , planteamos la ecuación x^2-41=0. Tomamos como valor inicial x0=6.5.> f:=x->x^2-41;

df:=D(f); x0:=6.5; n:=3; for i from 0 to n do x.(i+1):=evalf(x.i-f(x.i)/df(x.i)); od;

:= f → x − x2 41 := df → x 2 x

:= x0 6.5 := n 3

:= x1 6.403846154 := x2 6.403124278 := x3 6.403124237 := x4 6.403124238Page 9

Page 10: Soluciones Tema 3: Resolución aproximada de ecuacionesfpq/minas/ejercicios/maple/ceros-sol-maple.pdf · Soluciones Tema 3: Resolución ... Ver la resolución de problemas para la

Sustituimos en la ecuación > f(x4);

.1 10-7

Verificamos el resultado.> sqrt(41.)-x4;

-.1 10-8

Problema 11Formulamos el problema mediante la ecuación x^5-23=0, tomamos como valor inicial x0=1.5.> f:=x->x^5-23;

df:=D(f); x0:=1.5; n:=5; for i from 0 to n do x.(i+1):=evalf(x.i-f(x.i)/df(x.i)); od;

:= f → x − x5 23

:= df → x 5 x4

:= x0 1.5 := n 5

:= x1 2.108641975 := x2 1.919586823 := x3 1.874456501 := x4 1.872176796 := x5 1.872171231 := x6 1.872171231

> f(x6);

.3 10-7

> 23.^0.2-x6;

0Problema 12Calculamos la fórmula recurrente de Newton-Raphson para la ecuación 1/x-c=0 y simplificamos > c:='c';

f:=x->1/x-c; f1:=diff(f(x),x); x-f(x)/f1; expand(");

:= c c

:= f → x − 1x

c

:= f1 −1

x2

+ x⎛

⎝⎜⎜

⎠⎟⎟ −

1x

c x2

− 2 x x2 cCálculo de 1/9. Tomaos como valor inicial x0:=0.1.> c:=9;

f:=x->1/x-c; df:=D(f); x0:=0.1; n:=5; for i from 0 to n do x.(i+1):=evalf(x.i-f(x.i)/df(x.i)); od;

:= c 9

:= f → x − 1x

cPage 10

Page 11: Soluciones Tema 3: Resolución aproximada de ecuacionesfpq/minas/ejercicios/maple/ceros-sol-maple.pdf · Soluciones Tema 3: Resolución ... Ver la resolución de problemas para la

:= df → x −1

x2

:= x0 .1 := n 5

:= x1 .1100000000 := x2 .1111000000 := x3 .1111111100 := x4 .1111111111 := x5 .1111111111 := x6 .1111111111

Cálculo de 1/45. Tomaos como valor inicial x0:=0.01.> c:=45;

f:=x->1/x-c; df:=D(f); x0:=0.01; n:=6; for i from 0 to n do x.(i+1):=evalf(x.i-f(x.i)/df(x.i)); od;

:= c 45

:= f → x − 1x

c

:= df → x −1

x2

:= x0 .01 := n 6

:= x1 .01550000000 := x2 .02018875000 := x3 .02203614681 := x4 .02222066414 := x5 .02222222211 := x6 .02222222222 := x7 .02222222222

> 1/45.;

.02222222222Cálculo de 1/678. Tomaos como valor inicial x0:=0.001.> c:=678;

f:=x->1/x-c; df:=D(f); x0:=0.001; n:=5; for i from 0 to n do x.(i+1):=evalf(x.i-f(x.i)/df(x.i)); od;

:= c 678

:= f → x − 1x

c

:= df → x −1

x2

:= x0 .001 := n 5

:= x1 .001322000000 := x2 .001459070248 := x3 .001474755796 := x4 .001474926234Page 11

Page 12: Soluciones Tema 3: Resolución aproximada de ecuacionesfpq/minas/ejercicios/maple/ceros-sol-maple.pdf · Soluciones Tema 3: Resolución ... Ver la resolución de problemas para la

:= x5 .001474926254 := x6 .001474926254

> 1/678.;

.001474926254> Problema 13(a) Definimos la función de iteración, g es continua con derivada continua en [0,1].> g:=x->(x+cos(x))/2;

:= g → x + 12

x12

( )cos x

En este caso, vamos a usar una representación gráfica para estimar g([0,1]). Mira la resolución de problemas para ver como se resuelve esta parte analíticamente.> plot(g(x),x=0..1);

x10.80.60.40.20

0.75

0.7

0.65

0.6

0.55

0.5

Está claro que g es creciente y que g([0,1])=[g(0),g(1)]=[0.5,0.78] que está incluido en [0,1].Calculamos la derivada de g y determinamos M1. > g1:=D(g);

:= g1 → x − 12

12

( )sin x

> plot(abs(g1(x)),x=0..1);

x10.80.60.40.20

0.5

0.4

0.3

0.2

0.1

Podemos tomar M1=0.5. Como M1<1, el método iterativo de punto fijo definido por g es convergente(b) Número de iteraciones para asegurar 5 decimales exactos.> n:='n';

M1:=0.5; ineq:=M1^n<0.5*10^(-5);

:= n n := M1 .5

:= ineq < .5n .5000000000 10-5

> plot(ineq,n=10..40,thickness=3);

Page 12

Page 13: Soluciones Tema 3: Resolución aproximada de ecuacionesfpq/minas/ejercicios/maple/ceros-sol-maple.pdf · Soluciones Tema 3: Resolución ... Ver la resolución de problemas para la

n40353025201510

1

0.8

0.6

0.4

0.2

0

la inecuación se hace cierta a partir de n= 17.8; necesitamos 18 iteraciones(c) Valor de las 5 primeras iteraciones.> g:=x->(x+cos(x))/2;

x0:=0.5; n:=5; for i from 0 to n do x.(i+1):=evalf(g(x.i)); od;

:= g → x + 12

x12

( )cos x

:= x0 .5 := n 5

:= x1 .6887912810 := x2 .7304030635 := x3 .7376543073 := x4 .7388512527 := x5 .7390469553 := x6 .7390789026

(d) Valor de x18. > g:=x->(x+cos(x))/2;

x0:=0.5; n:=17; for i from 0 to n do x.(i+1):=evalf(g(x.i)); od;

:= g → x + 12

x12

( )cos x

:= x0 .5 := n 17

:= x1 .6887912810 := x2 .7304030635 := x3 .7376543073 := x4 .7388512527 := x5 .7390469553 := x6 .7390789026 := x7 .7390841164 := x8 .7390849673 := x9 .7390851062 := x10 .7390851288 := x11 .7390851325 := x12 .7390851332Page 13

Page 14: Soluciones Tema 3: Resolución aproximada de ecuacionesfpq/minas/ejercicios/maple/ceros-sol-maple.pdf · Soluciones Tema 3: Resolución ... Ver la resolución de problemas para la

:= x13 .7390851332 := x14 .7390851332 := x15 .7390851332 := x16 .7390851332 := x17 .7390851332 := x18 .7390851332

Verificamos el resultado.> s:=fsolve(x=g(x));

error:=abs(s-x18);

:= s .7390851332 := error 0

Observa que el método converge mucho antes de lo previsto, de hecho el valor g'(x) cerca de la raíz es aprox. 0.2, con ese valor de M1, el número de iteraciones sería n=8.> ineq:=0.2^x<0.5*10^(-5);

plot(ineq,x=0..15);

:= ineq < .2x .5000000000 10-5

x1412108642

1

0.8

0.6

0.4

0.2

0

Si tomamos como valor incial 0.73, vemos que el método converge en 8 iteraciones> g:=x->(x+cos(x))/2;

x0:=0.73; n:=7; for i from 0 to n do `***********************`; x.(i+1):=evalf(g(x.i)); error.(i+1):=abs(x.(i+1)-x.i); od;

:= g → x + 12

x12

( )cos x

:= x0 .73 := n 7

*********************** := x1 .7375872012

:= error1 .0075872012***********************

:= x2 .7388402650 := error2 .0012530638

*********************** := x3 .7390451611

:= error3 .0002048961***********************

:= x4 .7390786098 := error4 .0000334487

*********************** := x5 .7390840687Page 14

Page 15: Soluciones Tema 3: Resolución aproximada de ecuacionesfpq/minas/ejercicios/maple/ceros-sol-maple.pdf · Soluciones Tema 3: Resolución ... Ver la resolución de problemas para la

:= error5 .54589 10-5

*********************** := x6 .7390849596

:= error6 .8909 10-6

*********************** := x7 .7390851049

:= error7 .1453 10-6

*********************** := x8 .7390851287

:= error8 .238 10-7

Problema 14> g:=x->(x+exp(-x))/2;

:= g → x + 12

x12

e( )−x

> g1:=D(g);

:= g1 → x − 12

12

e( )−x

Representamos la desigualdad g1(x)>0. > plot(g1(x)>0,x=-3..3,thickness=3);

x 321-1-2-3

1

0.8

0.6

0.4

0.2

0

La gráfica nos permite afirmar que la derivada es postiva para x>0, en particular en el intervalo [0.5,1]. Por lo tanto la función g es creciente en el intervalo y la imagen del intervalo [0.5,1] es [g(0.5),g(1)].> g(0.5);

.5532653299> g(1.);

.6839397206Tenemos g([0.5,1])=[.5533,0.6839] que está incluido en [0.5,1]. Pasamos a determinar M1, máximo del valor absoluto de la derivada en [0.5,1]> plot(abs(g1(x)),x=0.5..1);

x10.90.80.70.60.5

0.3

0.28

0.26

0.24

0.22

0.2

Podemos tomar M1=0.316> M1:=abs(g1(1.));

:= M1 .3160602794Iteraciones para 5 decimales> ineq:=M1^x*0.5<0.5*10^(-5); Page 15

Page 16: Soluciones Tema 3: Resolución aproximada de ecuacionesfpq/minas/ejercicios/maple/ceros-sol-maple.pdf · Soluciones Tema 3: Resolución ... Ver la resolución de problemas para la

plot(ineq,x=0..11);

:= ineq < .5 .3160602794x .5000000000 10-5

x 108642

1

0.8

0.6

0.4

0.2

0

> plot(ineq,x=9.95..10.05,thickness=2);

x 10.0410.02109.989.96

1

0.8

0.6

0.4

0.2

0

necesitamos 10 iteraciones> g:=x->(x+exp(-x))/2;

x0:=0.75; n:=9; for i from 0 to n do `***********************`; x.(i+1):=evalf(g(x.i)); e.(i+1):=abs(x.(i+1)-x.i); od;

:= g → x + 12

x12

e( )−x

:= x0 .75 := n 9

*********************** := x1 .6111832764 := e1 .1388167236

*********************** := x2 .5769457957 := e2 .0342374807

*********************** := x3 .5692784102 := e3 .0076673855

*********************** := x4 .5676060368 := e4 .0016723734

*********************** := x5 .5672434722 := e5 .0003625646

*********************** := x6 .5671649740 := e6 .0000784982

*********************** := x7 .5671479834Page 16

Page 17: Soluciones Tema 3: Resolución aproximada de ecuacionesfpq/minas/ejercicios/maple/ceros-sol-maple.pdf · Soluciones Tema 3: Resolución ... Ver la resolución de problemas para la

:= e7 .0000169906***********************

:= x8 .5671443061

:= e8 .36773 10-5

*********************** := x9 .5671435103

:= e9 .7958 10-6

*********************** := x10 .5671433381

:= e10 .1722 10-6

La parada por error estimado tendría lugar en la vuelta 8, tenemos el valor x8=.56714 Verificamos el resultado.> s:=fsolve(x=g(x),x=0.5..1);

er:=abs(s-x8);

:= s .5671432904

:= er .10157 10-5

> x10-g(x10);

.373 10-7

Punto fijo g(x)= x-Lf(x)

Ejercicio 15Escribimos la ecuación en forma normal f(x)=0; y definimos la función de iteración = ( )g x − x λ ( )f x . Para más detalles ver la solución de problemas.> f:=x->tan(0.1*x)-9.2*exp(-x);

a:=3; b:=4; fa:=evalf(f(a)); fb:=evalf(f(b)); f1:=(fb-fa)/(b-a); lambda:=1/f1; g:=x-lambda*f(x); g:=unapply(g,x); `******************`; x0:=evalf((a+b)/2); n:=8; for i from 0 to n do x.(i+1):=g(x.i); od;

:= f → x − ( )tan .1 x 9.2 e( )−x

:= a 3 := b 4

:= fa -.1487047794 := fb .2542893409 := f1 .4029941203 := λ 2.481425782

:= g − + x 2.481425782 ( )tan .1 x 22.82911719 e( )−x

:= g → x − + x 2.481425782 ( )tan .1 x 22.82911719 e( )−x

****************** := x0 3.500000000

:= n 8 := x1 3.283588487 := x2 3.294128906 := x3 3.292774547 := x4 3.292943399Page 17

Page 18: Soluciones Tema 3: Resolución aproximada de ecuacionesfpq/minas/ejercicios/maple/ceros-sol-maple.pdf · Soluciones Tema 3: Resolución ... Ver la resolución de problemas para la

:= x5 3.292922265 := x6 3.292924909 := x7 3.292924579 := x8 3.292924619 := x9 3.292924614

Ejercicio 16> f:=x->x-cos(x);

a:=0; b:=1; fa:=evalf(f(a)); fb:=evalf(f(b)); f1:=(fb-fa)/(b-a); lambda:=1/f1; g:=x-lambda*f(x); g:=unapply(g,x); `******************`; x0:=evalf((a+b)/2); n:=7; for i from 0 to n do x.(i+1):=g(x.i); od;

:= f → x − x ( )cos x := a 0 := b 1 := fa -1.

:= fb .4596976941 := f1 1.459697694 := λ .6850733574

:= g + .3149266426 x .6850733574 ( )cos x := g → x + .3149266426 x .6850733574 ( )cos x

****************** := x0 .5000000000

:= n 7 := x1 .7586717534 := x2 .7361182309 := x3 .7395176934 := x4 .7390216954 := x5 .7390944288 := x6 .7390837710 := x7 .7390853328 := x8 .7390851040

> Ejercicio 17> f:=x->x^2-55;

a:=7; b:=8; fa:=evalf(f(a)); fb:=evalf(f(b)); f1:=(fb-fa)/(b-a); lambda:=1/f1; g:=x-lambda*f(x); g:=unapply(g,x); `******************`; x0:=evalf((a+b)/2); n:=5; for i from 0 to n do x.(i+1):=g(x.i);

Page 18

Page 19: Soluciones Tema 3: Resolución aproximada de ecuacionesfpq/minas/ejercicios/maple/ceros-sol-maple.pdf · Soluciones Tema 3: Resolución ... Ver la resolución de problemas para la

od;

:= f → x − x2 55 := a 7 := b 8 := fa -6. := fb 9. := f1 15.

:= λ .06666666667

:= g − + x .06666666667 x2 3.666666667

:= g → x − + x .06666666667 x2 3.666666667******************

:= x0 7.500000000 := n 5

:= x1 7.416666667 := x2 7.416203704 := x3 7.416198545 := x4 7.416198488 := x5 7.416198487 := x6 7.416198487

Ejercicio 18(a) Tomamos Re=30000, e=0.0025. Sabemos que el orden de magnitud para la solución es 10^(-2). tomamos como intervalo inicial [0.01,0,1].> re:=30000;

d:=0.1; e:=0.0025; f:=x->x-(1.14-2.0*log[10](e/d+9.35/re/sqrt(x)))^(-2); a:=0.01; b:=0.1; fa:=evalf(f(a)); fb:=evalf(f(b)); f1:=(fb-fa)/(b-a); lambda:=1/f1;

:= re 30000 := d .1

:= e .0025

:= f → x − x1

⎝⎜⎜

⎠⎟⎟ − 1.14 2.0

⎝⎜⎜

⎠⎟⎟log10 +

ed

9.35

re x

2

:= a .01 := b .1

:= fa -.04557044318 := fb .04618075627 := f1 1.019457772 := λ .9809136067

El cambio de signo de fa y fb nos asegura que hay solución en el intervalo, f1 es la estimación de la derivada en la raíz. Construimos la función de iteración y calculamos 7 pasos> g:=x-lambda*f(x);

g:=unapply(g,x); `******************`; x0:=evalf((a+b)/2); n:=6; for i from 0 to n do x.(i+1):=evalf(g(x.i)); od;

Page 19

Page 20: Soluciones Tema 3: Resolución aproximada de ecuacionesfpq/minas/ejercicios/maple/ceros-sol-maple.pdf · Soluciones Tema 3: Resolución ... Ver la resolución de problemas para la

:= g + .0190863933 x.9809136067

⎜⎜⎜⎜⎜

⎟⎟⎟⎟⎟ − 1.14 2.0

⎝⎜⎜

⎠⎟⎟ln + .02500000000

.0003116666666

x( )ln 10

2

:= g → x + .0190863933 x.9809136067

⎜⎜⎜⎜⎜

⎟⎟⎟⎟⎟ − 1.14 2.0

⎝⎜⎜

⎠⎟⎟ln + .02500000000

.0003116666666

x( )ln 10

2

****************** := x0 .05500000000

:= n 6 := x1 .05412218746 := x2 .05411417540 := x3 .05411410321 := x4 .05411410256 := x5 .05411410255 := x6 .05411410254 := x7 .05411410254

Sustituimos el valor obtenido en la ecuación. > f(x7);

-.5 10-10

(b) Repetimos los cálculos para Re=3000000, e=0.0001.> re:=3000000;

d:=0.1; e:=0.0001; f:=x->x-(1.14-2.0*log[10](e/d+9.35/re/sqrt(x)))^(-2); a:=0.01; b:=0.1; fa:=evalf(f(a)); fb:=evalf(f(b)); f1:=(fb-fa)/(b-a); lambda:=1/f1; g:=x-lambda*f(x); g:=unapply(g,x); `******************`; x0:=evalf((a+b)/2); n:=4; for i from 0 to n do x.(i+1):=evalf(g(x.i)); od;

:= re 3000000 := d .1

:= e .0001

:= f → x − x1

⎝⎜⎜

⎠⎟⎟ − 1.14 2.0

⎝⎜⎜

⎠⎟⎟log10 +

ed

9.35

re x

2

:= a .01 := b .1

:= fa -.00976298714 := fb .08033741994 := f1 1.001115634 := λ .9988856093

Page 20

Page 21: Soluciones Tema 3: Resolución aproximada de ecuacionesfpq/minas/ejercicios/maple/ceros-sol-maple.pdf · Soluciones Tema 3: Resolución ... Ver la resolución de problemas para la

:= g + .0011143907 x.9988856093

⎜⎜⎜⎜⎜

⎟⎟⎟⎟⎟ − 1.14 2.0

⎝⎜⎜

⎠⎟⎟ln + .001000000000

.3116666666 10-5

x( )ln 10

2

:= g → x + .0011143907 x.9988856093

⎜⎜⎜⎜⎜

⎟⎟⎟⎟⎟ − 1.14 2.0

⎝⎜⎜

⎠⎟⎟ln + .001000000000

.3116666666 10-5

x( )ln 10

2

****************** := x0 .05500000000

:= n 4 := x1 .01971821008 := x2 .01972087610 := x3 .01972087200 := x4 .01972087202 := x5 .01972087202

Sustituimos en la ecuación para verificar la solución > f(x5);

0Calculamos con fsolve> s:=fsolve(f(x)=0);

:= s .01972087203> f(s);

.1 10-10

Page 21