integraciÓn numÉrica con...

101
Depto. de Ingeniería Geológica y Minera E.T.S. de Ingenieros de Minas y Energía Universidad Politécnica de Madrid Informática y Programación. Curso 2018-19 C. Conde, A. Fidalgo, R. Gómez, A. López, M. Pilar Martínez de la Calle Sesión10ª INTEGRACIÓN NUMÉRICA CON MATLAB

Upload: others

Post on 30-Jan-2020

4 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: INTEGRACIÓN NUMÉRICA CON MATLABmatlab.digym.upm.es/wp-content/uploads/2019/05/IyP_Integracion_GIE_19.pdf · que utilizan, para evaluar integrales en un intervalo dado . USO DE FÓRMULAS

Dep

to. d

e In

geni

ería

Geo

lógi

ca y

Min

era

E.T

.S. d

e In

geni

eros

de

Min

as y

Ene

rgía

U

nive

rsid

ad P

olité

cnic

a de

Mad

rid

Informática y Programación. Curso 2018-19

C. Conde, A. Fidalgo, R. Gómez, A. López, M. Pilar Martínez de la Calle

Sesión10ª INTEGRACIÓN NUMÉRICA

CON MATLAB

Page 2: INTEGRACIÓN NUMÉRICA CON MATLABmatlab.digym.upm.es/wp-content/uploads/2019/05/IyP_Integracion_GIE_19.pdf · que utilizan, para evaluar integrales en un intervalo dado . USO DE FÓRMULAS

Dep

to. d

e In

geni

ería

Geo

lógi

ca y

Min

era

E.T

.S. d

e In

geni

eros

de

Min

as y

Ene

rgía

U

nive

rsid

ad P

olité

cnic

a de

Mad

rid

Informática y Programación. Curso 2018-19

C. Conde, A. Fidalgo, R. Gómez, A. López, M. Pilar Martínez de la Calle 2

PRIMER OBJETIVO: Utilizar fórmulas numéricas, de las que se conocen sus coeficientes y las abscisas del soporte que utilizan, para evaluar integrales en un intervalo dado

USO DE FÓRMULAS DE INTEGRACIÓN NUMÉRICA

Page 3: INTEGRACIÓN NUMÉRICA CON MATLABmatlab.digym.upm.es/wp-content/uploads/2019/05/IyP_Integracion_GIE_19.pdf · que utilizan, para evaluar integrales en un intervalo dado . USO DE FÓRMULAS

Dep

to. d

e In

geni

ería

Geo

lógi

ca y

Min

era

E.T

.S. d

e In

geni

eros

de

Min

as y

Ene

rgía

U

nive

rsid

ad P

olité

cnic

a de

Mad

rid

Informática y Programación. Curso 2018-19

C. Conde, A. Fidalgo, R. Gómez, A. López, M. Pilar Martínez de la Calle 3

Las fórmulas de integración numérica que aproximan derivadas de orden k en una abscisa x* son de la forma:

USO DE FÓRMULAS DE INTEGRACIÓN NUMÉRICA

