taller 7_m_n

5
Universidad Nacional de Colombia – Sede Bogotá Facultad de Ingeniería Métodos Numéricos Jhohan Ricardo Franco Sánchez – [email protected] Víctor Julián Amado Otálora – [email protected] Taller 7: Integrales Consideraciones: I. Realice las demostraciones de la fórmula de Simpson 3/8 y de Boole, las cuales serán anexadas al taller. II. Realice los algoritmos propuestos. 1. Dada la siguiente tabla calcule f(x). Evalué la integral desde 0 hasta 1.8. Use los cuatro métodos mencionados y calcule el error de los resultados. Algoritmo Metodo Trapecio function [area]=trapecio(a, b, f) area=0; h=(b-a); //calculamos el primer termino de la serie areaa=f(a); //calculamos el segundo termino de la serie areab=f(b); suma=areaa+areab; area=suma*(h/2); endfunction Metodo Simpson function [area]=simpson(a, b, f) area=0; //se inicia la variable area con 0 h=(b-a)/2; //se calcula el ancho del trapecio //calculamos del primer al tercer termino de la serie areaa=f(a); areab=f(a+h); areac=f(a+(2*h)); suma=areaa+4*areab+areac; //se multiplica por el factor común al principio de la serie. area=suma*(h/3); endfunction Metodo Simpson 3/8 function [area]=simpson38(a, b, f) area=0; //se inicia la variable area con 0 h=(b-a)/3; //se calcula el ancho del trapecio //calculamos del primer al tercer termino de la serie areaa=f(a); areab=f(a+h); areac=f(a+(2*h)); aread=f(a+(3*h)); suma=areaa+3*areab+3*areac+aread; //se multiplica por el factor común al principio de la serie. area=suma*(3*h/8); endfunction Metodo de Boole function [area]=boole(a, b, f) area=0; //se inicia la variable area con 0 h=(b-a)/4; //se calcula el ancho del trapecio //calculamos del primer al tercer termino de la serie areaa=f(a); areab=f(a+h); areac=f(a+(2*h)); aread=f(a+(3*h)); areae=f(a+(4*h)); suma=7*areaa+32*areab+12*areac+32*aread+7*areae; //se multiplica por el factor común al principio de la serie. area=suma*(2*h/45); endfunction Metodo interpolación de Newton (La utilizaremos para hallar puntos que no se encuentran en la tabla) function [result, coef, matriz]=newtoninter(x, f, punto) n = length(x); matriz(:,1)=f'; for j=2:n for i=j:n matriz(i,j)= ( matriz(i-1,j-1)-matriz(i,j-1)) / (x(i-j+1)- x(i)); end end coef = diag(matriz)'; diferencias(1,:) = 1;

Upload: juan-camilo-mortigo

Post on 11-Dec-2015

215 views

Category:

Documents


1 download

DESCRIPTION

Taller de Métodos Numéricos

TRANSCRIPT

Page 1: Taller 7_M_N

Universidad Nacional de Colombia – Sede Bogotá Facultad de Ingeniería

Métodos Numéricos Jhohan Ricardo Franco Sánchez – [email protected]

Víctor Julián Amado Otálora – [email protected]

Taller 7: Integrales

Consideraciones: I. Realice las demostraciones de la fórmula

de Simpson 3/8 y de Boole, las cuales serán anexadas al taller.

II. Realice los algoritmos propuestos.

1. Dada la siguiente tabla calcule f(x). Evalué la integral desde 0 hasta 1.8. Use los cuatro métodos mencionados y calcule el error de los resultados.

Algoritmo

Metodo Trapecio function [area]=trapecio(a, b, f) area=0; h=(b-a); //calculamos el primer termino de la serie areaa=f(a); //calculamos el segundo termino de la serie areab=f(b); suma=areaa+areab; area=suma*(h/2); endfunction

Metodo Simpson function [area]=simpson(a, b, f) area=0; //se inicia la variable area con 0 h=(b-a)/2; //se calcula el ancho del trapecio //calculamos del primer al tercer termino de la serie areaa=f(a); areab=f(a+h); areac=f(a+(2*h)); suma=areaa+4*areab+areac; //se multiplica por el factor común al principio de la serie. area=suma*(h/3); endfunction

Metodo Simpson 3/8 function [area]=simpson38(a, b, f) area=0; //se inicia la variable area con 0 h=(b-a)/3; //se calcula el ancho del trapecio //calculamos del primer al tercer termino de la serie areaa=f(a); areab=f(a+h); areac=f(a+(2*h)); aread=f(a+(3*h)); suma=areaa+3*areab+3*areac+aread; //se multiplica por el factor común al principio de la serie. area=suma*(3*h/8); endfunction

Metodo de Boole function [area]=boole(a, b, f) area=0; //se inicia la variable area con 0 h=(b-a)/4; //se calcula el ancho del trapecio //calculamos del primer al tercer termino de la serie areaa=f(a); areab=f(a+h); areac=f(a+(2*h)); aread=f(a+(3*h)); areae=f(a+(4*h)); suma=7*areaa+32*areab+12*areac+32*aread+7*areae; //se multiplica por el factor común al principio de la serie. area=suma*(2*h/45); endfunction

Metodo interpolación de Newton (La utilizaremos para hallar puntos que no se encuentran en la tabla)

