Vous êtes sur la page 1sur 27

UNIVERSIDAD DE LAS FUERZAS ARMADAS - ESPE

Departamento de Ciencias Exactas

INTEGRACION Y DERIVACION NUMERICA

Autor:

Andres C ardenas

Ingeniero:

Jose Luis Marcillo

2013 - 2014

NUMERICA I. DERIVACION

El deber de derivaci on e integraci on debe ser desarrollado por medio de matlab y presentar el deber en Latex, el deber ser a entregado el dia del ex amen al comandante de cada curso.

1. Escribir una funci on MATLAB df(x) que admita como entradas un vector de puntos x y los valodes de una funci on f en los mismos, y que calcule el valor de la derivada primera en los mismos utilizando la f ormula de diferencia adelantada. Para calcular el valor en el extremo superior debe usarse la f ormula de diferencia retrasada. El c odigo utilizado es el siguiente:
function ejercicio1 clc clear all fprintf ( Derivaci o n Num e rica \ n ) ; n = input ( Ingrese el numero de puntos que va a ingresar : ) ; h = input ( \ nIngrese el valor de h : ) ; x =1: n ; y =1: n ; d =1: n ; for i =1: n fprintf ( \ nIngrese el valor de x %d : ,i -1) ; x ( i ) = input ( ) ; fprintf ( \ nIngrese el valor de f ( x %d ) : ,i -1) ; y ( i ) = input ( ) ; end y1 = polyfit (x ,y ,n -1) ; %syms m ; display ( y1 ) ; %y2 = poly2sym ( y1 , m ) ; %display ( y2 ) ; fprintf ( Derivada con diferencia adelantada \ n ) ; for i =1: n -1 d ( i ) =( polyval ( y1 , x ( i ) + h ) - polyval ( y1 , x ( i ) ) ) / h ; fprintf ( f ( x %d ) = %.4 f \ n ,i -1 , d ( i ) ) ; end fprintf ( Derivada con diferencia retrasada \ n ) ; d ( n ) =( polyval ( y1 , x ( i ) ) - polyval ( y1 , x ( i ) -h ) ) / h ; fprintf ( f ( x %d ) = %.4 f \ n ,n -1 , d ( n ) ) ;

El programa admite como entrada los valores de x, f(x) con lo cual interpola y obtiene los coecientes del polinomio interpolador, donde luego de evaluar los f(xi) nos arroja resultados de las primeras derivadas.

2. Aplicar la f ormula de dos puntos adelantada al c alculo de la derivada primera de f (x) = sinx en x = 2,13432. Comprobar que al ir reduciendo h el error se reduce de manera aproximadamente lineal con h. El c odigo utilizado es el siguiente:
function ejercicio2 clc clear all fprintf ( Derivaci o n Num e rica \ n ) ; fprintf ( Derivada con diferencia adelantada \ n ) ; syms x f = sin ( x ) ; xo =2.13432; h = input ( \ nIngrese el valor de h : ) ; der =1:7; disp ( der ) ; m = xo : xo :7* xo ; for i =1:7 der ( i ) =( subs (f ,x , xo *( i ) + h ) - subs (f ,x , xo *( i ) ) ) / h ; end f1 = diff ( sym ( f ) ) ; d = subs ( f1 ,x , m ) ; error =( d - der ) ; error = error ./ d ; display ( error ) ; display ( m ) ; display ( der ) ; h1 = h : h :7* h ; xx = linspace (h , h *7) ; p = polyfit ( h1 , error ,1) z = polyval (p , xx ) ; error = abs ( error ) ; plot ( xx ,z , h1 , error , ro ) ;

Una vez corrido el programa obtenemos los siguientes resultados, y la graca donde se evidencia el comportamiento del error en funcion de h:

3. Repetir el ejercicio anterior comparando la precisi on de la f ormula de diferencia adelantada con la retrasada. Aplicar 1 1 tambi en ambas f ormulas al c alculo de la derivada de la funci on g (x) = (1+ en x = 2 . ex ) El c odigo utlizado:
function ejercicio3 clc clear all fprintf ( Derivaci o n Num e rica \ n ) ; fprintf ( Derivada con diferencia adelantada \ n ) ; syms x f = 1/(1+ exp ( x ) ) ; xo =1/2; h = input ( \ nIngrese el valor de h : ) ; der =( subs (f ,x , xo + h ) - subs (f ,x , xo ) ) / h ; fprintf ( Derivada con diferencia adelantada : %.4 f \ n , der ) ; der1 =( subs (f ,x , xo ) - subs (f ,x , xo - h ) ) / h ; fprintf ( Derivada con diferencia atrasada : %.4 f \ n , der1 ) ; f1 = diff ( sym ( f ) ) ; d = subs ( f1 ,x , xo ) ; error = abs (( d - der ) / d ) ; error1 = abs (( d - der1 ) / d ) ; fprintf ( Error con diferencia adelantada : %f \ n , error ) ; fprintf ( Error con diferencia atrasada : %f \ n , error1 ) ; if ( error == error1 ) fprintf ( El error es igual ) ; else if error > error1 fprintf ( El error de la diferencia retrasada es menor que la diferencia adelantada ) ; else fprintf ( El error de la diferencia adelantada es menor que la diferencia retrasada ) ; end end