n(k

J JJ 1

f (x*) c·f(s )=

≈ ∑donde cJ son los coeficientes de la fórmula y sJ las abscisas del soporte sobre el que se construye la fórmula Si {c} es el vector de coeficientes y {s} el de abscisas del soporte, el uso de la fórmula se reduce a realizar el producto escalar del vector {c} por el vector {f(s)}. Esto en MATLAB se puede realizar de distintas maneras, como se ilustra en el siguiente ejemplo

Page 4: INTEGRACIÓN NUMÉRICA CON MATLABmatlab.digym.upm.es/wp-content/uploads/2019/05/IyP_Integracion_GIE_19.pdf · que utilizan, para evaluar integrales en un intervalo dado . USO DE FÓRMULAS

Dep

to. d

e In

geni

ería

Geo

lógi

ca y

Min

era

E.T

.S. d

e In

geni

eros

de

Min

as y

Ene

rgía

U

nive

rsid

ad P

olité

cnic

a de

Mad

rid

Informática y Programación. Curso 2018-19

C. Conde, A. Fidalgo, R. Gómez, A. López, M. Pilar Martínez de la Calle 4

Prográmese en MATLAB el cálculo del valor aproximado de siendo f(x) = sen(x·π/2), mediante la fórmula del trapecio compuesta, para el caso a=0, b=1, y subdividiendo (a, b) en 20 subintervalos de idéntica longitud.

EJERCICIO (P8_EJ1)

Solución: Si dividimos (0,1) en 20 subintervalos de la misma longitud, cada uno tiene una longitud de 0.05. Si en cada uno de ellos integramos mediante la regla del trapecio ….

USO DE FÓRMULAS DE INTEGRACIÓN NUMÉRICA

b

a

f(x)·dx∫

Page 5: INTEGRACIÓN NUMÉRICA CON MATLABmatlab.digym.upm.es/wp-content/uploads/2019/05/IyP_Integracion_GIE_19.pdf · que utilizan, para evaluar integrales en un intervalo dado . USO DE FÓRMULAS

Dep

to. d

e In

geni

ería

Geo

lógi

ca y

Min

era

E.T

.S. d

e In

geni

eros

de

Min

as y

Ene

rgía

U

nive

rsid

ad P

olité

cnic

a de

Mad

rid

Informática y Programación. Curso 2018-19

C. Conde, A. Fidalgo, R. Gómez, A. López, M. Pilar Martínez de la Calle 5

con h =0.05 y sJ = (J-1)·0.05.

USO DE FÓRMULAS DE INTEGRACIÓN NUMÉRICA

f(si-1) f(si)

si-1 si J 1

J

sJ J 1

s

f(s ) f(s )f(x)·dx h· (J 1,2,...,20)2

+

++ ≈ = ∫

( )J 1

J

s1 20 201 21

JJ 1 J 20 s

f(s ) f(s )f(x)·dx f(x)·dx h· f s2

+

= =

+ = ≈ +

∑ ∑∫ ∫

h h si+1

f(si+1)

si+2

f(si+2)

Page 6: INTEGRACIÓN NUMÉRICA CON MATLABmatlab.digym.upm.es/wp-content/uploads/2019/05/IyP_Integracion_GIE_19.pdf · que utilizan, para evaluar integrales en un intervalo dado . USO DE FÓRMULAS

Dep

to. d

e In

geni

ería

Geo

lógi

ca y

Min

era

E.T

.S. d

e In

geni

eros

de

Min

as y

Ene

rgía

U

nive

rsid

ad P

olité

cnic

a de

Mad

rid

Informática y Programación. Curso 2018-19

C. Conde, A. Fidalgo, R. Gómez, A. López, M. Pilar Martínez de la Calle 6

USO DE FÓRMULAS DE INTEGRACIÓN NUMÉRICA

En resumen:

f(x)= sin(x·π/2)

s={0, 0.05, 0.1, 0.15, …., (J-1)·0.05, ….0.90, 0.95, 1.00}

c={0.025, 0.05, 0.05, …., 0.05, ….0.05, 0.05, 0.025}

DATOS

Función:

RESULTADOS:

( ) ( ) ( )1 1 2 2 21 21VAP c ·f s c ·f s ... c ·f s= + + +

1

0

VEX f(x)·dx= ∫ (Comando int)

Page 7: INTEGRACIÓN NUMÉRICA CON MATLABmatlab.digym.upm.es/wp-content/uploads/2019/05/IyP_Integracion_GIE_19.pdf · que utilizan, para evaluar integrales en un intervalo dado . USO DE FÓRMULAS

Dep

to. d

e In

geni

ería

Geo

lógi

ca y

Min

era

E.T

.S. d

e In

geni

eros

de

Min

as y

Ene

rgía

U

nive

rsid

ad P

olité

cnic

a de

Mad

rid

Informática y Programación. Curso 2018-19

C. Conde, A. Fidalgo, R. Gómez, A. López, M. Pilar Martínez de la Calle 7

clear syms x N=20; h=1/N; s=[0:1:N]*h; c(1,2:1:N)=h; c(1,1)=h/2; c(1,N+1)=h/2; funcion(x)= sin(pi*x./2); vex=eval(int(funcion(x),0, 1)); f=eval(funcion(s)); vap=0; for J=1:1:N+1 vap=vap+f(J)*c(J); end disp(['Valor exacto = ', num2str(vex),... ' Valor aproximado = ', num2str(vap)])

Con un bucle

USO DE FÓRMULAS DE INTEGRACIÓN NUMÉRICA

Page 8: INTEGRACIÓN NUMÉRICA CON MATLABmatlab.digym.upm.es/wp-content/uploads/2019/05/IyP_Integracion_GIE_19.pdf · que utilizan, para evaluar integrales en un intervalo dado . USO DE FÓRMULAS

Dep

to. d

e In

geni

ería

Geo

lógi

ca y

Min

era

E.T

.S. d

e In

geni

eros

de

Min

as y

Ene

rgía

U

nive

rsid

ad P

olité

cnic

a de

Mad

rid

Informática y Programación. Curso 2018-19

C. Conde, A. Fidalgo, R. Gómez, A. López, M. Pilar Martínez de la Calle 8

USO DE FÓRMULAS DE INTEGRACIÓN NUMÉRICA

En resumen:

f(x)= sin(x·π/2)

s={0, 0.05, 0.1, 0.15, …., (J-1)·0.05, ….0.90, 0.95, 1.00}

c={0.025, 0.05, 0.05, …., 0.05, ….0.05, 0.05, 0.025}

DATOS

Función:

RESULTADOS:

( )21

J JJ 1

VAP c ·f s=

= ∑1

0

VEX f(x)·dx= ∫

(Sumatorio; comando sum)

(Comando int)

Page 9: INTEGRACIÓN NUMÉRICA CON MATLABmatlab.digym.upm.es/wp-content/uploads/2019/05/IyP_Integracion_GIE_19.pdf · que utilizan, para evaluar integrales en un intervalo dado . USO DE FÓRMULAS

Dep

to. d

e In

geni

ería

Geo

lógi

ca y

Min

era

E.T

.S. d

e In

geni

eros

de

Min

as y

Ene

rgía

U

nive

rsid

ad P

olité

cnic

a de

Mad

rid

Informática y Programación. Curso 2018-19

C. Conde, A. Fidalgo, R. Gómez, A. López, M. Pilar Martínez de la Calle 9

clear syms x N=20; h=1/N; s=[0:1:N]*h; c(1,2:1:N)=h; c(1,1)=h/2; c(1,N+1)=h/2; funcion(x)= sin(pi*x./2); vex=eval(int(funcion(x),0, 1)); f=eval(funcion(s));

vap=sum(c.*f); disp(['Valor exacto = ', num2str(vex),... ' Valor aproximado = ', num2str(vap)])

USO DE FÓRMULAS DE INTEGRACIÓN NUMÉRICA

Sumando elementos del vector obtenido multiplicando elemento a elemento

Page 10: INTEGRACIÓN NUMÉRICA CON MATLABmatlab.digym.upm.es/wp-content/uploads/2019/05/IyP_Integracion_GIE_19.pdf · que utilizan, para evaluar integrales en un intervalo dado . USO DE FÓRMULAS

Dep

to. d

e In

geni

ería

Geo

lógi

ca y

Min

era

E.T

.S. d

e In

geni

eros

de

Min

as y

Ene

rgía

U

nive

rsid

ad P

olité

cnic

a de

Mad

rid

Informática y Programación. Curso 2018-19

C. Conde, A. Fidalgo, R. Gómez, A. López, M. Pilar Martínez de la Calle 10

USO DE FÓRMULAS DE INTEGRACIÓN NUMÉRICA

En resumen:

f(x)= sin(x·π/2)

s={0, 0.05, 0.1, 0.15, …., (J-1)·0.05, ….0.90, 0.95, 1.00}

c={0.025, 0.05, 0.05, …., 0.05, ….0.05, 0.05, 0.025}

DATOS

Función:

RESULTADOS:

c f(s)VAP = •1

0

VEX f(x)·dx= ∫

(Producto escalar; comando dot)

(Comando int)

Page 11: INTEGRACIÓN NUMÉRICA CON MATLABmatlab.digym.upm.es/wp-content/uploads/2019/05/IyP_Integracion_GIE_19.pdf · que utilizan, para evaluar integrales en un intervalo dado . USO DE FÓRMULAS

Dep

to. d

e In

geni

ería

Geo

lógi

ca y

Min

era

E.T

.S. d

e In

geni

eros

de

Min

as y

Ene

rgía

U

nive

rsid

ad P

olité

cnic

a de

Mad

rid

Informática y Programación. Curso 2018-19

C. Conde, A. Fidalgo, R. Gómez, A. López, M. Pilar Martínez de la Calle 11

clear syms x N=20; h=1/N; s=[0:1:N]*h; c(1,2:1:N)=h; c(1,1)=h/2; c(1,N+1)=h/2; funcion(x)= sin(pi*x./2); vex=eval(int(funcion(x),0, 1)); f=eval(funcion(s));

vap=dot(c,f); disp(['Valor exacto = ', num2str(vex),... ' Valor aproximado = ', num2str(vap)])

Usando el comando dot( )

USO DE FÓRMULAS DE INTEGRACIÓN NUMÉRICA

Page 12: INTEGRACIÓN NUMÉRICA CON MATLABmatlab.digym.upm.es/wp-content/uploads/2019/05/IyP_Integracion_GIE_19.pdf · que utilizan, para evaluar integrales en un intervalo dado . USO DE FÓRMULAS

Dep

to. d

e In

geni

ería

Geo

lógi

ca y

Min

era

E.T

.S. d

e In

geni

eros

de

Min

as y

Ene

rgía

U

nive

rsid

ad P

olité

cnic

a de

Mad

rid

Informática y Programación. Curso 2018-19

C. Conde, A. Fidalgo, R. Gómez, A. López, M. Pilar Martínez de la Calle 12

USO DE FÓRMULAS DE INTEGRACIÓN NUMÉRICA

En resumen:

f(x)= sin(x·π/2)

s={0, 0.05, 0.1, 0.15, …., (J-1)·0.05, ….0.90, 0.95, 1.00}

c={0.025, 0.05, 0.05, …., 0.05, ….0.05, 0.05, 0.025}

DATOS

Función:

RESULTADOS:

{ }{ }·c f(s) TVAP =

1

0

VEX f(x)·dx= ∫

(Producto matricial; operador *)

(Comando int)

Page 13: INTEGRACIÓN NUMÉRICA CON MATLABmatlab.digym.upm.es/wp-content/uploads/2019/05/IyP_Integracion_GIE_19.pdf · que utilizan, para evaluar integrales en un intervalo dado . USO DE FÓRMULAS

Dep

to. d

e In

geni

ería

Geo

lógi

ca y

Min

era

E.T

.S. d

e In

geni

eros

de

Min

as y

Ene

rgía

U

nive

rsid

ad P

olité

cnic

a de

Mad

rid

Informática y Programación. Curso 2018-19

C. Conde, A. Fidalgo, R. Gómez, A. López, M. Pilar Martínez de la Calle 13

clear syms x N=20; h=1/N; s=[0:1:N]*h; c(1,2:1:N)=h; c(1,1)=h/2; c(1,N+1)=h/2; funcion(x)= sin(pi*x./2); vex=eval(int(funcion(x),0, 1)); f=eval(funcion(s));

vap=c*f.’; disp(['Valor exacto = ', num2str(vex),... ' Valor aproximado = ', num2str(vap)])

USO DE FÓRMULAS DE INTEGRACIÓN NUMÉRICA

Producto de vector fila por vector columna

Page 14: INTEGRACIÓN NUMÉRICA CON MATLABmatlab.digym.upm.es/wp-content/uploads/2019/05/IyP_Integracion_GIE_19.pdf · que utilizan, para evaluar integrales en un intervalo dado . USO DE FÓRMULAS

Dep

to. d

e In

geni

ería

Geo

lógi

ca y

Min

era

E.T

.S. d

e In

geni

eros

de

Min

as y

Ene

rgía

U

nive

rsid

ad P

olité

cnic

a de

Mad

rid

Informática y Programación. Curso 2018-19

C. Conde, A. Fidalgo, R. Gómez, A. López, M. Pilar Martínez de la Calle 14

EN TODOS LOS CASOS

>> P8_EJ1 Valor exacto = 0.63662 Valor aproximado = 0.63629

USO DE FÓRMULAS DE INTEGRACIÓN NUMÉRICA

Page 15: INTEGRACIÓN NUMÉRICA CON MATLABmatlab.digym.upm.es/wp-content/uploads/2019/05/IyP_Integracion_GIE_19.pdf · que utilizan, para evaluar integrales en un intervalo dado . USO DE FÓRMULAS

Dep

to. d

e In

geni

ería

Geo

lógi

ca y

Min

era

E.T

.S. d

e In

geni

eros

de

Min

as y

Ene

rgía

U

nive

rsid

ad P

olité

cnic

a de

Mad

rid

Informática y Programación. Curso 2018-19

C. Conde, A. Fidalgo, R. Gómez, A. López, M. Pilar Martínez de la Calle 15

EJERCICIO PROPUESTO P10_EP1

Prográmese en MATLAB el cálculo del valor aproximado de siendo f(x) = sen(x·π/2) para el caso a = 0, b=1, y subdividiendo (a, b) en 20 subintervalos de idéntica longitud (s2J-1, s2J+1), e integrando en cada uno de ellos mediante la fórmula de Simpson:

b

a

f(x)·dx∫

( ) ( ) ( )( )2J 1

2J 1

s2J 1 2J 1

2J 1 2J 2J 1s

s sf(x)·dx f (s 4·f (s f (s6

+

+ −− +

−≈ + +∫

C={ h/6, 2h/3, h/3, 2h/3,h/3, 2h/3, ……,2h/3, h/6}

Page 16: INTEGRACIÓN NUMÉRICA CON MATLABmatlab.digym.upm.es/wp-content/uploads/2019/05/IyP_Integracion_GIE_19.pdf · que utilizan, para evaluar integrales en un intervalo dado . USO DE FÓRMULAS

Dep

to. d

e In

geni

ería

Geo

lógi

ca y

Min

era

E.T

.S. d

e In

geni

eros

de

Min

as y

Ene

rgía

U

nive

rsid

ad P

olité

cnic

a de

Mad

rid

Informática y Programación. Curso 2018-19

C. Conde, A. Fidalgo, R. Gómez, A. López, M. Pilar Martínez de la Calle 16

EJERCICIO PROPUESTO P10_EP1

( ) ( ) ( )( )2J 1

2J 1

s

2J 1 2J 2J 1s

hf(x)·dx f (s 4·f (s f (s (J 1,...,20)6

+

− +≈ + + =∫

f(s2J-1) f(s2J+1) f(s2J)

h

s2J-1 s2J+1 s2J

( )2J 1

2J 1

s1 20 40 39

1 41 J JJ 1 J 2 J 30 s

J 2 J 2

0.05f(x)·dx f(x)·dx f (s f(s ) 4· f(s ) 2· f(s )6

+

−= = =

∆ = ∆ =

= ≈ + + +

∑ ∑ ∑∫ ∫

Page 17: INTEGRACIÓN NUMÉRICA CON MATLABmatlab.digym.upm.es/wp-content/uploads/2019/05/IyP_Integracion_GIE_19.pdf · que utilizan, para evaluar integrales en un intervalo dado . USO DE FÓRMULAS

Dep

to. d

e In

geni

ería

Geo

lógi

ca y

Min

era

E.T

.S. d

e In

geni

eros

de

Min

as y

Ene

rgía

U

nive

rsid

ad P

olité

cnic

a de

Mad

rid

Informática y Programación. Curso 2018-19

C. Conde, A. Fidalgo, R. Gómez, A. López, M. Pilar Martínez de la Calle 17

EJERCICIO PROPUESTO P10_EP1 clear syms x f(x) N=20; h=1/N; s=[0:1:2*N]*h/2; c(1,1)=h/6;c(1,3:2:2*N-1)=1*h/3; c(1,2:2:2*N)=2*h/3;c(1,2*N+1)=h/6; funcion(x)= sin(pi*x./2); vex=eval(int(funcion(x),0, 1)); f=eval(funcion(s)); vap=dot(c,f); disp(['Valor exacto = ', num2str(vex),... ' Valor aproximado = ', num2str(vap)]) >> P7_EP1 Valor exacto = 0.63662 Valor aproximado = 0.63662

Page 18: INTEGRACIÓN NUMÉRICA CON MATLABmatlab.digym.upm.es/wp-content/uploads/2019/05/IyP_Integracion_GIE_19.pdf · que utilizan, para evaluar integrales en un intervalo dado . USO DE FÓRMULAS

Dep

to. d

e In

geni

ería

Geo

lógi

ca y

Min

era

E.T

.S. d

e In

geni

eros

de

Min

as y

Ene

rgía

U

nive

rsid

ad P

olité

cnic

a de

Mad

rid

Informática y Programación. Curso 2018-19

C. Conde, A. Fidalgo, R. Gómez, A. López, M. Pilar Martínez de la Calle 18

EVOLUCIÓN DEL ERROR EN F. INT. NUMÉRICA

SEGUNDO OBJETIVO: Analizar la evolución del error entre el valor exacto y los valores aproximados por fórmulas numéricas al aplicarlas para estimar integrales cuando se varía la distancia entre puntos del soporte

Page 19: INTEGRACIÓN NUMÉRICA CON MATLABmatlab.digym.upm.es/wp-content/uploads/2019/05/IyP_Integracion_GIE_19.pdf · que utilizan, para evaluar integrales en un intervalo dado . USO DE FÓRMULAS

Dep

to. d

e In

geni

ería

Geo

lógi

ca y

Min

era

E.T

.S. d

e In

geni

eros

de

Min

as y

Ene

rgía

U

nive

rsid

ad P

olité

cnic

a de

Mad

rid

Informática y Programación. Curso 2018-19

C. Conde, A. Fidalgo, R. Gómez, A. López, M. Pilar Martínez de la Calle 19

2-1º) Escribir una función MATLAB llamada WEDDLE_S, en la que tomando como argumentos de entrada: a (extremo izqdo. del intervalo de integr.) b (extremo dcho. del intervalo de integr.) F= {F1, F2, … ,F7} (valores en el soporte) calcule el valor aproximado de la integral de f(x) en el intervalo [a, b] mediante la fórmula de Weddle:

( )b 7

J JJ 1a

f(x)dx VAPROX (b a)· c ·F x=

≈ = − ∑∫

donde c={41/840, 216/840, 27/840, 272/840, 27/840, 216/840, 41/840}

EVOLUCIÓN DEL ERROR EN F. INT. NUMÉRICA

Page 20: INTEGRACIÓN NUMÉRICA CON MATLABmatlab.digym.upm.es/wp-content/uploads/2019/05/IyP_Integracion_GIE_19.pdf · que utilizan, para evaluar integrales en un intervalo dado . USO DE FÓRMULAS

Dep

to. d

e In

geni

ería

Geo

lógi

ca y

Min

era

E.T

.S. d

e In

geni

eros

de

Min

as y

Ene

rgía

U

nive

rsid

ad P

olité

cnic

a de

Mad

rid

Informática y Programación. Curso 2018-19

C. Conde, A. Fidalgo, R. Gómez, A. López, M. Pilar Martínez de la Calle 20

2-2º) La fórmula de Weddle utiliza un soporte equidistante de 7 puntos en [a, b], con s1 = a y s7 = b. Usando la función anterior, escríbase un script que permita evaluar aproximadamente:

hx

h

e ·dx−∫

para los siguientes valores de h: 1., 0.5, 0.25, 0.125, 0.0625, 0.03125 y 0.0150625 Sabiendo que el valor exacto de la integral es: VEXAC = eh – e-h represéntese en escala logarítmica la evolución del error y obténgase el factor de reducción de error al utilizar un tamaño de h respecto al anterior.

EVOLUCIÓN DEL ERROR EN F. INT. NUMÉRICA

Page 21: INTEGRACIÓN NUMÉRICA CON MATLABmatlab.digym.upm.es/wp-content/uploads/2019/05/IyP_Integracion_GIE_19.pdf · que utilizan, para evaluar integrales en un intervalo dado . USO DE FÓRMULAS

Dep

to. d

e In

geni

ería

Geo

lógi

ca y

Min

era

E.T

.S. d

e In

geni

eros

de

Min

as y

Ene

rgía

U

nive

rsid

ad P

olité

cnic

a de

Mad

rid

Informática y Programación. Curso 2018-19

C. Conde, A. Fidalgo, R. Gómez, A. López, M. Pilar Martínez de la Calle 21

function [valor]=weddleS(a,b,F) c=[41,216,27,272,27,216,41]*(b-a)/840; valor=dot(c,F); end

EVOLUCIÓN DEL ERROR EN F. INT. NUMÉRICA

Page 22: INTEGRACIÓN NUMÉRICA CON MATLABmatlab.digym.upm.es/wp-content/uploads/2019/05/IyP_Integracion_GIE_19.pdf · que utilizan, para evaluar integrales en un intervalo dado . USO DE FÓRMULAS

Dep

to. d

e In

geni

ería

Geo

lógi

ca y

Min

era

E.T

.S. d

e In

geni

eros

de

Min

as y

Ene

rgía

U

nive

rsid

ad P

olité

cnic

a de

Mad

rid

Informática y Programación. Curso 2018-19

C. Conde, A. Fidalgo, R. Gómez, A. López, M. Pilar Martínez de la Calle 22

clear syms x h=1; funcion(x)= exp(x); for J=1:1:7 vex(J)=eval(int(funcion(x),-h, h)); h7=2*h/6; s=[-h:h7:h]; F=eval(funcion(s)); [vap(J)]=weddleS(-h,h,F); disp(['2^',num2str(1-J),... ' Valor exacto = ', num2str(vex(J)),... ' Valor aproximado = ', num2str(vap(J))]) errtr(J)=vex(J)-vap(J); h=h/2; end

EVOLUCIÓN DEL ERROR EN F. INT. NUMÉRICA

Page 23: INTEGRACIÓN NUMÉRICA CON MATLABmatlab.digym.upm.es/wp-content/uploads/2019/05/IyP_Integracion_GIE_19.pdf · que utilizan, para evaluar integrales en un intervalo dado . USO DE FÓRMULAS

Dep

to. d

e In

geni

ería

Geo

lógi

ca y

Min

era

E.T

.S. d

e In

geni

eros

de

Min

as y

Ene

rgía

U

nive

rsid

ad P

olité

cnic

a de

Mad

rid

Informática y Programación. Curso 2018-19

C. Conde, A. Fidalgo, R. Gómez, A. López, M. Pilar Martínez de la Calle 23

errtr plot([0:-1:-6],log10(abs(errtr)),'-sb')

>> P10_EJ2 2^0 Valor exacto = 2.3504 Valor aproximado = 2.3504 2^-1 Valor exacto = 1.0422 Valor aproximado = 1.0422 2^-2 Valor exacto = 0.50522 Valor aproximado = 0.50522 2^-3 Valor exacto = 0.25065 Valor aproximado = 0.25065 2^-4 Valor exacto = 0.12508 Valor aproximado = 0.12508 2^-5 Valor exacto = 0.06251 Valor aproximado = 0.06251 2^-6 Valor exacto = 0.031251 Valor aproximado = 0.031251

EVOLUCIÓN DEL ERROR EN F. INT. NUMÉRICA

Page 24: INTEGRACIÓN NUMÉRICA CON MATLABmatlab.digym.upm.es/wp-content/uploads/2019/05/IyP_Integracion_GIE_19.pdf · que utilizan, para evaluar integrales en un intervalo dado . USO DE FÓRMULAS

Dep

to. d

e In

geni

ería

Geo

lógi

ca y

Min

era

E.T

.S. d

e In

geni

eros

de

Min

as y

Ene

rgía

U

nive

rsid

ad P

olité

cnic

a de

Mad

rid

Informática y Programación. Curso 2018-19

C. Conde, A. Fidalgo, R. Gómez, A. López, M. Pilar Martínez de la Calle 24

errtr plot([0:-1:-6],log10(abs(errtr)),'-sb')

errtr = 1.0e-06 * Columns 1 through 3 -0.335323150579825 -0.000642119468708 -0.000001248001702 Columns 4 through 6 -0.000000002498002 0.000000000083267 0.000000000041633 Column 7 -0.000000000062450

Reducciones de 2-9

Los errores de redondeo

impiden la reducción del

error

EVOLUCIÓN DEL ERROR EN F. INT. NUMÉRICA

Page 25: INTEGRACIÓN NUMÉRICA CON MATLABmatlab.digym.upm.es/wp-content/uploads/2019/05/IyP_Integracion_GIE_19.pdf · que utilizan, para evaluar integrales en un intervalo dado . USO DE FÓRMULAS

Dep

to. d

e In

geni

ería

Geo

lógi

ca y

Min

era

E.T

.S. d

e In

geni

eros

de

Min

as y

Ene

rgía

U

nive

rsid

ad P

olité

cnic

a de

Mad

rid

Informática y Programación. Curso 2018-19

C. Conde, A. Fidalgo, R. Gómez, A. López, M. Pilar Martínez de la Calle 25

Una fórmula que permite aproximar la integral entre a=1 y b= 1+3h es la siguiente: donde h es un valor real positivo. Se pide: 1º) Escríbase una función MATLAB, en la que tomando como argumentos de entrada: h (valor real estrictamente positivo) F (valores de una función en {1, 1+h, 1+2h, 1+3h}. se calcule un valor aproximado de la integral de la función entre 1 y 1+3h.

EJERCICIO PROPUESTO P10_EP2

( )1 3

1

3( )· (1) 3 (1 ) 3· (1 2 ) (1 3 )8

+

≈ + + + + + +∫h hf x dx f f h f h f h

Page 26: INTEGRACIÓN NUMÉRICA CON MATLABmatlab.digym.upm.es/wp-content/uploads/2019/05/IyP_Integracion_GIE_19.pdf · que utilizan, para evaluar integrales en un intervalo dado . USO DE FÓRMULAS

Dep

to. d

e In

geni

ería

Geo

lógi

ca y

Min

era

E.T

.S. d

e In

geni

eros

de

Min

as y

Ene

rgía

U

nive

rsid

ad P

olité

cnic

a de

Mad

rid

Informática y Programación. Curso 2018-19

C. Conde, A. Fidalgo, R. Gómez, A. López, M. Pilar Martínez de la Calle 26

2º) Escríbase un programa en el que usando la función desarrollada en el apartado anterior se evalúen las aproximaciones de las integrales de la función f(x)=ex·cos(x) en el punto x*=0, utilizando los valores de h = 1, 0.5, 0.25, 0.125, 0.0625, …, 2-20. Además, el programa debe obtener para cada valor de h el error cometido y representar la evolución del error en una gráfica logarítmica.

EJERCICIO PROPUESTO P10_EP2

Page 27: INTEGRACIÓN NUMÉRICA CON MATLABmatlab.digym.upm.es/wp-content/uploads/2019/05/IyP_Integracion_GIE_19.pdf · que utilizan, para evaluar integrales en un intervalo dado . USO DE FÓRMULAS

Dep

to. d

e In

geni

ería

Geo

lógi

ca y

Min

era

E.T

.S. d

e In

geni

eros

de

Min

as y

Ene

rgía

U

nive

rsid

ad P

olité

cnic

a de

Mad

rid

Informática y Programación. Curso 2018-19

C. Conde, A. Fidalgo, R. Gómez, A. López, M. Pilar Martínez de la Calle 27

function [valor]=fP10_EP2(h,F) c=[1,3,3,1]*3*h/8; valor=dot(c,F); end

EJERCICIO PROPUESTO P10_EP2

Page 28: INTEGRACIÓN NUMÉRICA CON MATLABmatlab.digym.upm.es/wp-content/uploads/2019/05/IyP_Integracion_GIE_19.pdf · que utilizan, para evaluar integrales en un intervalo dado . USO DE FÓRMULAS

Dep

to. d

e In

geni

ería

Geo

lógi

ca y

Min

era

E.T

.S. d

e In

geni

eros

de

Min

as y

Ene

rgía

U

nive

rsid

ad P

olité

cnic

a de

Mad

rid

Informática y Programación. Curso 2018-19

C. Conde, A. Fidalgo, R. Gómez, A. López, M. Pilar Martínez de la Calle 28

clear syms x f(x) h=1; funcion(x)= exp(x)*cos(x); for J=1:1:21 vex(J)=eval(int(funcion(x),1, 1+3*h)); s=[1:h:1+3*h]; F=eval(funcion(s)); [vap(J)]=fP10_EP2(h,F); disp(['2^',num2str(1-J),... ' Valor exacto = ', num2str(vex(J)),... ' Valor aproximado = ', num2str(vap(J))]) errtr(J)=vex(J)-vap(J); h=h/2; end (…)

EJERCICIO PROPUESTO P10_EP2

Page 29: INTEGRACIÓN NUMÉRICA CON MATLABmatlab.digym.upm.es/wp-content/uploads/2019/05/IyP_Integracion_GIE_19.pdf · que utilizan, para evaluar integrales en un intervalo dado . USO DE FÓRMULAS

Dep

to. d

e In

geni

ería

Geo

lógi

ca y

Min

era

E.T

.S. d

e In

geni

eros

de

Min

as y

Ene

rgía

U

nive

rsid

ad P

olité

cnic

a de

Mad

rid

Informática y Programación. Curso 2018-19

C. Conde, A. Fidalgo, R. Gómez, A. López, M. Pilar Martínez de la Calle 29

errtr plot([0:-1:-20],log10(abs(errtr)),'-sb') xlabel('2^p (POTENCIA)') ylabel('log10(|ERROR|)')

>> P10_EP2 2^0 Valor exacto = -40.3819 Valor aproximado = -38.6615 2^-1 Valor exacto = -3.1125 Valor aproximado = -3.1059 2^-2 Valor exacto = 0.44033 Valor aproximado = 0.44023 2^-3 Valor exacto = 0.44645 Valor aproximado = 0.44645 2^-4 Valor exacto = 0.25557 Valor aproximado = 0.25557 2^-5 Valor exacto = 0.13344 Valor aproximado = 0.13344 2^-6 Valor exacto = 0.067866 Valor aproximado = 0.067866 2^-7 Valor exacto = 0.034188 Valor aproximado = 0.034188 2^-8 Valor exacto = 0.017154 Valor aproximado = 0.017154 2^-9 Valor exacto = 0.0085914 Valor aproximado = 0.0085914 2^-10 Valor exacto = 0.0042993 Valor aproximado = 0.0042993 2^-11 Valor exacto = 0.0021505 Valor aproximado = 0.0021505 2^-12 Valor exacto = 0.0010755 Valor aproximado = 0.0010755

EJERCICIO PROPUESTO P10_EP2

Page 30: INTEGRACIÓN NUMÉRICA CON MATLABmatlab.digym.upm.es/wp-content/uploads/2019/05/IyP_Integracion_GIE_19.pdf · que utilizan, para evaluar integrales en un intervalo dado . USO DE FÓRMULAS

Dep

to. d

e In

geni

ería

Geo

lógi

ca y

Min

era

E.T

.S. d

e In

geni

eros

de

Min

as y

Ene

rgía

U

nive

rsid

ad P

olité

cnic

a de

Mad

rid

Informática y Programación. Curso 2018-19

C. Conde, A. Fidalgo, R. Gómez, A. López, M. Pilar Martínez de la Calle 30

2^-13 Valor exacto=0.0005378 Valor aproximado = 0.0005378 2^-14 Valor exacto=0.00026891 Valor aproximado = 0.00026891 2^-15 Valor exacto=0.00013446 Valor aproximado = 0.00013446 2^-16 Valor exacto=6.7231e-05 Valor aproximado = 6.7231e-05 2^-17 Valor exacto=3.3616e-05 Valor aproximado = 3.3616e-05 2^-18 Valor exacto=1.6808e-05 Valor aproximado = 1.6808e-05 2^-19 Valor exacto=8.4039e-06 Valor aproximado = 8.4039e-06 2^-20 Valor exacto=4.202e-06 Valor aproximado = 4.202e-06

EJERCICIO PROPUESTO P10_EP2

Page 31: INTEGRACIÓN NUMÉRICA CON MATLABmatlab.digym.upm.es/wp-content/uploads/2019/05/IyP_Integracion_GIE_19.pdf · que utilizan, para evaluar integrales en un intervalo dado . USO DE FÓRMULAS

Dep

to. d

e In

geni

ería

Geo

lógi

ca y

Min

era

E.T

.S. d

e In

geni

eros

de

Min

as y

Ene

rgía

U

nive

rsid

ad P

olité

cnic

a de

Mad

rid

Informática y Programación. Curso 2018-19

C. Conde, A. Fidalgo, R. Gómez, A. López, M. Pilar Martínez de la Calle 31

errtr = Columns 1 through 3 -1.720363432786186 -0.006615880230806 0.000102975188247 Columns 4 through 6 0.000005553650871 0.000000195687271 0.000000006368027 Columns 7 through 9 0.000000000202294 0.000000000006368 0.000000000000200 Columns 10 through 12 0.000000000000006 0.000000000000000 -0.000000000000000 Columns 13 through 15 -0.000000000000000 -0.000000000000000 -0.000000000000000 Columns 16 through 18 -0.000000000000000 -0.000000000000000 -0.000000000000000 Columns 19 through 21 -0.000000000000000 0.000000000000000 -0.000000000000000

EJERCICIO PROPUESTO P10_EP2

Page 32: INTEGRACIÓN NUMÉRICA CON MATLABmatlab.digym.upm.es/wp-content/uploads/2019/05/IyP_Integracion_GIE_19.pdf · que utilizan, para evaluar integrales en un intervalo dado . USO DE FÓRMULAS

Dep

to. d

e In

geni

ería

Geo

lógi

ca y

Min

era

E.T

.S. d

e In

geni

eros

de

Min

as y

Ene

rgía

U

nive

rsid

ad P

olité

cnic

a de

Mad

rid

Informática y Programación. Curso 2018-19

C. Conde, A. Fidalgo, R. Gómez, A. López, M. Pilar Martínez de la Calle 32

EJERCICIO PROPUESTO P10_EP2

Page 33: INTEGRACIÓN NUMÉRICA CON MATLABmatlab.digym.upm.es/wp-content/uploads/2019/05/IyP_Integracion_GIE_19.pdf · que utilizan, para evaluar integrales en un intervalo dado . USO DE FÓRMULAS

Dep

to. d

e In

geni

ería

Geo

lógi

ca y

Min

era

E.T

.S. d

e In

geni

eros

de

Min

as y

Ene

rgía

U

nive

rsid

ad P

olité

cnic

a de

Mad

rid

Informática y Programación. Curso 2018-19

C. Conde, A. Fidalgo, R. Gómez, A. López, M. Pilar Martínez de la Calle 33

CÁLCULO DE FÓRM. DE DERIVACIÓN NUMÉRICA

TERCER OBJETIVO: Utilizar las capacidades de CÁLCULO SIMBÓLICO de MATLAB para determinar fórmulas de integración numérica sobre un soporte dado, integrando el polinomio interpolador de Lagrange.

Page 34: INTEGRACIÓN NUMÉRICA CON MATLABmatlab.digym.upm.es/wp-content/uploads/2019/05/IyP_Integracion_GIE_19.pdf · que utilizan, para evaluar integrales en un intervalo dado . USO DE FÓRMULAS

Dep

to. d

e In

geni

ería

Geo

lógi

ca y

Min

era

E.T

.S. d

e In

geni

eros

de

Min

as y

Ene

rgía

U

nive

rsid

ad P

olité

cnic

a de

Mad

rid

Informática y Programación. Curso 2018-19

C. Conde, A. Fidalgo, R. Gómez, A. López, M. Pilar Martínez de la Calle 34

3º) Para los siguientes valores de h: 1., 0.5, 0.25, 0.125, 0.0625, 0.03125 y 0.0150625, se quiere obtener el valor aproximado de: Escribe una función que calcule la tabla de diferencias divididas a partir del soporte y de los valores de una función en él, y un script que calcule el valor aproximado de la integral de la función a través de la integración del polinomio interpolador de Lagrange evaluado mediante la fórmula de Newton. Se utilizará como soporte: {x1=-h, x2 = 0, x3 = h/2, x4 = h, x5 =3h/2, x6 = 2h}

2·hx

h

e ·sin(x)·dx−

−∫

CÁLCULO DE FÓRM. DE INTEGRACIÓN NUMÉRICA

Page 35: INTEGRACIÓN NUMÉRICA CON MATLABmatlab.digym.upm.es/wp-content/uploads/2019/05/IyP_Integracion_GIE_19.pdf · que utilizan, para evaluar integrales en un intervalo dado . USO DE FÓRMULAS

Dep

to. d

e In

geni

ería

Geo

lógi

ca y

Min

era

E.T

.S. d

e In

geni

eros

de

Min

as y

Ene

rgía

U

nive

rsid

ad P

olité

cnic

a de

Mad

rid

Informática y Programación. Curso 2018-19

C. Conde, A. Fidalgo, R. Gómez, A. López, M. Pilar Martínez de la Calle 35

function [A]=difdiv(s,F) N=length(s); A=zeros(N); for I=1:1:N A(I,1)=F(I); end for J=2:1:N mfil=N-J+1; for I=1:1:mfil A(I,J)=(A(I+1,J-1)-A(I,J-1))/... (s(I+J-1)-s(I)); end end

% Inicializo la tabla de diferencias % 1ª columna con valores nodales

% Fórmula de Newton de Dif. Div.

% mfil: último elemento que se % calculará en la columna J

CÁLCULO DE FÓRM. DE INTEGRACIÓN NUMÉRICA

% Nº de abscisas del soporte

Page 36: INTEGRACIÓN NUMÉRICA CON MATLABmatlab.digym.upm.es/wp-content/uploads/2019/05/IyP_Integracion_GIE_19.pdf · que utilizan, para evaluar integrales en un intervalo dado . USO DE FÓRMULAS

Dep

to. d

e In

geni

ería

Geo

lógi

ca y

Min

era

E.T

.S. d

e In

geni

eros

de

Min

as y

Ene

rgía

U

nive

rsid

ad P

olité

cnic

a de

Mad

rid

Informática y Programación. Curso 2018-19

C. Conde, A. Fidalgo, R. Gómez, A. López, M. Pilar Martínez de la Calle 36

clear all % Declaramos la variable independiente(x) % y definimos la función syms x f=@(x) exp(-x).*sin(x); % Asignamos valores al nº de puntos (N=6) % y al nº de casos con distintos valores % del parámetro h (NCASOS = 7), iniciali- % zando h al doble de su mayor valor. N=6; NCASOS=7; h=2; (continúa)

CÁLCULO DE FÓRM. DE INTEGRACIÓN NUMÉRICA

Page 37: INTEGRACIÓN NUMÉRICA CON MATLABmatlab.digym.upm.es/wp-content/uploads/2019/05/IyP_Integracion_GIE_19.pdf · que utilizan, para evaluar integrales en un intervalo dado . USO DE FÓRMULAS

Dep

to. d

e In

geni

ería

Geo

lógi

ca y

Min

era

E.T

.S. d

e In

geni

eros

de

Min

as y

Ene

rgía

U

nive

rsid

ad P

olité

cnic

a de

Mad

rid

Informática y Programación. Curso 2018-19

C. Conde, A. Fidalgo, R. Gómez, A. López, M. Pilar Martínez de la Calle 37

% La variable de control del siguiente % bucle (ICASO) representa el “caso de % valor distinto de h” tratado. for ICASO=1:1:NCASOS % Comenzamos cada caso dividiendo h a la % mitad, definiendo los extremos del in- % tervalo de integración (a = -h, b = 2h), % los 6 puntos del soporte de integración %(vector s) y los 6 valores que toma la % función a integrar en cada abscisa del % soporte (vector f)... h=h/2; a=-h; b=2*h; S=[a; 0; h/2; h; 3*h/2; b]; F=f(S); (continúa)

CÁLCULO DE FÓRM. DE INTEGRACIÓN NUMÉRICA

Page 38: INTEGRACIÓN NUMÉRICA CON MATLABmatlab.digym.upm.es/wp-content/uploads/2019/05/IyP_Integracion_GIE_19.pdf · que utilizan, para evaluar integrales en un intervalo dado . USO DE FÓRMULAS

Dep

to. d

e In

geni

ería

Geo

lógi

ca y

Min

era

E.T

.S. d

e In

geni

eros

de

Min

as y

Ene

rgía

U

nive

rsid

ad P

olité

cnic

a de

Mad

rid

Informática y Programación. Curso 2018-19

C. Conde, A. Fidalgo, R. Gómez, A. López, M. Pilar Martínez de la Calle 38

% ... Calculamos la tabla de diferencias % divididas(almacenadas en la matriz DD).. DD=difdiv(S,F); %... y usamos la fórmula de Lagrange para % calcular el polinomio interpolador ... p(x)=DD(1,1)+x-x; for I=2:1:N aux=1; for K=1:1:I-1 aux=aux*(x-S(K)); end p(x)=simplify(p(x)+DD(1,I)*aux); end

(continúa)

CÁLCULO DE FÓRM. DE INTEGRACIÓN NUMÉRICA

Page 39: INTEGRACIÓN NUMÉRICA CON MATLABmatlab.digym.upm.es/wp-content/uploads/2019/05/IyP_Integracion_GIE_19.pdf · que utilizan, para evaluar integrales en un intervalo dado . USO DE FÓRMULAS

Dep

to. d

e In

geni

ería

Geo

lógi

ca y

Min

era

E.T

.S. d

e In

geni

eros

de

Min

as y

Ene

rgía

U

nive

rsid

ad P

olité

cnic

a de

Mad

rid

Informática y Programación. Curso 2018-19

C. Conde, A. Fidalgo, R. Gómez, A. López, M. Pilar Martínez de la Calle 39

% ... que integrado entre a y b nos % proporciona el valor aproximado de % la integral. VAPR(ICASO)=eval(int(p(x),x,a,b)); VEX(ICASO)=eval(int(f(x),x,a,b)); end

Save as P10_EJ3.m

>> P10_EJ3 >> format short >> VAPR VAPR=-0.4336 0.0742 0.0517 0.0179 0.0051 0.0014 0.0004 >> VEX VEX =-0.4427 0.0741 0.0517 0.0179 0.0051 0.0014 0.0004

CÁLCULO DE FÓRM. DE INTEGRACIÓN NUMÉRICA

Page 40: INTEGRACIÓN NUMÉRICA CON MATLABmatlab.digym.upm.es/wp-content/uploads/2019/05/IyP_Integracion_GIE_19.pdf · que utilizan, para evaluar integrales en un intervalo dado . USO DE FÓRMULAS

Dep

to. d

e In

geni

ería

Geo

lógi

ca y

Min

era

E.T

.S. d

e In

geni

eros

de

Min

as y

Ene

rgía

U

nive

rsid

ad P

olité

cnic

a de

Mad

rid

Informática y Programación. Curso 2018-19

C. Conde, A. Fidalgo, R. Gómez, A. López, M. Pilar Martínez de la Calle 40

(continúa)

EJERCICIO PROPUESTO P10_EP3 3º) a) Escribe una función que calcule las integrales en el intervalo (a, b) de los n polinomios de base de Lagrange asociados a un soporte de n abscisas . Se considerarán argumentos de entrada de la función: s Vector de n abscisas distintas a extremo izquierdo del intervalo de integración b Extremo derecho del intervalo de integración. Y el argumento de salida será un vector c conteniendo los n coeficientes de la fórmula.

Page 41: INTEGRACIÓN NUMÉRICA CON MATLABmatlab.digym.upm.es/wp-content/uploads/2019/05/IyP_Integracion_GIE_19.pdf · que utilizan, para evaluar integrales en un intervalo dado . USO DE FÓRMULAS

Dep

to. d

e In

geni

ería

Geo

lógi

ca y

Min

era

E.T

.S. d

e In

geni

eros

de

Min

as y

Ene

rgía

U

nive

rsid

ad P

olité

cnic

a de

Mad

rid

Informática y Programación. Curso 2018-19

C. Conde, A. Fidalgo, R. Gómez, A. López, M. Pilar Martínez de la Calle 41

EJERCICIO PROPUESTO P10_EP3 b) Escríbase un programa MATLAB que utilice la función anterior para calcular los valores aproximados de la integral en el intervalo (-h/2, 3h/2) de la función f(x) = sen(x)·e1-cos(x), sobre el soporte: {s1=-h, s2 = 0, s3 = h/2, s4 = h, s5 =3h/2, s6 = 2h} asignándole sucesivamente a h los valores:10, 5, 2.5 y 1.25. El programa deberá representar en una gráfica la evolución del del error cometido.

Page 42: INTEGRACIÓN NUMÉRICA CON MATLABmatlab.digym.upm.es/wp-content/uploads/2019/05/IyP_Integracion_GIE_19.pdf · que utilizan, para evaluar integrales en un intervalo dado . USO DE FÓRMULAS

Dep

to. d

e In

geni

ería

Geo

lógi

ca y

Min

era

E.T

.S. d

e In

geni

eros

de

Min

as y

Ene

rgía

U

nive

rsid

ad P

olité

cnic

a de

Mad

rid

Informática y Programación. Curso 2018-19

C. Conde, A. Fidalgo, R. Gómez, A. López, M. Pilar Martínez de la Calle 42

INICIO Datos: s, a,b n longitud de s

1º) Para I, desde 1, con paso 1, hasta n, hacer:

2º) Para I, desde 1 , con paso 1, hasta n, hacer:

Integrar entre a y b:

Fin bucle en I.

Fin bucle en I.

Resultados: c FIN

← ∫b

I Ia

c L (x)·dx

EJERCICIO PROPUESTO P10_EP3

( )( )=

−←

−∏n

JI

J 1 I JJ I

x sL (x)

s s

Page 43: INTEGRACIÓN NUMÉRICA CON MATLABmatlab.digym.upm.es/wp-content/uploads/2019/05/IyP_Integracion_GIE_19.pdf · que utilizan, para evaluar integrales en un intervalo dado . USO DE FÓRMULAS

Dep

to. d

e In

geni

ería

Geo

lógi

ca y

Min

era

E.T

.S. d

e In

geni

eros

de

Min

as y

Ene

rgía

U

nive

rsid

ad P

olité

cnic

a de

Mad

rid

Informática y Programación. Curso 2018-19

C. Conde, A. Fidalgo, R. Gómez, A. López, M. Pilar Martínez de la Calle 43

INICIO Datos: s, a,b n longitud de s

Para I, desde 1, con paso 1, hasta n, hacer: aux 1 Para J, desde 1, con paso 1 , hasta n, hacer: Si (I ≠ J) entonces hacer: aux aux·((x-sj)/(si-sj)) Fin condición. Fin bucle en J. Li aux Fin bucle en I.