function [result, coef, matriz]=newtoninter(x, f, punto) n = length(x); matriz(:,1)=f'; for j=2:n for i=j:n matriz(i,j)= ( matriz(i-1,j-1)-matriz(i,j-1)) / (x(i-j+1)-x(i)); end end coef = diag(matriz)'; diferencias(1,:) = 1;

Page 2: Taller 7_M_N

sumatoria(1,:) = coef(1); for j = 2 : n diferencias(j,:)=(punto - x(j-1)) * diferencias(j-1,:); sumatoria(j,:) = coef(j) .* diferencias(j,:); end result=sum(sumatoria);

Algoritmo de la función function resultado=f(x) puntosx = [0,0.3,0.6,0.9,1.2,1.5,1.8]; puntosf = [0.5,0.6,0.8,1.3,2,3.2,4.8]; [resultado c m] = newtoninter(puntosx,puntosf,x); endfunction

Grafica

Resultados

2. Evalué las siguientes integrales por los cuatro métodos.

1. ∫ �𝑥 + 2𝑥�2𝑑𝑥2

1

Algoritmo function [resultado]=f(x) resultado = (x + 2/x).^2 endfunction

Grafica

Resultado

2. ∫ (6 + 3 cos 𝑥)𝑑𝑥𝜋20

Page 3: Taller 7_M_N

Algoritmo function [resultado]=f(x) resultado =6 + 3 * cos(x) endfunction

Grafica

Resultado

3. ∫ (1 − 𝑒−2𝑥)𝑑𝑥30

Algoritmo function [resultado]=f(x) resultado = 1-%e^(-2*x) endfunction

Grafica

Resultado

3. Demuestre como se calcula el error de cada

uno de los métodos de integración.

El error es la diferencia entre el valor de la integral calculada numéricamente y el valor real de la integral:

Page 4: Taller 7_M_N

Si consideremos a la función como un polinomio de Lagrange, con los puntos [𝑎, 𝑎 + ℎ, 𝑎 + 2ℎ, … , 𝑏]

( ) ( )f x P x E= + E→Error de la aprox.

� 𝑓(𝑥) = 𝑃(𝑥) − 𝐸𝑥2

𝑥0

Regla del trapecio ( ) ( ) '''( )( ) ( ) ( ) ( )( )

2x b x a f zf x f a f b x a x ba b b a− −

= + + − −− −

Donde a z b< <

Integrando a ambos lados tenemos que:

[ ] 3( ) ''( )( ) ( ) ( ) , ( )2 12

b

a

b a f zf x dx f b f a E b a−≈ + = −∫

Donde a z b< <

Si h b a= −

Entonces

[ ]3

( ) ( ) ( ) , ''( )2 12

b

a

h hf x dx f a f b E f z≈ + =∫

Para algún 𝑧 ∈ [𝑎, 𝑏]

Regla Simpson Se considera la función ( )f x en [ , ]a b por tanto:

0 1 0 2, ,x a x x h x b= = + =

Donde 2

b ah −=

𝑃(𝑥) =

0 21 20 1

0 1 0 2 1 2 1 2

( )( )( )( ) ( ) ( )( )( ) ( )( )

x x x xx x x x f x f xx x x x x x x x

− −− −+ +

− − − −

0 12

2 0 2 1

( )( ) ( )( )( )

x x x x f xx x x x− −

+− −

Realizando la integral tenemos que:

∫ 𝑃(𝑥)𝑑𝑥𝑥2𝑥0 [ ]0 1 2( ) 4 ( ) ( )

3h f x f x f x= + +

Por tanto:

[ ]2

00 1 2( ) ( ) 4 ( ) ( )

3x

x

hf x dx f x f x f x= + +∫

𝐸 = �ℎ5

90𝑓(4)(𝑧)�

Para algún 𝑧 ∈ [𝑎, 𝑏]

Regla Simpson 3/8

𝐸 = �3ℎ5

80𝑓(4)(𝑧)�

Para algún 𝑧 ∈ [𝑎, 𝑏]

Regla Boole

𝐸 = �8ℎ7

945𝑓(6)(𝑧)�

Para algún 𝑧 ∈ [𝑎, 𝑏]

4. Para estimar el área superficial y el volumen de un barril de vino, el diámetro del barril es medido en diferentes puntos a lo largo del barril. El área superficial S y el volumen están determinados por:

Page 5: Taller 7_M_N

Use la tabla para determinar el volumen y el área del barril. Use el método del trapecio y los de Simpson.

Algoritmo function resultado=r(x) z = [-18+18 -12+18 -6+18 0+18 6+18 12+18 18+18]; d = [0 2.6 3.2 4.8 5.6 6 6.2]; resultado = d(find(z==x))/2; endfunction

function resultado=r2(x) z = [-18+18 -12+18 -6+18 0+18 6+18 12+18 18+18]; d = [0 2.6 3.2 4.8 5.6 6 6.2]; resultado = d(find(z==x))^2; endfunction

function [areaTapecio, volumenTrapecio, areaSimpson, volumenSimpson, areaSimpson38, volumenSimpson38]=punto4() L = 18+18; areaTapecio = 2 * %pi * trapecio(0,L,r); volumenTrapecio = %pi * trapecio(0,L,r2); areaSimpson = 2 * %pi * simpson(0,L,r); volumenSimpson = %pi * simpson(0,L,r2); areaSimpson38 = 2 * %pi * simpson38(0,L,r); volumenSimpson38 = %pi * simpson38(0,L,r2); endfunction

Resultado