El programa nos arroja a la pantalla lo siguiente:

4. Supongamos que se conoce el valor de la derivada mediante la f ormula de diferencia adelantada para tres valores de h diferentes. Es p osible estimar el valor del h optimo? Es posible estimar el error que se comete en el c alculo en cada uno de los casos?. Aplicarlo al c alculo de la derivada de la funci on f (x) = senx en x=0.6 usando h=0.1, h=0.01 y h=0.0000000001. Soluci on El mejor valor que se le puede dar a b es aquel que este mas proximo a cero. En otras palabras h 0. Es posible unicamente cuando se conoce el valor real de la derivada de la funcion original. Los resultados que nos arroja Matlab son: C alculo con h = 0,1

C alculo con h = 0,01

C alculo con h = 0,0000000001

5. Calcular la derivada de la funci on f (x) = tan(x) en x=3.14 usando h=0.1 y h=0.01. Comparar el resultado con el valor exacto. Es buena la aproximaci on? Por qu e?. El valor de la derivada utilizando derivaicion num erica es muy bueno, porque el error estimado osila entre 0 y 0.33 por ciento por lo tanto es una muy buena aproximaci on. El c alculo con h=0.01 nos arroja un error del 0 por lo tanto es mucho m as preciso que si utilizamos h=0.1 El codigo utilizado es el siguiente:

function D e r i v a c i o n A d e l a n t e clc clear all syms x h =0; y = input ( Ingrese la funci o n que desea derivar : ) ; xi = input ( Ingrese el punto en el cual desea calcular la derivada : ) ; while (h <=0) h = input ( Ingrese h : ) ; if (h <=0) display ( h debe ser mayor a cero ) end end vreal = subs ( diff ( y ) ,x , xi ) ; vaproximado =( subs (y ,x , xi + h ) - subs (y ,x , xi ) ) / h ; vreal2 = subs ( diff ( diff ( y ) ) ,x , xi ) ; vaproximado2 =( subs (y ,x , xi +2* h ) -2* subs (y ,x , xi + h ) + subs (y ,x , xi ) ) /( h ^2) ; error = abs (( vreal - vaproximado ) / vreal ) *100; error2 = abs (( vreal2 - vaproximado2 ) / vreal2 ) *100; fprintf ( \ nValor real 1 ra derivada : %.4 f \ n , vreal ) fprintf ( Valor aproximado 1 ra derivada : %.4 f \ n , vaproximado ) fprintf ( Error : %.2 f %\n , error ) fprintf ( \ nValor real 2 da derivada : %.4 f \ n , vreal2 ) fprintf ( Valor aproximado 2 da derivada : %.4 f \ n , vaproximado2 ) fprintf ( Error : %.2 f %\n , error2 )

La aplicacion en Matlab nos inidica lo siguiente:

1 6. Calcular cotas para el error de truncaci on que se comete al aproximar las derivadas de las funciones f (x) = 1+senx y g (x) = log (1 + 2x) . Calcular las cotas teniendo en cuenta el error de redondeo y comprobar que los errores reales est an por debajo de lo permitido por la cota. Las f ormulas m as utilizadas son las que emplean tres y cinco puntos de evaluaci on. Las siguientes f ormulas se obtienen de las f ormulas de 3 puntos:

Si tomamos nodos equidistantes para aproximar f0 (x) con x1 = x, x2 = x + h y x3 = x + 2h, con h > 0 de acuerdo con la f ormula anterior tenemos: f (x) = 3f (x) + 4f (x + h) f (x + 2h) h2 (3) + f ( ) 2h 3

que se conoce como f ormula progresiva de tres puntos. Si los nodos son x1 = x 2h, x2 = x h y x3 = x, con h > 0 de acuerdo con la f ormula anterior tenemos: f (x ) = f (x 2h) 4f (x h) + 3f (x) h2 (3) + f ( ) 2h 3

se conoce como f ormula regresiva de tres puntos. Si tomamos x1 = x h, x2 = x y x3 = x + h para aproximar f0 (x), nos queda lo que se conoce como f ormula centrada de tres puntos. f ( x + h) f ( x h) h2 (3) f (x) = f ( ) 2h 6

Observemos que la cota del error en este u ltimo caso es aproximadamente la mitad que en los otros dos casos, adem as esta f ormula necesita menos evaluaciones de f que la anterior. El error de truncamiento, si f (3) () no cambia muy r apidamente, tiende a cero a la misma velocidad que h2 . Ahora bien de acuerdo al ejemplo anterior no es aconsejable elegir h demasiado peque no, por lo que ser a u til disponer de f ormulas que aproximen f (x) y que tengan un error de truncamiento de orden mayor al dado. f (x ) =
1 1+sin(x)

g (x) = ln(1 + 2x)

7. Construir una tabla de derivadas primeras de las funci on g(x) denida por la siguiente tabla en los puntos xj con la mayor precisi on posible mediante f ormulas de tres puntos. x 1.0 1.2 1.4 1.8 2.0 Soluci on y C alculos Para la solucion de este ejercicio utilizaremos el programa que se realizo en el ejercicio numero 1, donde ingresamos el numero de puntos que deseamos y sus respectivas imagenes, el programa determina el polinomio interpolador, evalua las derivadas en esos puntos y nos devuelve los valores. C odigo a utilizarse: g(x) 1.000000 0.997502 0.990025 0.960398 0.940678