(Detalles de la “1ª Parte”)

….

EJERCICIO PROPUESTO P10_EP3

Page 44: INTEGRACIÓN NUMÉRICA CON MATLABmatlab.digym.upm.es/wp-content/uploads/2019/05/IyP_Integracion_GIE_19.pdf · que utilizan, para evaluar integrales en un intervalo dado . USO DE FÓRMULAS

Dep

to. d

e In

geni

ería

Geo

lógi

ca y

Min

era

E.T

.S. d

e In

geni

eros

de

Min

as y

Ene

rgía

U

nive

rsid

ad P

olité

cnic

a de

Mad

rid

Informática y Programación. Curso 2018-19

C. Conde, A. Fidalgo, R. Gómez, A. López, M. Pilar Martínez de la Calle 44

Para I, desde 1, con paso 1, hasta n, hacer:

Fin bucle en I.

(Detalles de la “2ª Parte”)

….

Resultados: c FIN

EJERCICIO PROPUESTO P8_EP3

← ∫b

I Ia

c L (x)·dx

Page 45: INTEGRACIÓN NUMÉRICA CON MATLABmatlab.digym.upm.es/wp-content/uploads/2019/05/IyP_Integracion_GIE_19.pdf · que utilizan, para evaluar integrales en un intervalo dado . USO DE FÓRMULAS

Dep

to. d

e In

geni

ería

Geo

lógi

ca y

Min

era

E.T

.S. d

e In

geni

eros

de

Min

as y

Ene

rgía

U

nive

rsid

ad P

olité

cnic

a de

Mad

rid

Informática y Programación. Curso 2018-19

C. Conde, A. Fidalgo, R. Gómez, A. López, M. Pilar Martínez de la Calle 45

function [c]=fP10_EP3(s,a,b) syms aux x L % PARTE 1ª: Cálculo de los polinomios de % base de Lagrange asociados al soporte n=length(s); for I=1:1:n aux=1; for J=1:1:n if (J~=I) aux=aux*(x-s(J))/(s(I)-s(J)); end end L(I)=aux; end (…)

EJERCICIO PROPUESTO P10_EP3

Page 46: INTEGRACIÓN NUMÉRICA CON MATLABmatlab.digym.upm.es/wp-content/uploads/2019/05/IyP_Integracion_GIE_19.pdf · que utilizan, para evaluar integrales en un intervalo dado . USO DE FÓRMULAS

Dep

to. d

e In

geni

ería

Geo

lógi

ca y

Min

era

E.T

.S. d

e In

geni

eros

de

Min

as y

Ene

rgía

U

nive

rsid

ad P

olité

cnic

a de

Mad

rid

Informática y Programación. Curso 2018-19

C. Conde, A. Fidalgo, R. Gómez, A. López, M. Pilar Martínez de la Calle 46

% PARTE 2ª: Integramos entre a y b cada una % de las expresiones de los polinomios de % base. for I=1:1:n c(I)=eval(int(L(I),a,b)); end end

(…)

ARCHIVAMOS ESTA FUNCIÓN EN EL FICHERO: fP10_EP3.m

EJERCICIO PROPUESTO P10_EP3

Page 47: INTEGRACIÓN NUMÉRICA CON MATLABmatlab.digym.upm.es/wp-content/uploads/2019/05/IyP_Integracion_GIE_19.pdf · que utilizan, para evaluar integrales en un intervalo dado . USO DE FÓRMULAS

Dep

to. d

e In

geni

ería

Geo

lógi

ca y

Min

era

E.T

.S. d

e In

geni

eros

de

Min

as y

Ene

rgía

U

nive

rsid

ad P

olité

cnic

a de

Mad

rid

Informática y Programación. Curso 2018-19

C. Conde, A. Fidalgo, R. Gómez, A. López, M. Pilar Martínez de la Calle 47

clear % DEFINO LA FUNCIÓN SIMBÓLICA syms x f(x)=sin(x).*exp(1-cos(x)); % DEFINO LOS VALORES DE h Y EL Nº DE CASOS h=[10,5,2.5,1.25,0.625]; NCASOS=length(h); for ICASO=1:1:NCASOS % PARA CADA CASO .... % ... SELECCIONO EL VALOR DE h A USAR H=h(ICASO); % ... DEFINO EL SOPORTE Y LOS EXTREMOS % DEL INTERVALO s=[-H, 0,H/2,H,3*H/2,2*H]; a=-H/2; b=3*H/2;

EJERCICIO PROPUESTO P10_EP3

(…)

Page 48: INTEGRACIÓN NUMÉRICA CON MATLABmatlab.digym.upm.es/wp-content/uploads/2019/05/IyP_Integracion_GIE_19.pdf · que utilizan, para evaluar integrales en un intervalo dado . USO DE FÓRMULAS

Dep

to. d

e In

geni

ería

Geo

lógi

ca y

Min

era

E.T

.S. d

e In

geni

eros

de

Min

as y

Ene

rgía

U

nive

rsid

ad P

olité

cnic

a de

Mad

rid

Informática y Programación. Curso 2018-19

C. Conde, A. Fidalgo, R. Gómez, A. López, M. Pilar Martínez de la Calle 48

% ... CALCULO LOS COEFICIENTES [c]=fP10_EP3(s,a,b); % ... EVALÚO f(x)EN EL SOPORTE... F=eval(f(s)); % ... EVALÚO VALOR APROXIMADO Y EXACTO VAPR(ICASO)=sum(c.*F); VEX(ICASO)=eval(int(f(x),a,b)); % ... Y EL ERROR COMETIDO ERRT(ICASO)=... abs(VEX(ICASO)- VAPR(ICASO)); end % DIBUJO LOS ERRORES (EN ESCALA LOG) plot(log(h),log(ERRT),'-or')

EJERCICIO PROPUESTO P10_EP3

SALVO EN EL FICHERO: P10_EP3.m

Page 49: INTEGRACIÓN NUMÉRICA CON MATLABmatlab.digym.upm.es/wp-content/uploads/2019/05/IyP_Integracion_GIE_19.pdf · que utilizan, para evaluar integrales en un intervalo dado . USO DE FÓRMULAS

Dep

to. d

e In

geni

ería

Geo

lógi

ca y

Min

era

E.T

.S. d

e In

geni

eros

de

Min

as y

Ene

rgía

U

nive

rsid

ad P

olité

cnic

a de

Mad

rid

Informática y Programación. Curso 2018-19

C. Conde, A. Fidalgo, R. Gómez, A. López, M. Pilar Martínez de la Calle 49

EJERCICIO PROPUESTO P8_EP3

>> P10_EP3

-0.5 0 0.5 1 1.5 2 2.5-10

-8

-6

-4

-2

0

2

4

Page 50: INTEGRACIÓN NUMÉRICA CON MATLABmatlab.digym.upm.es/wp-content/uploads/2019/05/IyP_Integracion_GIE_19.pdf · que utilizan, para evaluar integrales en un intervalo dado . USO DE FÓRMULAS

Dep

to. d

e In

geni

ería

Geo

lógi

ca y

Min