function ejercicio1 clc clear all fprintf ( Derivaci o n Num e rica \ n ) ; n = input ( Ingrese el numero de puntos que va a ingresar : ) ; h = input ( \ nIngrese el valor de h : ) ; x =1: n ; y =1: n ; d =1: n ; for i =1: n fprintf ( \ nIngrese el valor de x %d : ,i -1) ; x ( i ) = input ( ) ; fprintf ( \ nIngrese el valor de f ( x %d ) : ,i -1) ; y ( i ) = input ( ) ; end y1 = polyfit (x ,y ,n -1) ; %syms m ; display ( y1 ) ; %y2 = poly2sym ( y1 , m ) ; %display ( y2 ) ; fprintf ( Derivada con diferencia adelantada \ n ) ; for i =1: n -1 d ( i ) =( polyval ( y1 , x ( i ) + h ) - polyval ( y1 , x ( i ) ) ) / h ; fprintf ( f ( x %d ) = %.4 f \ n ,i -1 , d ( i ) ) ;

end fprintf ( Derivada con diferencia retrasada \ n ) ; d ( n ) =( polyval ( y1 , x ( i ) ) - polyval ( y1 , x ( i ) -h ) ) / h ; fprintf ( f ( x %d ) = %.4 f \ n ,n -1 , d ( n ) ) ;

Con estos valores podremos completar el cuadro de las primeras derivadas.

x 1.0 1.2 1.4 1.8 2.0

g(x) 1.000000 0.997502 0.990025 0.960398 0.940678

g(x) -0.0067 -0.0308 -0.0569 -0.966 -0.0897

8. Usando la f ormula de diferencia centrada calcular la derivada primera de la funci on f (x) = arctanx en el punto x = 2 (el valor correcto es 1 . Utilizar diferentes valores de h y estudiar los efecctos de los errores de redondeo y de truncaci on. 3 Codigo a utilizarse
function D e r i v a c i o n C e n t r a d a clc clear all syms x h =0; y = input ( Ingrese la funci o n que desea derivar : ) ; xo = input ( Ingrese el punto en el cual desea calcular la derivada : ) ; while (h <=0) h = input ( Ingrese h : ) ; if (h <=0) display ( h debe ser mayor a cero ) end end vreal = subs ( diff ( y ) ,x , xo ) ; vaproximado1 =( subs (y ,x , xo + h ) - subs (y ,x , xo - h ) ) /(2* h ) ; vaproximado2 =( - subs (y ,x , xo +2* h ) +8* subs (y ,x , xo + h ) -8* subs (y ,x , xo - h ) + subs (y ,x , xo -2* h ) ) /(12* h ) ; error1 = abs (( vreal - vaproximado1 ) / vreal ) *100; error2 = abs (( vreal - vaproximado2 ) / vreal ) *100; fprintf ( Valor real : %.8 f \ n , vreal ) fprintf ( Valor aproximado de orden O ( h ^2) : %.8 f \ n , vaproximado1 ) fprintf ( Valor aproximado de orden O ( h ^4) : %.8 f \ n , vaproximado2 ) fprintf ( Error1 : %.8 f \ n , error1 ) fprintf ( Error2 : %.8 f \ n , error2 )

La aplicacion en Matlab nos muestra lo siguiente Para h=0.1

Para h=0.01

Podemos observar en este ejemplo que el error disminuye a medida que h disminuye. 9. Deducir una f ormula de cinco puntos que utilice los valores de la funci on en lo puntos x, x+h, x+2h, x+3h y x-h para calcular f (x).

Para la deduccion de la funcion con esos valores se empesara con la expacion de la serie de Taylor f (x) =
f n hn n! f h2 2! h2 2!

f (x + 3h) = f (x) + f (x)h + f (x + 3h) = f (x) + f (x)h + f (x) =

h3 3!

f (x+h)2f (x)+f (xh) h2

h3 3!

f (x+3h)3f (x+2h)+f (x+h)f (x) h3

3f (xh)+f (x)6f (x+h)+3f (x+2h)+5f (x+3h) 6h

NUMERICA II. INTEGRACION

1. Construya programas en MATLAB para las reglas compuestas: rect angulo, trapecio y Simpson. Para el desarollo de los siguientes ejercicios a desarollado, se emplearan los programas proporcionados por cada uno de los equipos. PROGRAMA PARA TRAPECIO SIMPLE
clear all ; clc ; syms x res = s ; while res ~= n fprintf ( Escuela Polit e cnica del Ej e rcito \ n ) ; fprintf ( M e todos num e ricos \ n ) ; fprintf ( \ n \ t ~~~~~~~~.:" INTEGRACION NUM E RICA ":.~~~~~~~~ ) fprintf ( \ n \ t ~~~~.:" REGLA DEL TRAPECIO ":.~~~~\ n ) fprintf ( Calculo de la integral por el M e todo del Trapecio \ n \ n ) ; funcion = input ( ingrese la funcion \ n f ( x ) = , s ) ; b = input ( ingrese el limite superior de la integral \ n ) ; a = input ( ingrese el limite inferior de la integral \ n ) ; h =b - a ; x=a; f = eval ( funcion ) ; x=b; fa = ( f + eval ( funcion ) ) *( h /2) ; fprintf ( El valor aproximado es : %10.15 f \ n \ n , fa ) fun = inline ( funcion ) ; absc = a :0.001: b ; ezplot ( fun , absc ) ; grid on ylabel ( F ( x ) ) xlabel ( x ) title ( Gr a fica de la funci o n ) fprintf ( \ n \ nDesea ingresar otra funcion ? ( s o n ) \ n ) res = input ( , s ) ; while res ~= s && res ~= n && res ~= S && res ~= N fprintf ( s o n ! \ n ) res = input ( , s ) ; end aprox =0; a =0; b =0; n =0; end

PROGRAMA PARA TRAPECIO COMPUESTO


function t r a p e c i o _ c o m p u e s t o () syms x res = s ; while res ~= n clc fprintf ( Escuela Polit e cnica del Ej e rcito \ n ) ; fprintf ( M e todos num e ricos \ n ) ; fprintf ( Integrantes :\ n ) ; fprintf ( \ tMarco Paredes \ n ) ; fprintf ( \ tJuan Paredes \ n ) ; fprintf ( \ tJorge Mart nez \ n ) ; fprintf ( \ tLuis Rom a n \ n \ n ) ; fprintf ( \ n \ t ~~~~~~~~.:" INTEGRACION NUM E RICA ":.~~~~~~~~ ) fprintf ( \ n \ t ~~~~.:" REGLA DEL TRAPECIO COMPUESTO ":.~~~~\ n ) f = input ( \ nIngrese la funci on : , s ) ; fprintf ( \ tDigite los limites de integraci o n :\ n ( intervalo en que se evaluara el valor numerico de la integral de la funci o n ) \ n ) a = input ( a = ) ; b = input ( b = ) ; fprintf ( \ tDigite el numero de subintervalos :\ n ( partes en los que se dividira la funci o n dentro del intervalo ) \ n ) n = input ( n = ) ; fprintf ( \ nFunci o n : ) ; disp ( f )

fprintf ( De a = %.2 f ,a ) ; fprintf ( \t - >\ tHacia b = %.2 f ,b ) ; fun = inline ( f ) ; absc = a :0.001: b ; ezplot ( fun , absc ) ; grid on ylabel ( F ( x ) ) xlabel ( x ) title ( Gr a fica de la funci o n ) h =( b - a ) / n ; aprox = fun ( a ) + fun ( b ) ; for i =1: n -1 x=a+i*h; aprox = aprox +2* fun ( x ) ; end aprox =( h /2) * aprox ; fprintf ( \ n \ nLa integral de la funci o n en el intervalo [ %.2f , %.2 f ]( l mites ) , con n = %. f \ n ,a ,b , n ) fprintf ( \ nEs a pr ox im a da me nt e : %f , aprox ) ; fprintf ( \ n \ nDesea ingresar otra funcion ? ( s o n ) \ n ) res = input ( , s ) ; while res ~= s && res ~= n && res ~= S && res ~= N fprintf ( s o n ! \ n ) res = input ( , s ) ; end aprox =0; a =0; b =0; n =0; end

PROGRAMA PARA SIMPSON 1/3 SIMPLE


function s i mp so nu n te rc io clc clear all fprintf ( * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * INTEGRACION NUM E RICA SIMPSON 1/3 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * \ n \ n ) syms x y1 = input ( ingrese la funcion : \ n ) a = input ( ingrese el limite inferior : \ n ) b = input ( ingrese el limite superior : \ n ) c = ( b + a ) *0.5 h =( b - a ) *0.5 fxa = subs ( y1 ,x , a ) fxb = subs ( y1 ,x , b ) fxc = subs ( y1 ,x , c ) int =( h /3) *( fxa +4* fxc + fxb ) integral = quadl ( inline ( char ( y1 ) ) ,a , b ) error =( integral - int ) / integral ; disp ( error ) fprintf ( la integral es : %.4 f , int ) hold on grid on absc = a :0.0001: b ; plot ( absc , subs ( y1 ,x , absc ) , r ) ; xlabel ( X ) ylabel ( Y )

PROGRAMA PARA SIMPSON 1/3 COMPUESTO


function s i m p s o n u n t e r c i o c o m p u e s t o clc clear all fprintf ( * * * * * * * * * * * * * * * * * * * * * * * * * * * INTEGRACION NUM E RICA SIMPSON 1/3 COMPUESTO * * * * * * * * * * * * * * * * * * * * * * * * * * * * * \ n \ n ) syms x y1 = input ( Ingrese la funcion : \ n ) a = input ( Ingrese el limite inferior : \ n ) b = input ( Ingrese el limite superior : \ n ) n =3 while ( mod (n ,2) ~=0) n = input ( Ingrese el numero de subintervalos ( deben ser m u ltiplos de 2) : \ n )

end v =1: n +1; div =( b - a ) / n fv =1: n +1 for k =1: n +1 v ( k ) = a + div *( k -1) fv ( k ) = subs ( y1 ,x , v ( k ) ) ; end disp ( v ) disp ( fv ) h =( b - a ) *0.5 fxa = subs ( y1 ,x , a ) fxb = subs ( y1 ,x , b ) acu1 =0 for i =3:2: n disp ( i ) acu1 = acu1 + fv ( i ) end acu2 =0 for j =2:2: n disp ( j ) acu2 = acu2 + fv ( j ) end int =( b - a ) *(( fxa +2* acu1 +4* acu2 + fxb ) /(3* n ) ) y2 =(x)y1;fprintf(la integral es: hold ongrid onabsc=a:0.0001:b;plot(absc,subs(y1,x,absc),r);xlabel(X)ylabel(Y)

PROGRAMA PARA SIMPSON 3/8 SIMPLE


function s i m p s o n t r e s o c t a v o s clc clear all fprintf ( * * * * * * * * * * * * * * * * * * * * * * * * * * * INTEGRACION NUM E RICA SIMPSON 3/8 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * \ n \ n ) syms x y1 = input ( Ingrese la funcion : \ n ) ; a = input ( Ingrese el limite inferior : \ n ) ; b = input ( Ingrese el limite superior : \ n ) ; n =3; v =1: n +1; h =( b - a ) / n ; fv =1: n +1; for k =1: n +1 v ( k ) = a + h *( k -1) ; fv ( k ) = subs ( y1 ,x , v ( k ) ) ; end disp ( v ) ; disp ( fv ) ; fxa = subs ( y1 ,x , a ) ; fxb = subs ( y1 ,x , b ) ; int =( b - a ) *(( fxa +3* fv (2) +3* fv (3) + fxb ) /(8) ) ; %q = quad ( y1 ,0 ,1) ; fprintf ( la integral es : %.4 f , int ) ; grid on hold on absc = a :0.001: b ; for i = a :0.001: b plot (i , subs ( y1 ,x , i ) , b ) ; end plot ( absc , subs ( y1 ,x , absc ) , r ) ; area ( subs ( y1 ,x , absc ) ) ; xlabel ( X ) ylabel ( Y )

PROGRAMA PARA SIMPSON 3/8 COMPUESTO


function s i m p s o n t r e s o c t a v o s clc clear all fprintf ( * * * * * * * * * * * * * * * * * * * * * * * * * * * INTEGRACION NUM E RICA SIMPSON 1/3 COMPUESTO * * * * * * * * * * * * * * * * * * * * * * * * * * * * * \ n \ n ) syms x y1 = input ( Ingrese la funcion : \ n )

a = input ( Ingrese el limite inferior : \ n ) b = input ( Ingrese el limite superior : \ n ) n =4 while ( mod (n ,3) ~=0) n = input ( Ingrese el n u mero de subintervalos ( debe ser m u ltiplo de 3) : ) end v =1: n +1; div =( b - a ) / n fv =1: n +1 for k =1: n +1 v ( k ) = a + div *( k -1) fv ( k ) = subs ( y1 ,x , v ( k ) ) end disp ( v ) disp ( fv ) h =( b - a ) / n fxa = subs ( y1 ,x , a ) fxb = subs ( y1 ,x , b ) acu1 =0 for i =2:3: n disp ( i ) acu1 = acu1 + fv ( i ) end acu2 =0 for j =3:3: n disp ( j ) acu2 = acu2 + fv ( j ) end acu3 =0 for i =4:3: n -1 disp ( i ) acu3 = acu3 + fv ( i ) end int =(3/8) * h *( fxa +3* acu1 +3* acu2 +2* acu3 + fxb ) %q = quad ( y1 ,0 ,1) ; fprintf ( la integral es : %.4 f , int ) hold on grid on absc =a -1:0.0001: b +2; plot ( absc , subs ( y1 ,x , absc ) , r ) ; xlabel ( X ) ylabel ( Y )

2. Aproxime cada una de las siguientes integrales, utilizando los programas desarrollados.

1 (1 1

+ x2 )1 dx Soluci on

2 0

2xcon(x)dx Soluci on

sin(2x)ex dx Soluci on

3. Considere las siguientes funciones:

x3 para0 x 1 sin(x) para0 x ex para0 x 1

Teniendo presente que:

Longitud de una curva. La longitud de una curva y=f(x) denida sobre un intervalo [a,b] es:

longitud =

b a

1 + (f (x))2 dx

Area de una supercie de revoluci on. El a rea de la supercie del s olido de revoluci on se obtiene al girar alrededor del eje OX la regi on limitada por la curva y=f(x) y el intevalo [a,b], viene dada por:

a rea = 2

b a

f (x)

1 + (f (x))2 dx

Calcula la longitud de curva y la supercie de revoluci on de las curvas dadas, utilizando las reglas compuestas. Realize, adem as, un an alisis del error cometido por cada uno de los m etodos. Mostrar las gr acas. f (x) = x3 para 0 x 1 f (x) longitud = =
0 1

3x2
1

g (x)dx 1 + 9x4 dx
0

= g (0,5) g (0,5) g
(4)

= = = =

1,8 8,208 119,88


1

(0,5) area

h(x)dx
0 1

=
0

2x3 1,1625 7,476 199,1831

1 + 9x4

h (0,5) h (0,5) h f (x) = sin(x) para 0 x /4 f (x ) longitud = =


(4)

= = =

(0,5)

cos(x)
/4

g (x)dx
0 /4

=
0

1 + cos2 (x)dx 0,2596 0,5689 1,9084


/4

g (/8) g (/8) g
(4)

= = = =

(/8) area

h(x)dx
0 /4

=
0

2sen(x) 7,2786 7,6564 38,6602

1 + cos2 (x)dx

h (/8) h (/8) h
(4)

= = =

(/8)

f (x) = ex para 0 x 1 f (x ) longitud = =


0 1

ex
1

g (x)dx 1 + e2x dx
0

= g (0,5) g (0,5) g (4) (0,5) area = = = =


0 1

0,3145 0,5444 0,8749


1

h(x)dx 2ex 1 + e2x dx

=
0

h (0,5) h (0,5) h(4) (0,5)

= = =

5,6558 8,9296 37,5192

Al ingresar las funciones, sus l mites, y luego ponerlas como argumentos de los programas modicados: f1l=@(x)(sqrt(1+9*x^4)); f1a=@(x)(2*pi*x^3*sqrt(1+9*x^4)); a1=0; b1=1; [l1r e1r]=int_rec2(f1l,a1,b1,1E5,1.8) [l1t e1t]=int_trap2(f1l,a1,b1,1E5,8.208) [l1s e1s]=int_simp2(f1l,a1,b1,1E5,-119.88) [a1r e1r]=int_rec2(f1a,a1,b1,1E5,1.1625) [a1t e1t]=int_trap2(f1a,a1,b1,1E5,7.476) [a1s e1s]=int_simp2(f1a,a1,b1,1E5,199.18) f2l=@(x)(sqrt(1+(cos(x))^2)); f2a=@(x)(2*pi*sin(x)*sqrt((1+(cos(x))^2))); a2=0; b2=pi/4; [l2r e2r]=int_rec2(f2l,a2,b2,1E5,-0.2596) [l2t e2t]=int_trap2(f2l,a2,b2,1E5,-0.5689) [l2s e2s]=int_simp2(f2l,a2,b2,1E5,1.9084) [a2r e2r]=int_rec2(f2a,a2,b2,1E5,7.2786) [a2t e2t]=int_trap2(f2a,a2,b2,1E5,-7.6564) [a2s e2s]=int_simp2(f2a,a2,b2,1E5,38.6602) f3l=@(x)(sqrt(1+(exp(-2*x)))); f3a=@(x)(2*pi*exp(-x)*sqrt(1+(exp(-2*x)))); a3=0; b3=1; [l3r e3r]=int_rec2(f3l,a3,b3,1E5,-0.3145) [l3t e3t]=int_trap2(f3l,a3,b3,1E5,0.5444) [l3s e3s]=int_simp2(f3l,a3,b3,1E5,0.8749) [a3r e3r]=int_rec2(f3a,a3,b3,1E5,-5.6558) [a3t e3t]=int_trap2(f3a,a3,b3,1E5,8.9296) [a3s e3s]=int_simp2(f3a,a3,b3,1E5,37.5192) Se obtiene los siguientes resultados para la longitud: rect angulo trapecio simpson cuadratura error cuadratura error cuadratura error f1 (x) 1.5478 9x106 1.5478 6.84x1011 1.5478 4.16x1022 f2 (x) 1.0581 8x107 1.0581 2.29x1012 1.0581 1.98x1024 f3 (x) 1.1927 1.57x106 1.1927 4.53 x1012 1.1927 3.03x1024

y los siguientes resultados para el area: rectangulo trapecio simpson cuadratura error cuadratura error cuadratura error f1 (x) 3.5632 5.81x106 3.5629 6.23x1011 3.5630 6.916x1022 f2 (x) 2.4224 2.24x105 2.4224 3.09x1011 2.4224 4.01x1023 f3 (x) 4.8492 2.82x105 4.8492 7.44x1011 4.8492 1.3x1022

Gracas
erl =[9 E -6 8E -7 1.57 E -6]; etl =[6.84 E -11 2.29 E -12 4.53 E -12]; esl =[4.16 E -22 1.98 E -24 3.03 E -24]; era =[5.81 E -6 2.24 E -5 2.82 E -5]; eta =[6.23 E -11 3.09 E -11 7.44 E -11]; esa =[6.916 E -22 4.01 E -23 1.3 E -22]; x =1:3; plot (x , erl ) ; hold on ; plot (x , etl , c ) ; plot (x , esl , y ) ; plot (x , era ) ; plot (x , eta , c ) ; plot (x , esa , g ) ; ylabel ( Error ) grid on

Erect = Etrap = Esimp = Regla del rectangulo


disp ( Rectangulo compuesta ) syms x ; f = input ( Ingrese la funcion : ) ; a = input ( Ingrese a : ) ; b = input ( Ingrese b : ) ; t = input ( Ingrese t : ) ; [ int ] = int_rec ( f ,a ,b , t ) h =( b - a ) / t ; x = linspace (a ,b , t ) ; int =0; for i =1: t int = int + h * f ( x ( i ) ) ; end

(b a)h f (c ) 2 (b a)h2 f (c) 12

ba M ba M ba 2M

(b a)h4 (4) f (c) 180

Regla del trapecio


disp ( Trapecio compuesta ) syms x ; f = input ( Ingrese la funcion : ) ; a = input ( Ingrese a : ) ; b = input ( Ingrese b : ) ; t = input ( Ingrese t : ) ; [ int ] = int_trap ( f ,a ,b , t ) h =( b - a ) / t ;

x = linspace (a ,b , t +1) ; int = ( h /2) *( f ( a ) + f ( b ) ) ; for i =2: t -1 int = int + h *( f ( x ( i ) ) ) ; end

Regla de Simpson
disp ( Simpson compuesta ) syms x ; f = input ( Ingrese la funcion : ) ; a = input ( Ingrese a : ) ; b = input ( Ingrese b : ) ; t = input ( Ingrese t : ) ; [ int ] = int_simp ( f ,a ,b , M ) h =( b - a ) /(2* M ) ; x = linspace (a ,b , 2* M + 1) ; int = ( h /3) *( f ( a ) + f ( b ) ) ; for i =2: M -1 int = int + ((2* h ) /3) *( f ( x (2* i ) ) ) ; end for i =2: M int = int + ((4* h ) /3) *( f ( x (2* i -1) ) ) ; end

4. Determine las constantes wo , w1 y w2 de manera que:

2 0

g (t)dt = wo g (0) + w1 g (1) + w2 g (2)

Sea exacta para las funciones g(t)=1, g(t)=t, g(t)=t2

g (t) = 1 g (0) = 1, g (1) = 1, g (2) = 1


2 2

g (t)dt
0

=
0 2

dt t
0

= = por lo tanto:

2 = w0 + w1 + w2 g (t) = t g (0) = 0, g (1) = 1, g (2) = 2


2 2

g (t)dt
0

= = = t 2 2

tdt
0 2 2 0

por lo tanto: 2 = w1 + 2w2 g (t) = t2 g (0) = 0, g (1) = 1, g (2) = 4


2 2

g (t)dt
0

= = = t 3 8 3

t2 dt
0 3 2 0

por lo tanto: 8 = w1 + 4w2 3

Armando el sistema con las 3 ecuaciones f (w) encontradas, se tiene: w0 0 0 + + + w1 w1 w1 + + + w2 2 w2 4 w2 = = = 2 2


8 3

Resolviendo el sistema se obtienen los valores de las costantes: w0 = 1 3 w1 = 4 3 w2 = 1 3

5. Use la relaci on f(x0 + ht)=g(t) y el cambio de variable x = xo + ht con dx = hdt para transladar la regla de Simpson desde [0,2] hasta el intervalo [x0 , x2 ]. Si se sabe que el polinomio interpolador de Lagrange para M = 2, que es el corespondiente a la regla de Simpson es: P2 (x) = f0 (x x1 )(x x2 ) (x x0 )(x x2 ) (x x0 )(x x1 ) + f1 + f2 (x0 x1 )(x0 x2 ) (x1 x0 )(x1 x2 ) (x2 x0 )(x2 x1 )

Puesto que f0 , f1 , y f2 son constantes a la hora de integrar, las relaciones dadas en la parte de arriba quedan, en este caso:
x2 x2

f (x)dx
x0

f0
x0 x2

(x x1 )(x x2 ) dx + f1 (x0 x1 )(x0 x2 ) (x x0 )(x x1 ) (x2 x0 )(x2 x1 )

x2 x0

(x x0 )(x x2 ) (x1 x0 )(x1 x2 )

f2
x0

x2

x2

f (x)dx
x0

f0
x0 x2

(x x1 )(x x2 ) dx + f1 (x0 x1 )(x0 x2 ) (x x0 )(x x1 ) (x2 x0 )(x2 x1 )


2 0

x2 x0

(x x0 )(x x2 ) (x1 x0 )(x1 x2 )

f2
x0 2

x2

f (x)dx
x0

+ = + = = = = =

f0
0 2

h(t 1)h(t 2) dx + f1 (0 h)(0 2h) h(t 0)h(t 1) (2h 0)(2h h) h(t 1)h(t 2) dx + f1 (h)(2h) h(t)h(t 1) (2h)(h)
2

h(t 0)h(t 2) dx (h 0)(h 2h)

f2
0 2

2 0

f0
0 2

h(t)h(t 2) dx (h)(h)

f2
0

f0 2 hf0 2

(t2 3t + 2)hdt f1
0 2 0

(t2 2t)hdt +
2

f2 2 hf2 2

(t2 t)hdt
0 2

(t2 3t + 2)dt hf1


0 0

(t2 2t)dt +

(t2 t)dt
0

hf0 t3 3t2 t3 hf2 t3 t2 ( + 2t) |2 t 2 ) |2 ( ) |2 0 hf1 ( 0 + 0 2 3 2 3 2 3 2 hf0 8 12 8 hf2 8 4 ( + 4) hf1 ( 4) + ( ) 2 3 2 3 2 3 2 h (f0 + 4f1 + f2 ) 3 h (f0 + 4f1 + f2 ) 3

x2

f (x)dx
x0

6. Determine en cada uno de los siguientes casos, el n umero m y el tama no de los subintervalos h de manera que la regla del trapecio y la de Simpson (conciderar cada regla por separado) con m subintervalos nos permita obtener la integral dada con una presici on de 5x109 .
\6 \6

cos(x)dx

3 1 dx 2 5x 2 0

xex dx

/6 /6

cos(x)dx

Para la regla del trapecio f (x) = cos(x) f (x) = cos(x) c = = {max(|f (x)|)/x [/6, 6]} 0 |f (c)| |f (0)| = 1 reemplazando |f (c)| en la f ormula del error: ET rap = = = (b a)f (c) 2 h 12 (/6 + /6)1 2 h 12 2 h 36

la precisi on que nos pide el enunciado es de 5x109 , entonces el error E deber ser menor o igual que dicha precisi on, adem as para este caso h = 5/M , as a se tiene: ET rap 2 h 36 25 36M 2 25 x109 36(5) 20888, 56 5x109 5x109 5x109 M2 M

pero como M debe, necesariamente se un n umero entero, se aproxima al inmediato entero superior: M = 20889 luego reemplazar el valor de M en h = 5/M : h = = = Para la regla de Simpson f (x) = cos(x) f (4) (x) = cos(x) c = = {max(|f (4) (x)|)/x [/6, 6]} 0 |f (4) (c)| |f (4) (0)| = 1 reemplazando |f (4) (c)| en la f ormula del error: ESimp = = = (b a)f (4) (c) 4 h 180 (/6 + /6)1 4 h 180 4 h 540 5 M 5 20889 0,00023936

la precisi on que nos pide el enunciado es de 5x109 , entonces el error E deber ser menor o igual que dicha precisi on, adem as para este caso h = 5/2M , as a se tiene: ESimp 4 h 540 625 540(16)M 4 625 x109 540(16)(5) 82, 108 5x109 5x109 5x109 M4 M

pero como M debe, necesariamente se un n umero entero, se aproxima al inmediato entero superior: M = 83 luego reemplazar el valor de M en h = 5/2M : h = = =
3 1 dx 2 5x

5 2M 5 2(83) 0,03012048193

Para la regla del trapecio 1 5x 2 f (x) = (x 5)3 f (x) = c = = {max(|f (x)|)/x [2, 3]} 3

|f (c)| |f (3)| = 0,25 reemplazando |f (c)| en la f ormula del error: ET rap = = = (b a)f (c) 2 h 12 (3 2)0,25 2 h 12 1 2 h 48

la precisi on que nos pide el enunciado es de 5x109 , entonces el error E deber ser menor o igual que dicha precisi on, adem as para este caso h = 5/M , as a se tiene: ET rap 1 2 h 48 25 48M 2 25 x109 48(5) 10206, 20 5x109 5x109 5x109 M2 M

pero como M debe, necesariamente se un n umero entero, se aproxima al inmediato entero superior: M = 10207 luego reemplazar el valor de M en h = 5/M : h = = = 5 M 5 10207 0,000489859

Para la regla de Simpson 1 5x 24 f (4) (x) = (x 5)5 f (x) = c = = {max(|f (4) (x)|)/x [2, 3]} 3

|f (4) (c)| |f (4) (3)| = 0,75 reemplazando |f (4) (c)| en la f ormula del error: ESimp = = = (b a)f (4) (c) 4 h 180 (3 2)0,75 4 h 180 1 4 h 240

la precisi on que nos pide el enunciado es de 5x109 , entonces el error E deber ser menor o igual que dicha precisi on, adem as para este caso h = 5/2M , as a se tiene: ESimp 1 4 h 240 625 240(16)M 4 625 x109 240(16)(5) 75, 53 5x109 5x109 5x109 M2 M

pero como M debe, necesariamente se un n umero entero, se aproxima al inmediato entero superior: M = 76 luego reemplazar el valor de M en h = 5/M : h = = =
2 0

5 2M 5 2(76) 0,03289473684

xex dx

Para la regla del trapecio f (x) = xex f (x) = c = = x2 ex

{max(|f (x)|)/x [0, 2]} 0 |f (c)| |f (0)| = 2

reemplazando |f (c)| en la f ormula del error: ET rap = = = (b a)f (c) 2 h 12 (2 0)2 2 h 12 1 2 h 3

la precisi on que nos pide el enunciado es de 5x109 , entonces el error E deber ser menor o igual que dicha precisi on, adem as para este caso h = 5/M , as a se tiene: ET rap 1 2 h 3 25 3M 2 25 x109 3(5) 40824, 82 5x109 5x109 5x109 M2 M

pero como M debe, necesariamente se un n umero entero, se aproxima al inmediato entero superior: M = 40825 luego reemplazar el valor de M en h = 5/M : h = = = Para la regla de Simpson f (x) = xex f (4) (x) = c = = x2 ex 5 M 5 40825 0,000122473

{max(|f (4) (x)|)/x [0, 2]} 0 |f (4) (c)| |f (4) (0)| = 4

reemplazando |f (4) (c)| en la f ormula del error: ESimp = = = (b a)f (4) (c) 4 h 180 (2 0)4 4 h 180 2 4 h 45

la precisi on que nos pide el enunciado es de 5x109 , entonces el error E deber ser menor o igual que dicha precisi on, adem as para este caso h = 5/2M , as a se tiene: ESimp 2 4 h 45 2(625) 45(16)M 4 2(625) x109 45(16)(5) 136, 506 5x109 5x109 5x109 M2 M

pero como M debe, necesariamente se un numero entero, se aproxima al inmediato entero superior: M = 137 luego reemplazar el valor de M en h = 5/M : h = = = 5 2M 5 2(137) 0,01824817518

Vous aimerez peut-être aussi