era

E.T

.S. d

e In

geni

eros

de

Min

as y

Ene

rgía

U

nive

rsid

ad P

olité

cnic

a de

Mad

rid

Informática y Programación. Curso 2018-19

C. Conde, A. Fidalgo, R. Gómez, A. López, M. Pilar Martínez de la Calle 50

CÁLCULO DE FÓRM. DE DERIVACIÓN NUMÉRICA

CUARTO OBJETIVO: Utilizar el Método de Coeficientes Indeterminados para encontrar fórmulas de integración numérica de tipo interpolatorio y la expresión de su error de truncamiento

Page 51: INTEGRACIÓN NUMÉRICA CON MATLABmatlab.digym.upm.es/wp-content/uploads/2019/05/IyP_Integracion_GIE_19.pdf · que utilizan, para evaluar integrales en un intervalo dado . USO DE FÓRMULAS

Dep

to. d

e In

geni

ería

Geo

lógi

ca y

Min

era

E.T

.S. d

e In

geni

eros

de

Min

as y

Ene

rgía

U

nive

rsid

ad P

olité

cnic

a de

Mad

rid

Informática y Programación. Curso 2018-19

C. Conde, A. Fidalgo, R. Gómez, A. López, M. Pilar Martínez de la Calle

P10-EJ4: Mét. de Coefs. Indeterminados

51

4º) a) Dado un soporte de n abscisas sobre el que se quiere calcular una Fórmula de Integración Numérica de Tipo Interpolatorio que aproxime integrales sobre el intervalo (a, b), escríbase una función MATLAB que calcule las abscisas equivalentes en un intervalo (α, β ) utilizando la expresión de la transformación que proceda entre las que se recogen en la figura siguiente.

α β

ξ1 ξ2 ξJ ξn

a b

s1 s2 sJ sn

· ·a b b x·a− −+

β αξ

β α β α=

− −

· ·b a xb

·a b a

− −= +

−β α−

α βξ

Page 52: INTEGRACIÓN NUMÉRICA CON MATLABmatlab.digym.upm.es/wp-content/uploads/2019/05/IyP_Integracion_GIE_19.pdf · que utilizan, para evaluar integrales en un intervalo dado . USO DE FÓRMULAS

Dep

to. d

e In

geni

ería

Geo

lógi

ca y

Min

era

E.T

.S. d

e In

geni

eros

de

Min

as y

Ene

rgía

U

nive

rsid

ad P

olité

cnic

a de

Mad

rid

Informática y Programación. Curso 2018-19

C. Conde, A. Fidalgo, R. Gómez, A. López, M. Pilar Martínez de la Calle 52

La función pedida consiste en programar:

JJ· ·b a sb a b a

·− −= +

−α

−α β β

ξ (J = 1, 2, …, n)

function [xi]=fP10_EJ4(s,a, b, alpha, beta)

A= (alpha*b - beta*a)/(b-a);

B= (beta-alpha)/(b-a);

xi= A+B*s;

end

P10-EJ4: Mét. de Coefs. Indeterminados

Page 53: INTEGRACIÓN NUMÉRICA CON MATLABmatlab.digym.upm.es/wp-content/uploads/2019/05/IyP_Integracion_GIE_19.pdf · que utilizan, para evaluar integrales en un intervalo dado . USO DE FÓRMULAS

Dep

to. d

e In

geni

ería

Geo

lógi

ca y

Min

era

E.T

.S. d

e In

geni

eros

de

Min

as y

Ene

rgía

U

nive

rsid

ad P

olité

cnic

a de

Mad

rid

Informática y Programación. Curso 2018-19

C. Conde, A. Fidalgo, R. Gómez, A. López, M. Pilar Martínez de la Calle 53

b) Dado un soporte ξ de n abscisas con las que se quiere calcular una F.I.N.T.I. para aproximar el valor de integrales definidas sobre el intervalo (-1, 1), utilícese el Método de Coeficientes Indeterminados para calcular los coeficientes de dicha fórmula y la expresión del error de truncatura de la misma.

Solución: La fórmula buscada será de la forma:

Error Soporte

Coeficientes

P10-EJ4: Mét. de Coefs. Indeterminados

Page 54: INTEGRACIÓN NUMÉRICA CON MATLABmatlab.digym.upm.es/wp-content/uploads/2019/05/IyP_Integracion_GIE_19.pdf · que utilizan, para evaluar integrales en un intervalo dado . USO DE FÓRMULAS

Dep

to. d

e In

geni

ería

Geo

lógi

ca y

Min

era

E.T

.S. d

e In

geni

eros

de

Min

as y

Ene

rgía

U

nive

rsid

ad P

olité

cnic

a de

Mad

rid

Informática y Programación. Curso 2018-19

C. Conde, A. Fidalgo, R. Gómez, A. López, M. Pilar Martínez de la Calle 54

Obligamos a que la fórmula sea exacta para g(ξ)=1:

Obligamos a que la fórmula sea exacta para g(ξ)=ξ :

Obligamos a que la fórmula sea exacta para g(ξ)=ξk (k=2,…n-1):

... ... ... ... ... ... ... ... ... ... ... ...

P10-EJ4: Mét. de Coefs. Indeterminados

Page 55: INTEGRACIÓN NUMÉRICA CON MATLABmatlab.digym.upm.es/wp-content/uploads/2019/05/IyP_Integracion_GIE_19.pdf · que utilizan, para evaluar integrales en un intervalo dado . USO DE FÓRMULAS

Dep

to. d

e In

geni

ería

Geo

lógi

ca y

Min

era

E.T

.S. d

e In

geni

eros

de

Min

as y

Ene

rgía

U

nive

rsid

ad P

olité

cnic

a de

Mad

rid

Informática y Programación. Curso 2018-19

C. Conde, A. Fidalgo, R. Gómez, A. López, M. Pilar Martínez de la Calle 55

En resumen debemos resolver el sistema:

con:

P10-EJ4: Mét. de Coefs. Indeterminados

Page 56: INTEGRACIÓN NUMÉRICA CON MATLABmatlab.digym.upm.es/wp-content/uploads/2019/05/IyP_Integracion_GIE_19.pdf · que utilizan, para evaluar integrales en un intervalo dado . USO DE FÓRMULAS

Dep

to. d

e In

geni

ería

Geo

lógi

ca y

Min

era

E.T

.S. d

e In

geni

eros

de

Min

as y

Ene

rgía

U

nive

rsid

ad P

olité

cnic

a de

Mad

rid

Informática y Programación. Curso 2018-19

C. Conde, A. Fidalgo, R. Gómez, A. López, M. Pilar Martínez de la Calle 56

En cuanto al error, buscaremos el menor entero m > n para el que se verifique:

siendo la expresión del error: Rg(-1,1)=K·g(m(ξ*)

con:

P10-EJ4: Mét. de Coefs. Indeterminados

Page 57: INTEGRACIÓN NUMÉRICA CON MATLABmatlab.digym.upm.es/wp-content/uploads/2019/05/IyP_Integracion_GIE_19.pdf · que utilizan, para evaluar integrales en un intervalo dado . USO DE FÓRMULAS

Dep

to. d

e In

geni

ería

Geo

lógi

ca y

Min

era

E.T

.S. d

e In

geni

eros

de

Min

as y

Ene

rgía

U

nive

rsid

ad P

olité

cnic

a de

Mad

rid

Informática y Programación. Curso 2018-19

C. Conde, A. Fidalgo, R. Gómez, A. López, M. Pilar Martínez de la Calle 57

function [omega,K,m]=fP10_MCIREF(xi) n=length(xi); % CÁLCULO DE LOS COEFICIENTES M=ones(n,n); b=zeros(n,1); for J=2:1:n M(J,1:n)=M(J-1,1:n).*xi(1:n); end for J=1:2:n b(J,1)=2/J; end omega=inv(M)*b;

(cont.)

P10-EJ4: Mét. de Coefs. Indeterminados

Page 58: INTEGRACIÓN NUMÉRICA CON MATLABmatlab.digym.upm.es/wp-content/uploads/2019/05/IyP_Integracion_GIE_19.pdf · que utilizan, para evaluar integrales en un intervalo dado . USO DE FÓRMULAS

Dep

to. d

e In

geni

ería

Geo

lógi

ca y

Min

era

E.T

.S. d

e In

geni

eros

de

Min

as y

Ene

rgía

U

nive

rsid

ad P

olité

cnic

a de

Mad

rid

Informática y Programación. Curso 2018-19

C. Conde, A. Fidalgo, R. Gómez, A. López, M. Pilar Martínez de la Calle 58

% CÁLCULO DEL ORDEN DE EXACTITUD Y % DE LA CONSTANTE DE ERROR xip=M(n,1:n).*xi(1:n); Vap=dot(omega,xip); m=n; if(m~=2*floor(m/2)) Vex=0; else Vex=2/(m+1); end

(cont.)

(cont.) P10-EJ4: Mét. de Coefs. Indeterminados

Page 59: INTEGRACIÓN NUMÉRICA CON MATLABmatlab.digym.upm.es/wp-content/uploads/2019/05/IyP_Integracion_GIE_19.pdf · que utilizan, para evaluar integrales en un intervalo dado . USO DE FÓRMULAS

Dep

to. d

e In

geni

ería

Geo

lógi

ca y

Min

era

E.T

.S. d

e In

geni

eros

de

Min

as y

Ene

rgía

U

nive

rsid

ad P

olité

cnic

a de

Mad

rid

Informática y Programación. Curso 2018-19

C. Conde, A. Fidalgo, R. Gómez, A. López, M. Pilar Martínez de la Calle 59

while ((Vex==Vap)&(m<2*n)) m=m+1; if(m~=2*floor(m/2)) Vex=0; else Vex=2/(m+1); end xipp=xip; xip(1:n)=xipp(1:n).*xi(1:n); Vap=dot(omega,xip); end K=(Vex-Vap)/factorial(m); end

(cont.) P10-EJ4: Mét. de Coefs. Indeterminados

Page 60: INTEGRACIÓN NUMÉRICA CON MATLABmatlab.digym.upm.es/wp-content/uploads/2019/05/IyP_Integracion_GIE_19.pdf · que utilizan, para evaluar integrales en un intervalo dado . USO DE FÓRMULAS

Dep

to. d

e In

geni

ería

Geo

lógi

ca y

Min

era

E.T

.S. d

e In

geni

eros

de

Min

as y

Ene

rgía

U

nive

rsid

ad P

olité

cnic

a de

Mad

rid

Informática y Programación. Curso 2018-19

C. Conde, A. Fidalgo, R. Gómez, A. López, M. Pilar Martínez de la Calle 60

c) Escríbase una función que tomando como argumentos de entrada: ξ un vector conteniendo las n abscisas para una fórmula que aproxime integrales en (-1, 1) ω un vector conteniendo los n pesos para una fórmula que aproxime integrales en (-1, 1) K Escalar que contiene la constante del error de la fórmula m Entero representando el orden de exactitud de la fórmula. a Extremo izquierdo de un intervalo b Extremo derecho de un intervalo obtenga la fórmula equivalente en el intervalo (a, b) así como la expresión del error de truncatura

P10-EJ4: Mét. de Coefs. Indeterminados

Page 61: INTEGRACIÓN NUMÉRICA CON MATLABmatlab.digym.upm.es/wp-content/uploads/2019/05/IyP_Integracion_GIE_19.pdf · que utilizan, para evaluar integrales en un intervalo dado . USO DE FÓRMULAS

Dep

to. d

e In

geni

ería

Geo

lógi

ca y

Min

era

E.T

.S. d

e In

geni

eros

de

Min

as y

Ene

rgía

U

nive

rsid

ad P

olité

cnic

a de

Mad

rid

Informática y Programación. Curso 2018-19

C. Conde, A. Fidalgo, R. Gómez, A. López, M. Pilar Martínez de la Calle 61

function [s, c, OEX, CTE]= ...

fP10_EJ4c(xi,omega, K, m, a, b)

A= (a+b)/2;

B= (b-a)/2;

s= A+B*xi; % Abscisas de la fórmula

c= B*omega; % Pesos de la fórmula

OEX= m-1; % Orden de exactitud

% Constante de la expresión del error

CTE= (K/2^(m+1))*(b-a)^(m+1);

end

P10-EJ4: Mét. de Coefs. Indeterminados

Page 62: INTEGRACIÓN NUMÉRICA CON MATLABmatlab.digym.upm.es/wp-content/uploads/2019/05/IyP_Integracion_GIE_19.pdf · que utilizan, para evaluar integrales en un intervalo dado . USO DE FÓRMULAS

Dep

to. d

e In

geni

ería

Geo

lógi

ca y

Min

era

E.T

.S. d

e In

geni

eros

de

Min

as y

Ene

rgía

U

nive

rsid

ad P

olité

cnic

a de

Mad

rid

Informática y Programación. Curso 2018-19

C. Conde, A. Fidalgo, R. Gómez, A. López, M. Pilar Martínez de la Calle 62

d) Utilícense las funciones anteriores en un programa que nos permita obtener la fórmula de tipo interpolatorio y su expresión del error, para integrar en el intervalo (a=2, b=5), una función f(x) sobre el soporte {1.8, 2.5, 3.2, 3.9, 4.6, 5.3}. Utilícese la fórmula anterior para calcular los valores aproximados de las integrales sobre (2, 5) de las funciones (x-a)p con p = 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 y 10. Compárese con el valor exacto y confírmese que no se contradice el orden de exactitud determinado por el programa.

P10-EJ4: Mét. de Coefs. Indeterminados

Page 63: INTEGRACIÓN NUMÉRICA CON MATLABmatlab.digym.upm.es/wp-content/uploads/2019/05/IyP_Integracion_GIE_19.pdf · que utilizan, para evaluar integrales en un intervalo dado . USO DE FÓRMULAS

Dep

to. d

e In

geni

ería

Geo

lógi

ca y

Min

era

E.T

.S. d

e In

geni

eros

de

Min

as y

Ene

rgía

U

nive

rsid

ad P

olité

cnic

a de

Mad

rid

Informática y Programación. Curso 2018-19

C. Conde, A. Fidalgo, R. Gómez, A. López, M. Pilar Martínez de la Calle 63

clear syms x f(x) a=2; b=5; sop=[1.8, 2.5, 3.2, 3.9, 4.6, 5.3]; [xi]=fP10_EJ4(sop,a, b, -1, 1); [omega,K,m]=fP10_MCIREF(xi); [s, c, OEX, CTE]= ... fP10_EJ4c(xi,omega, K, m, a, b) vfs=f(s); Vapr=vfs*c

(cont.)

P10-EJ4: Mét. de Coefs. Indeterminados

Page 64: INTEGRACIÓN NUMÉRICA CON MATLABmatlab.digym.upm.es/wp-content/uploads/2019/05/IyP_Integracion_GIE_19.pdf · que utilizan, para evaluar integrales en un intervalo dado . USO DE FÓRMULAS

Dep

to. d

e In

geni

ería

Geo

lógi

ca y

Min

era

E.T

.S. d

e In

geni

eros

de

Min

as y

Ene

rgía

U

nive

rsid

ad P

olité

cnic

a de

Mad

rid

Informática y Programación. Curso 2018-19

C. Conde, A. Fidalgo, R. Gómez, A. López, M. Pilar Martínez de la Calle 64

for p=0:1:10 vf=(s-a).^p; VA(p+1)=dot(c,vf); VE(p+1)=((b-a)^(p+1))/(p+1); ErrorT(p+1)=abs(VE(p+1)-VA(p+1)); end plot([0:1:10],ErrorT,'-sr')

(cont.)

P10-EJ4: Mét. de Coefs. Indeterminados

Page 65: INTEGRACIÓN NUMÉRICA CON MATLABmatlab.digym.upm.es/wp-content/uploads/2019/05/IyP_Integracion_GIE_19.pdf · que utilizan, para evaluar integrales en un intervalo dado . USO DE FÓRMULAS

Dep

to. d

e In

geni

ería

Geo

lógi

ca y

Min

era

E.T

.S. d

e In

geni

eros

de

Min

as y

Ene

rgía

U

nive

rsid

ad P

olité

cnic

a de

Mad

rid

Informática y Programación. Curso 2018-19

C. Conde, A. Fidalgo, R. Gómez, A. López, M. Pilar Martínez de la Calle 65

>> P10_EJ4d s = 1.8000 2.5000 3.2000 3.9000 4.6000 5.3000 c = 0.0800 0.8431 0.5904 0.7278 0.7153 0.0434 OEX = 5 CTE = -8.8755e-04 Vapr = (8097*f(5/2))/9604 + (192*f(9/5))/2401 + (405*f(16/5))/686 + (3435*f(23/5))/4802 + (3495*f(39/10))/4802+(417*f(53/10))/9604

P10-EJ4: Mét. de Coefs. Indeterminados

Page 66: INTEGRACIÓN NUMÉRICA CON MATLABmatlab.digym.upm.es/wp-content/uploads/2019/05/IyP_Integracion_GIE_19.pdf · que utilizan, para evaluar integrales en un intervalo dado . USO DE FÓRMULAS

Dep

to. d

e In

geni

ería

Geo

lógi

ca y

Min

era

E.T

.S. d

e In

geni

eros

de

Min

as y

Ene

rgía

U

nive

rsid

ad P

olité

cnic

a de

Mad

rid

Informática y Programación. Curso 2018-19

C. Conde, A. Fidalgo, R. Gómez, A. López, M. Pilar Martínez de la Calle 66

>> ErrorT ErrorT = 1.0e+03 * Columns 1 through 6 0.0000 0.0000 0.0000 0 0 0.0000 Columns 7 through 11 0.0006 0.0066 0.0436 0.2320 1.0937

0 1 2 3 4 5 6 7 8 9 10

int((x-a)p

,2..5), (Potencia)

0

200

400

600

800

1000

1200

Err

or

P10-EJ4: Mét. de Coefs. Indeterminados

Page 67: INTEGRACIÓN NUMÉRICA CON MATLABmatlab.digym.upm.es/wp-content/uploads/2019/05/IyP_Integracion_GIE_19.pdf · que utilizan, para evaluar integrales en un intervalo dado . USO DE FÓRMULAS

Dep

to. d

e In

geni

ería

Geo

lógi

ca y

Min

era

E.T

.S. d

e In

geni

eros

de

Min

as y

Ene

rgía

U

nive

rsid

ad P

olité

cnic

a de

Mad

rid

Informática y Programación. Curso 2018-19

C. Conde, A. Fidalgo, R. Gómez, A. López, M. Pilar Martínez de la Calle 67

EJERCICIO PROPUESTO (P10_EP4) P10_EP4. a) Escribir una función llamada fP10_TaylorR, en la que dado un soporte ξ de n abscisas con las que se quiere calcular una F.I.N.T.I. para aproximar el valor de integrales definidas sobre el intervalo (-1, 1), se combinen desarrollos en serie de Taylor para calcular los coeficientes de dicha fórmula así como la expresión del error de truncatura de la misma.

b) Utilícese la función anterior, así como las funciones fP10_EJ4 y fP10_EJ4c en un programa que nos permita obtener la fórmula de tipo interpolatorio y su expresión del error, para integrar en el intervalo (a= -π/2, b= π/2), una función f(x) sobre el soporte {-π/2, -π/4, 0, π/4, π/2}.

Page 68: INTEGRACIÓN NUMÉRICA CON MATLABmatlab.digym.upm.es/wp-content/uploads/2019/05/IyP_Integracion_GIE_19.pdf · que utilizan, para evaluar integrales en un intervalo dado . USO DE FÓRMULAS

Dep

to. d

e In

geni

ería

Geo

lógi

ca y

Min

era

E.T

.S. d

e In

geni

eros

de

Min

as y

Ene

rgía

U

nive

rsid

ad P

olité

cnic

a de

Mad

rid

Informática y Programación. Curso 2018-19

C. Conde, A. Fidalgo, R. Gómez, A. López, M. Pilar Martínez de la Calle 68

P10_EP4. c) Utilícese la fórmula anterior para calcular los valores aproximados de las integrales de las funciones xp con p = 0, 1, 2, 3, 4, 5, 6, 7, 8, 9 y 10 sobre el intervalo (a= -π/2, b= π/2) Compárense con el valor exacto y confírmese que no se contradice el orden de exactitud determinado por el programa.

EJERCICIO PROPUESTO (P10_EP4)

Page 69: INTEGRACIÓN NUMÉRICA CON MATLABmatlab.digym.upm.es/wp-content/uploads/2019/05/IyP_Integracion_GIE_19.pdf · que utilizan, para evaluar integrales en un intervalo dado . USO DE FÓRMULAS

Dep

to. d

e In

geni

ería

Geo

lógi

ca y

Min

era

E.T

.S. d

e In

geni

eros

de

Min

as y

Ene

rgía

U

nive

rsid

ad P

olité

cnic

a de

Mad

rid

Informática y Programación. Curso 2018-19

C. Conde, A. Fidalgo, R. Gómez, A. López, M. Pilar Martínez de la Calle 69

SOLUCIÓN: -1 1

ξ1 ξ2 ξJ ξn

Siendo G(ξ) una primitiva de g(ξ):

exact1

o

1

g G 1V ( )d ( ) ( )G 1 G 0 1 G 0 )1( ) (−

= = − −ξ = + −ξ =∫(iv (v (viG 0 G 0 G 0 G 0 G1 1 1 1 1( ) '( ) · "( ) · '''( ) · ( ) · ( ) · ( ) ...

2 6 24 1200

720G 0 G 0= + + + + + + + −

(iv (v (viG 0 G 0 G 0 G 0 G1 1 1 1 1( ) '( ) · "( ) · '''( ) · ( ) · ( ) · ( ) ...2 6 24 120

0720

G 0 G 0− + − + − + − + =

(v (vii1 1 12 '( ) · '''( ) · ( ) · ( ) ...3 60 2520

G 0 G 0 G 0 G 0= + + + + =

(iv (vig 0 g 0 g 01 1 12 ( ) · ''( ) · ( ) · ( ) ...3 60 25

g20

0= + + + +

EJERCICIO PROPUESTO (P10_EP4)

Page 70: INTEGRACIÓN NUMÉRICA CON MATLABmatlab.digym.upm.es/wp-content/uploads/2019/05/IyP_Integracion_GIE_19.pdf · que utilizan, para evaluar integrales en un intervalo dado . USO DE FÓRMULAS

Dep

to. d

e In

geni

ería

Geo

lógi

ca y

Min

era

E.T

.S. d

e In

geni

eros

de

Min

as y

Ene

rgía

U

nive

rsid

ad P

olité

cnic

a de

Mad

rid

Informática y Programación. Curso 2018-19

C. Conde, A. Fidalgo, R. Gómez, A. López, M. Pilar Martínez de la Calle 70

-1 1

ξ1 ξ2 ξJ ξn Por otra parte, la fórmula nos conduce a:

n n

aprox J J J JJ 1 J 1

V · ( ) · ( )g g 0= =

γ ξ γ ξ= = + =∑ ∑n

2 3 4 (ivJ J J J J

J 1

1 1 1· ( ) · '( ) · "( ) ·g 0 g 0 g 0 g 0 g'''( ) · ( )2 6 24

0=

= + + + + + γ ξ ξ ξ ξ∑

5 (v 6 (viJ J

1 1· ( ) · ( ) ...120 720

g 0 g 0 + +ξ +

ξ =

n n n n2 3

J J J J J J JJ 1 J 1 J 1 J 1

1 1· ( ) · · '( ) · · "(g 0 g 0 g 0 g) · · 0'''( )2 6= = = =

= + + + +

ξ

γ ξ γ γ ξ γ∑ ∑ ∑ ∑n n n

4 (iv 5 (v 6 (viJ J J J J J

J 1 J 1 J 1

1 1 1· · ( ) · · ( ) · · ( ) ...24 1

g 0 g 0 g 020 720= = =

+ + + +

ξ γ ξ γ

ξ γ∑ ∑ ∑

EJERCICIO PROPUESTO (P10_EP4)

Page 71: INTEGRACIÓN NUMÉRICA CON MATLABmatlab.digym.upm.es/wp-content/uploads/2019/05/IyP_Integracion_GIE_19.pdf · que utilizan, para evaluar integrales en un intervalo dado . USO DE FÓRMULAS

Dep

to. d

e In

geni

ería

Geo

lógi

ca y

Min

era

E.T

.S. d

e In

geni

eros

de

Min

as y

Ene

rgía

U

nive

rsid

ad P

olité

cnic

a de

Mad

rid

Informática y Programación. Curso 2018-19

C. Conde, A. Fidalgo, R. Gómez, A. López, M. Pilar Martínez de la Calle 71

-1 1

ξ1 ξ2 ξJ ξn Obligando a coincidir los coeficientes de g(0), g’(0), …, g(n-1(0) en los desarrollos de Vexacto y Vaprox se tiene:

Coef. de g(0): n

J 1 2 nJ 1

2 ... 2=

= → + +γ γ +γ γ =∑n

J J 1 1 2 2 n nJ 1

· 0 · · ... · 0=

= → +ξ γ ξ γ + ξ+ξ γ γ =∑Coef. de g‘(0): n

2 2 2 2J J 1 1 2 2 n n

J 1

2 2· · · ... ·3 3=

= → +ξ γ ξ γ ξ ξ+ γ+ =γ∑Coef. de g”(0):

nn 1 (n 1) (n 1) (n 1)J J n 1 1 2 2 n n n

J 1· b · · ... · b− − − −

=

ξ γ ξ γ ξ γ ξ γ= → + + + =∑

Coef. de g(n-1(0): ……………………………………………………..

EJERCICIO PROPUESTO (P10_EP4)

Page 72: INTEGRACIÓN NUMÉRICA CON MATLABmatlab.digym.upm.es/wp-content/uploads/2019/05/IyP_Integracion_GIE_19.pdf · que utilizan, para evaluar integrales en un intervalo dado . USO DE FÓRMULAS

Dep

to. d

e In

geni

ería

Geo

lógi

ca y

Min

era

E.T

.S. d

e In

geni

eros

de

Min

as y

Ene

rgía

U

nive

rsid

ad P

olité

cnic

a de

Mad

rid

Informática y Programación. Curso 2018-19

C. Conde, A. Fidalgo, R. Gómez, A. López, M. Pilar Martínez de la Calle 72

-1 1

ξ1 ξ2 ξJ ξn En resumen debemos resolver el sistema:

1 1

1 2 3 n 2 22 2 2 21 2 3 n 3 3

n 1 n 1 n 1 n 11 2 3 n n n

1 1 1 ... 1...

·.

bbb

b

..

...− − − −

γ ξ ξ ξ ξ γ ξ ξ ξ ξ γ ξ

= ξ ξ ξ γ

con: 2 si J es imparb JJ

0 si J es par

=

El mismo que en la función fP8_MCIREF

EJERCICIO PROPUESTO (P10_EP4)

Page 73: INTEGRACIÓN NUMÉRICA CON MATLABmatlab.digym.upm.es/wp-content/uploads/2019/05/IyP_Integracion_GIE_19.pdf · que utilizan, para evaluar integrales en un intervalo dado . USO DE FÓRMULAS

Dep

to. d

e In

geni

ería

Geo

lógi

ca y

Min

era

E.T

.S. d

e In

geni

eros

de

Min

as y

Ene

rgía

U

nive

rsid

ad P

olité

cnic

a de

Mad

rid

Informática y Programación. Curso 2018-19

C. Conde, A. Fidalgo, R. Gómez, A. López, M. Pilar Martínez de la Calle 73

-1 1

ξ1 ξ2 ξJ ξn Como hemos obligado a que coincidan los términos con derivadas anteriores a g(n(0) el error estará dado por :

(mexacto aprox mg

m nR ( ) V V r · (1,1 g 0)

=

− =− = ∑donde: n

mJ J

J 1

m nm

J JJ 1

·si m es impar

m!r·

2 si m es par(m 1)! m!

=

=

γ ξ

−= γ ξ − +

Y todo consiste en buscar el primer valor de m > n para el que rm NO es nulo

El mismo que en la función fP108_MCIREF

EJERCICIO PROPUESTO (P10_EP4)

Page 74: INTEGRACIÓN NUMÉRICA CON MATLABmatlab.digym.upm.es/wp-content/uploads/2019/05/IyP_Integracion_GIE_19.pdf · que utilizan, para evaluar integrales en un intervalo dado . USO DE FÓRMULAS

Dep

to. d

e In

geni

ería

Geo

lógi

ca y

Min

era

E.T

.S. d

e In

geni

eros

de

Min

as y

Ene

rgía

U

nive

rsid

ad P

olité

cnic

a de

Mad

rid

Informática y Programación. Curso 2018-19

C. Conde, A. Fidalgo, R. Gómez, A. López, M. Pilar Martínez de la Calle 74

EN CONCLUSIÓN: La función fP10_Taylor_R coincide con la función fP10_MCIREF antes escrita.

EJERCICIO PROPUESTO (P10_EP4)

Page 75: INTEGRACIÓN NUMÉRICA CON MATLABmatlab.digym.upm.es/wp-content/uploads/2019/05/IyP_Integracion_GIE_19.pdf · que utilizan, para evaluar integrales en un intervalo dado . USO DE FÓRMULAS

Dep

to. d

e In

geni

ería

Geo

lógi

ca y

Min

era

E.T

.S. d

e In

geni

eros

de

Min

as y

Ene

rgía

U

nive

rsid

ad P

olité

cnic

a de

Mad

rid

Informática y Programación. Curso 2018-19

C. Conde, A. Fidalgo, R. Gómez, A. López, M. Pilar Martínez de la Calle 75

function [gamma,K,m]=fP10_TaylorR(xi) % DETERMINACIÓN COEFICIENTES FÓRMULA n=length(xi); M=ones(n,n); b=zeros(n,1); for J=2:1:n M(J,1:n)=M(J-1,1:n).*xi(1:n); end for J=1:2:n b(J,1)=2/J; end gamma=inv(M)*b;

(cont.)

EJERCICIO PROPUESTO (P10_EP4)

Page 76: INTEGRACIÓN NUMÉRICA CON MATLABmatlab.digym.upm.es/wp-content/uploads/2019/05/IyP_Integracion_GIE_19.pdf · que utilizan, para evaluar integrales en un intervalo dado . USO DE FÓRMULAS

Dep

to. d

e In

geni

ería

Geo

lógi

ca y

Min

era

E.T

.S. d

e In

geni

eros

de

Min

as y

Ene

rgía

U

nive

rsid

ad P

olité

cnic

a de

Mad

rid

Informática y Programación. Curso 2018-19

C. Conde, A. Fidalgo, R. Gómez, A. López, M. Pilar Martínez de la Calle 76

% CÁLCULO DE EXPRESÓN DEL ERROR xip=M(n,1:n).*xi(1:n); Vap=dot(gamma,xip); % Valor con fórmula m=n; if(m~=2*floor(m/2)) % Valor exacto Vex=0; else Vex=2/(m+1); end

(cont.)

(cont.)

EJERCICIO PROPUESTO (P10_EP4)

Page 77: INTEGRACIÓN NUMÉRICA CON MATLABmatlab.digym.upm.es/wp-content/uploads/2019/05/IyP_Integracion_GIE_19.pdf · que utilizan, para evaluar integrales en un intervalo dado . USO DE FÓRMULAS

Dep

to. d

e In

geni

ería

Geo

lógi

ca y

Min

era

E.T

.S. d

e In

geni

eros

de

Min

as y

Ene

rgía

U

nive

rsid

ad P

olité

cnic

a de

Mad

rid

Informática y Programación. Curso 2018-19

C. Conde, A. Fidalgo, R. Gómez, A. López, M. Pilar Martínez de la Calle 77

% SI DIFIEREN MENOS QUE EL epsilon DE % MATLAB SE INCREMENTA ORDEN Y SE % RECALCULAN VALOR EXACTO Y APROXIMADO while ((abs(Vex-Vap)<eps)&(m<2*n)) m=m+1; if(m~=2*floor(m/2)) Vex=0; else Vex=2/(m+1); end xipp=xip; xip(1:n)=xipp(1:n).*xi(1:n); Vap=dot(gamma,xip); end

(cont.)

(cont.)

EJERCICIO PROPUESTO (P10_EP4)

Page 78: INTEGRACIÓN NUMÉRICA CON MATLABmatlab.digym.upm.es/wp-content/uploads/2019/05/IyP_Integracion_GIE_19.pdf · que utilizan, para evaluar integrales en un intervalo dado . USO DE FÓRMULAS

Dep

to. d

e In

geni

ería

Geo

lógi

ca y

Min

era

E.T

.S. d

e In

geni

eros

de

Min

as y

Ene

rgía

U

nive

rsid

ad P

olité

cnic

a de

Mad

rid

Informática y Programación. Curso 2018-19

C. Conde, A. Fidalgo, R. Gómez, A. López, M. Pilar Martínez de la Calle 78

% CONSTANTE DE EXPRESIÓN DE ERROR K=(Vex-Vap)/factorial(m); end

(cont.) EJERCICIO PROPUESTO (P10_EP4)

Page 79: INTEGRACIÓN NUMÉRICA CON MATLABmatlab.digym.upm.es/wp-content/uploads/2019/05/IyP_Integracion_GIE_19.pdf · que utilizan, para evaluar integrales en un intervalo dado . USO DE FÓRMULAS

Dep

to. d

e In

geni

ería

Geo

lógi

ca y

Min

era

E.T

.S. d

e In

geni

eros

de

Min

as y

Ene

rgía

U

nive

rsid

ad P

olité

cnic

a de

Mad

rid

Informática y Programación. Curso 2018-19

C. Conde, A. Fidalgo, R. Gómez, A. López, M. Pilar Martínez de la Calle 79

b) clear syms x f(x) a=-pi/2; b=pi/2; sop=[a, -pi/4, 0, pi/4, b]; [xi]=fP10_EJ4(sop,a, b, -1, 1); [gamma,K,m]=fP10_TaylorR(xi); [s, c, OEX, CTE]=fP10_EJ4c(xi,gamma, K,... m, a, b) vfs=f(s); Vapr=vfs*c

EJERCICIO PROPUESTO (P10_EP4)

Page 80: INTEGRACIÓN NUMÉRICA CON MATLABmatlab.digym.upm.es/wp-content/uploads/2019/05/IyP_Integracion_GIE_19.pdf · que utilizan, para evaluar integrales en un intervalo dado . USO DE FÓRMULAS

Dep

to. d

e In

geni

ería

Geo

lógi

ca y

Min

era

E.T

.S. d

e In

geni

eros

de

Min

as y

Ene

rgía

U

nive

rsid

ad P

olité

cnic

a de

Mad

rid

Informática y Programación. Curso 2018-19

C. Conde, A. Fidalgo, R. Gómez, A. López, M. Pilar Martínez de la Calle 80

>> P10_EP4 s = Columns 1 through 3 -1.570796326794897 -0.785398163397448 0 Columns 4 through 5 0.785398163397448 1.570796326794897 c = 0.244346095279207 1.117010721276370 0.418879020478640 1.117010721276372 0.244346095279206 OEX = 5 CTE = -0.001560584711773 ...

EJERCICIO PROPUESTO (P10_EP4)

Page 81: INTEGRACIÓN NUMÉRICA CON MATLABmatlab.digym.upm.es/wp-content/uploads/2019/05/IyP_Integracion_GIE_19.pdf · que utilizan, para evaluar integrales en un intervalo dado . USO DE FÓRMULAS

Dep

to. d

e In

geni

ería

Geo

lógi

ca y

Min

era

E.T

.S. d

e In

geni

eros

de

Min

as y

Ene

rgía

U

nive

rsid

ad P

olité

cnic

a de

Mad

rid

Informática y Programación. Curso 2018-19

C. Conde, A. Fidalgo, R. Gómez, A. López, M. Pilar Martínez de la Calle 81

... OEX = 5 CTE = -0.001560584711773 (-14/8971) Vapr = (2*pi*f(0))/15 + (7*pi*f(-pi/2))/90 + (7*pi*f(pi/2))/90 + (16*pi*f(-pi/4))/45 + (16*pi*f(pi/4))/45

( ) ( ) ( ) ( ) ( )( )2

2

f(x)·dx · 7·f 32·f 12·f 0 32·f 7·f2 4 4 290

π

π−

π π π π π= − + − + + + −∫

( )6 (v14 ·f z8971

− π

EJERCICIO PROPUESTO (P10_EP4)

Page 82: INTEGRACIÓN NUMÉRICA CON MATLABmatlab.digym.upm.es/wp-content/uploads/2019/05/IyP_Integracion_GIE_19.pdf · que utilizan, para evaluar integrales en un intervalo dado . USO DE FÓRMULAS

Dep

to. d

e In

geni

ería

Geo

lógi

ca y

Min

era

E.T

.S. d

e In

geni

eros

de

Min

as y

Ene

rgía

U

nive

rsid

ad P

olité

cnic

a de

Mad

rid

Informática y Programación. Curso 2018-19

C. Conde, A. Fidalgo, R. Gómez, A. López, M. Pilar Martínez de la Calle 82

% COMPLETAMOS P10_EP4 con lo que sigue: for p=0:1:10 vf=(s-a).^p; VA(p+1)=dot(c,vf); VE(p+1)=((b-a)^(p+1))/(p+1); ErrorT(p+1)=abs(VE(p+1)-VA(p+1)); end plot([0:1:10],ErrorT,'-sr') xlabel(... 'int((x-a)^p,-pi/2..pi/2), (Potencia)') ylabel('Error')

c) EJERCICIO PROPUESTO (P10_EP4)

Page 83: INTEGRACIÓN NUMÉRICA CON MATLABmatlab.digym.upm.es/wp-content/uploads/2019/05/IyP_Integracion_GIE_19.pdf · que utilizan, para evaluar integrales en un intervalo dado . USO DE FÓRMULAS

Dep

to. d

e In

geni

ería

Geo

lógi

ca y

Min

era

E.T

.S. d

e In

geni

eros

de

Min

as y

Ene

rgía

U

nive

rsid

ad P

olité

cnic

a de

Mad

rid

Informática y Programación. Curso 2018-19

C. Conde, A. Fidalgo, R. Gómez, A. López, M. Pilar Martínez de la Calle 83

0 1 2 3 4 5 6 7

int((x-a)p

,-pi/2..pi/2), (Potencia)

0

2

4

6

8

10

12

14

Err

or

Detalle con potencias 0 a 7ª

EJERCICIO PROPUESTO (P10_EP4)

Page 84: INTEGRACIÓN NUMÉRICA CON MATLABmatlab.digym.upm.es/wp-content/uploads/2019/05/IyP_Integracion_GIE_19.pdf · que utilizan, para evaluar integrales en un intervalo dado . USO DE FÓRMULAS

Dep

to. d

e In

geni

ería

Geo

lógi

ca y

Min

era

E.T

.S. d

e In

geni

eros

de

Min

as y

Ene

rgía

U

nive

rsid

ad P

olité

cnic

a de

Mad

rid

Informática y Programación. Curso 2018-19

C. Conde, A. Fidalgo, R. Gómez, A. López, M. Pilar Martínez de la Calle 84

FÓRMULAS COMPUESTAS

QUINTO OBJETIVO: Construir fórmulas de intergación numérica de tipo interpolatorio COMPUESTAS a partir de fórmulas simples.

Page 85: INTEGRACIÓN NUMÉRICA CON MATLABmatlab.digym.upm.es/wp-content/uploads/2019/05/IyP_Integracion_GIE_19.pdf · que utilizan, para evaluar integrales en un intervalo dado . USO DE FÓRMULAS

Dep

to. d

e In

geni

ería

Geo

lógi

ca y

Min

era

E.T

.S. d

e In

geni

eros

de

Min

as y

Ene

rgía

U

nive

rsid

ad P

olité

cnic

a de

Mad

rid

Informática y Programación. Curso 2018-19

C. Conde, A. Fidalgo, R. Gómez, A. López, M. Pilar Martínez de la Calle 85

Se denominan fórmulas de integración numérica COMPUESTAS a aquellas que se resultan de subdividir el intervalo de integración en N subintervalos y aplicando en cada uno de ellos una fórmula de integración numérica simple

a b

a1 b1≡a2 bJ-1≡aJ bJ≡aJ+1 bN-1≡aN bN≡aN+1

J

J

bb N

J 1a a

f(x)·dx f(x)·dx=

=

∑∫ ∫

I1 IJ IN

FÓRMULAS COMPUESTAS

Page 86: INTEGRACIÓN NUMÉRICA CON MATLABmatlab.digym.upm.es/wp-content/uploads/2019/05/IyP_Integracion_GIE_19.pdf · que utilizan, para evaluar integrales en un intervalo dado . USO DE FÓRMULAS

Dep

to. d

e In

geni

ería

Geo

lógi

ca y

Min

era

E.T

.S. d

e In

geni

eros

de

Min

as y

Ene

rgía

U

nive

rsid

ad P

olité

cnic

a de

Mad

rid

Informática y Programación. Curso 2018-19

C. Conde, A. Fidalgo, R. Gómez, A. López, M. Pilar Martínez de la Calle 86

a b

a1 b1≡a2 bJ-1≡aJ bJ≡aJ+1 bN-1≡aN bN≡aN+1

( )J J

J

bb nN N(J) (J)k k

J 1 J 1 k 1a a

f(x)·dx f(x)·dx c ·f s= = =

= ≈ ∑ ∑ ∑∫ ∫

I1 IJ IN

bJ-1≡aJ bJ≡aJ+1 s1

(J) sk(J) snJ

(J)

FÓRMULAS COMPUESTAS

Page 87: INTEGRACIÓN NUMÉRICA CON MATLABmatlab.digym.upm.es/wp-content/uploads/2019/05/IyP_Integracion_GIE_19.pdf · que utilizan, para evaluar integrales en un intervalo dado . USO DE FÓRMULAS

Dep

to. d

e In

geni

ería

Geo

lógi

ca y

Min

era

E.T

.S. d

e In

geni

eros

de

Min

as y

Ene

rgía

U

nive

rsid

ad P

olité

cnic

a de

Mad

rid

Informática y Programación. Curso 2018-19

C. Conde, A. Fidalgo, R. Gómez, A. López, M. Pilar Martínez de la Calle 87

Caso más frecuente: Todos los subintervalos tienen la misma longitud y en todos ellos se usa la misma fórmula simple. EJERCICIO P10_EJ4: a) Escríbase un subprograma que calcule una aproximación del valor de la integral sobre (a, b) de una función f(x), subdividiendo el intervalo en N subintervalos y utilizando en cada uno de ellos la fórmula de Simpson. Serán argumentos de entrada N, a, b y la función f(x).

FÓRMULAS COMPUESTAS

b) Utilícese la función anterior para evaluar la aproximación de la integral sobre (-π, π ) de la función f(x) =x6- x4 + x , con N = 2, 4, 8, 16, ….,1024.

Page 88: INTEGRACIÓN NUMÉRICA CON MATLABmatlab.digym.upm.es/wp-content/uploads/2019/05/IyP_Integracion_GIE_19.pdf · que utilizan, para evaluar integrales en un intervalo dado . USO DE FÓRMULAS

Dep

to. d

e In

geni

ería

Geo

lógi

ca y

Min

era

E.T

.S. d

e In

geni

eros

de

Min

as y

Ene

rgía

U

nive

rsid

ad P

olité

cnic

a de

Mad

rid

Informática y Programación. Curso 2018-19

C. Conde, A. Fidalgo, R. Gómez, A. López, M. Pilar Martínez de la Calle 88

FÓRMULAS COMPUESTAS

J

J

bb N

J 1a a

f(x)·dx f(x)·dx=

= ≈

∑∫ ∫

( ) ( )N

J J 1J J 1

J 1

a aH· f a 4·f f a6 2

++

=

+ = + + = ∑

( ) ( )N N

J J 1J

J 1 J 2

a aH· f a f(b) 4· f 2· f a6 2

+

= =

+ = + + + ∑ ∑

Page 89: INTEGRACIÓN NUMÉRICA CON MATLABmatlab.digym.upm.es/wp-content/uploads/2019/05/IyP_Integracion_GIE_19.pdf · que utilizan, para evaluar integrales en un intervalo dado . USO DE FÓRMULAS

Dep

to. d

e In

geni

ería

Geo

lógi

ca y

Min

era

E.T

.S. d

e In

geni

eros

de

Min

as y

Ene

rgía

U

nive

rsid

ad P

olité

cnic

a de

Mad

rid

Informática y Programación. Curso 2018-19

C. Conde, A. Fidalgo, R. Gómez, A. López, M. Pilar Martínez de la Calle 89

FÓRMULAS COMPUESTAS function vapr=SimpsonC(a, b, N,f) % Definimos la longitud de cada intervalo % n=2N+1 abscisas que se utilizan H=(b-a)/N; s=[a:H/2:b]; n=length(s); % Sumamos el valor de la función en los % extremos del intervalo .... vapr=f(s(1))+f(s(n)); % ... más 4 veces el valor de la función % en los puntos medios de cada % subintervalo ... vapr=vapr+4*sum(f(s(2:2:n-1)));

Page 90: INTEGRACIÓN NUMÉRICA CON MATLABmatlab.digym.upm.es/wp-content/uploads/2019/05/IyP_Integracion_GIE_19.pdf · que utilizan, para evaluar integrales en un intervalo dado . USO DE FÓRMULAS

Dep

to. d

e In

geni

ería

Geo

lógi

ca y

Min

era

E.T

.S. d

e In

geni

eros

de

Min

as y

Ene

rgía

U

nive

rsid

ad P

olité

cnic

a de

Mad

rid

Informática y Programación. Curso 2018-19

C. Conde, A. Fidalgo, R. Gómez, A. López, M. Pilar Martínez de la Calle 90

FÓRMULAS COMPUESTAS

% ... más 2 veces el valor de la función % en los extremos de cada subintervalo % (con excepción del 1º y del último)... vapr=vapr+2*sum(f(s(3:2:n-2))); % ... y multiplicamos la suma por H/6 vapr=H*vapr/6; end

Page 91: INTEGRACIÓN NUMÉRICA CON MATLABmatlab.digym.upm.es/wp-content/uploads/2019/05/IyP_Integracion_GIE_19.pdf · que utilizan, para evaluar integrales en un intervalo dado . USO DE FÓRMULAS

Dep

to. d

e In

geni

ería

Geo

lógi

ca y

Min

era

E.T

.S. d

e In

geni

eros

de

Min

as y

Ene

rgía

U

nive

rsid

ad P

olité

cnic

a de

Mad

rid

Informática y Programación. Curso 2018-19

C. Conde, A. Fidalgo, R. Gómez, A. López, M. Pilar Martínez de la Calle 91

FÓRMULAS COMPUESTAS

clear % Declaramos simbólica la variable x % y la función f(x) syms x f(x) % Definimos los extremos del intervalo % de integración y la función a integrar a=0; b=10; f(x)= x^6-x^4+x; % Para N=2,4,8,16,32,64,128, 256, 512 y % 1024 usamos la función simpsonC para % aproximar el valor aproximado % de la integral en cada caso

Page 92: INTEGRACIÓN NUMÉRICA CON MATLABmatlab.digym.upm.es/wp-content/uploads/2019/05/IyP_Integracion_GIE_19.pdf · que utilizan, para evaluar integrales en un intervalo dado . USO DE FÓRMULAS

Dep

to. d

e In

geni

ería

Geo

lógi

ca y

Min

era

E.T

.S. d

e In

geni

eros

de

Min

as y

Ene

rgía

U

nive

rsid

ad P

olité

cnic

a de

Mad

rid

Informática y Programación. Curso 2018-19

C. Conde, A. Fidalgo, R. Gómez, A. López, M. Pilar Martínez de la Calle 92

FÓRMULAS COMPUESTAS

N=1; for J=1:1:11 N=N*2; H(J)=(b-a)/N; s=[a:H(J)/2:b]; valor=SimpsonC(a,b,N,f); vapr(J)=valor; H(J)=(b-a)/N; end % Calculamos el valor exacto y % el valor absoluto del error % cometido vex =eval(int(f(x),x,a,b)); ErrT=abs(vex-vapr);

Page 93: INTEGRACIÓN NUMÉRICA CON MATLABmatlab.digym.upm.es/wp-content/uploads/2019/05/IyP_Integracion_GIE_19.pdf · que utilizan, para evaluar integrales en un intervalo dado . USO DE FÓRMULAS

Dep

to. d

e In

geni

ería

Geo

lógi

ca y

Min

era

E.T

.S. d

e In

geni

eros

de

Min

as y

Ene

rgía

U

nive

rsid

ad P

olité

cnic

a de

Mad

rid

Informática y Programación. Curso 2018-19

C. Conde, A. Fidalgo, R. Gómez, A. López, M. Pilar Martínez de la Calle 93

FÓRMULAS COMPUESTAS

% Dibujamos la evolución del error plot(log10(H),log10(ErrT),'-sr') xlabel('Tamaño de los subintervalos') ylabel('log10(Error)')

Page 94: INTEGRACIÓN NUMÉRICA CON MATLABmatlab.digym.upm.es/wp-content/uploads/2019/05/IyP_Integracion_GIE_19.pdf · que utilizan, para evaluar integrales en un intervalo dado . USO DE FÓRMULAS

Dep

to. d

e In

geni

ería

Geo

lógi

ca y

Min

era

E.T

.S. d

e In

geni

eros

de

Min

as y

Ene

rgía

U

nive

rsid

ad P

olité

cnic

a de

Mad

rid

Informática y Programación. Curso 2018-19

C. Conde, A. Fidalgo, R. Gómez, A. López, M. Pilar Martínez de la Calle 94

EJERCICIO PROPUESTO P10_EP5

EJERCICIO P10_EP5: a) Escríbase un subprograma que calcule una aproximación del valor de la integral sobre (a, b) de una función f(x), subdividiendo el intervalo en N subintervalos y utilizando en cada uno de ellos la fórmula de 3/8. Serán argumentos de entrada N, a, b y la función f(x).

b) Utilícese la función anterior para evaluar la aproximación de la integral sobre (2, 12 ) de la función f(x) =x6-x4+x , con N = 2, 4, 8, 16, ….,1024.

Page 95: INTEGRACIÓN NUMÉRICA CON MATLABmatlab.digym.upm.es/wp-content/uploads/2019/05/IyP_Integracion_GIE_19.pdf · que utilizan, para evaluar integrales en un intervalo dado . USO DE FÓRMULAS

Dep

to. d

e In

geni

ería

Geo

lógi

ca y

Min

era

E.T

.S. d

e In

geni

eros

de

Min

as y

Ene

rgía

U

nive

rsid

ad P

olité

cnic

a de

Mad

rid

Informática y Programación. Curso 2018-19

C. Conde, A. Fidalgo, R. Gómez, A. López, M. Pilar Martínez de la Calle 95

J

J

bb N

J 1a a

f(x)·dx f(x)·dx=

= ≈

∑∫ ∫

( ) ( )N

J J 1 J J 1J J 1

J 1

2a a a 2aH· f a 3·f 3·f f a8 3 3

+ ++

=

+ + = + + = ∑

( )N

J J 1 J J 1

J 1

2a a a 2aH· f a f(b) 3· f f8 3 3

+ +

=

+ + = + + + + ∑

( )N

JJ 2

2· f a=

+

EJERCICIO PROPUESTO P10_EP5

Page 96: INTEGRACIÓN NUMÉRICA CON MATLABmatlab.digym.upm.es/wp-content/uploads/2019/05/IyP_Integracion_GIE_19.pdf · que utilizan, para evaluar integrales en un intervalo dado . USO DE FÓRMULAS

Dep

to. d

e In

geni

ería

Geo

lógi

ca y

Min

era

E.T

.S. d

e In

geni

eros

de

Min

as y

Ene

rgía

U

nive

rsid

ad P

olité

cnic

a de

Mad

rid

Informática y Programación. Curso 2018-19

C. Conde, A. Fidalgo, R. Gómez, A. López, M. Pilar Martínez de la Calle 96

SEXTO OBJETIVO: Conocer algunos comandos utilizados por MATLAB para evaluar numéricamente integrales (los comandos trapz( ) e integral( )).

Comandos de integración numérica en MATLAB

Page 97: INTEGRACIÓN NUMÉRICA CON MATLABmatlab.digym.upm.es/wp-content/uploads/2019/05/IyP_Integracion_GIE_19.pdf · que utilizan, para evaluar integrales en un intervalo dado . USO DE FÓRMULAS

Dep

to. d

e In

geni

ería

Geo

lógi

ca y

Min

era

E.T

.S. d

e In

geni

eros

de

Min

as y

Ene

rgía

U

nive

rsid

ad P

olité

cnic

a de

Mad

rid

Informática y Programación. Curso 2018-19

C. Conde, A. Fidalgo, R. Gómez, A. López, M. Pilar Martínez de la Calle 97

v = trapz(Y,X,dim)

Evalúa mediante la fórmula del trapecio compuesta una función que en las abscisas especificadas en el vector X toma los valores indicados en el vector Y. Si no se especifica X se considera que todas las abscisas distanuna de otra el valor 1. En otros términos, este comando realiza la operación: ( )

N 1 N 1J 1 J 1i 1 i 2 1 N N 1

i i 1 1 J NJ 1 J 2

X XX X X X X Xv · Y Y Y · Y · Y ·2 2 2 2

− −+ −+ −

+= =

−− − − = + = + +

∑ ∑ X e Y pueden ser una matrices y en ese caso se integra cada columna de Y sobre cada fila o columna de X. El argumento dim se utiliza para indicar si se actúa sobre filas (dim=1) o sobre columnas (dim = 2) de X.

Comandos de integración numérica en MATLAB

Page 98: INTEGRACIÓN NUMÉRICA CON MATLABmatlab.digym.upm.es/wp-content/uploads/2019/05/IyP_Integracion_GIE_19.pdf · que utilizan, para evaluar integrales en un intervalo dado . USO DE FÓRMULAS

Dep

to. d

e In

geni

ería

Geo

lógi

ca y

Min

era

E.T

.S. d

e In

geni

eros

de

Min

as y

Ene

rgía

U

nive

rsid

ad P

olité

cnic

a de

Mad

rid

Informática y Programación. Curso 2018-19

C. Conde, A. Fidalgo, R. Gómez, A. López, M. Pilar Martínez de la Calle 98

v = integral(f,a,b,nombre,valor)

Evalúa numéricamente la integral entre a y b de la función handle (on line) f. Utiliza un método compuesto, en el que va intoduciendo cada vez más subintervalos hasta obtener dos valores aproximados suficientemente precisos (por defecto, subdivide hasta que coincidan los 10 primeros decimales). Los pares de argumentos nombre y valor son opcionales y pueden ser alguno de los siguientes:

Comandos de integración numérica en MATLAB

Page 99: INTEGRACIÓN NUMÉRICA CON MATLABmatlab.digym.upm.es/wp-content/uploads/2019/05/IyP_Integracion_GIE_19.pdf · que utilizan, para evaluar integrales en un intervalo dado . USO DE FÓRMULAS

Dep

to. d

e In

geni

ería

Geo

lógi

ca y

Min

era

E.T

.S. d

e In

geni

eros

de

Min

as y

Ene

rgía

U

nive

rsid

ad P

olité

cnic

a de

Mad

rid

Informática y Programación. Curso 2018-19

C. Conde, A. Fidalgo, R. Gómez, A. López, M. Pilar Martínez de la Calle 99

v = integral(f,a,b,nombre,valor)

'AbsTol' nombre

número>0 valor

Asegura error absoluto me- nor o igual al valor especifi-cado. Por defecto es 10-10

'RelTol' Número>0 Idem. con error relativo

'Waypoints' Vector Integra utilizando, entre otras, las abscisas que se escriban como elementos del Vector

'ArrayValued' 0 o 1 false o true

Si se elige 1 o True se indica que f es una función vectorial.

Comandos de integración numérica en MATLAB

Page 100: INTEGRACIÓN NUMÉRICA CON MATLABmatlab.digym.upm.es/wp-content/uploads/2019/05/IyP_Integracion_GIE_19.pdf · que utilizan, para evaluar integrales en un intervalo dado . USO DE FÓRMULAS

Dep

to. d

e In

geni

ería

Geo

lógi

ca y

Min

era

E.T

.S. d

e In

geni

eros

de

Min

as y

Ene

rgía

U

nive

rsid

ad P

olité

cnic

a de

Mad

rid

Informática y Programación. Curso 2018-19

C. Conde, A. Fidalgo, R. Gómez, A. López, M. Pilar Martínez de la Calle 100

>> syms x f(x) >> f(x)= x.^3.*sin(x); >> vex=eval(int(f(x),1.,2.93)) vex = 11.3766 >> XX=[1.,1.43, 1.87,2.16,2.93]; FF=f(XX); >> vtrap= eval(trapz(XX,FF)) vtrap = 10.1955 >>vint=integral(@(x) x.^3.*sin(x),... XX(1),XX(end)) vint = 11.3766

Comandos de integración numérica en MATLAB

Page 101: INTEGRACIÓN NUMÉRICA CON MATLABmatlab.digym.upm.es/wp-content/uploads/2019/05/IyP_Integracion_GIE_19.pdf · que utilizan, para evaluar integrales en un intervalo dado . USO DE FÓRMULAS

Dep

to. d

e In

geni

ería

Geo

lógi

ca y

Min

era

E.T

.S. d

e In

geni

eros

de

Min

as y

Ene

rgía

U

nive

rsid

ad P

olité

cnic

a de

Mad

rid

Informática y Programación. Curso 2018-19

C. Conde, A. Fidalgo, R. Gómez, A. López, M. Pilar Martínez de la Calle 101