Práctica nº6 Integración Numérica

Anuncio
Práctica nº6 Integración Numérica
1er Ejercicio: Fórmulas de cuadratura de Newton Cotes Cerradas
1.- Generar la fórmula correspondiente a la primera regla de Simpson:
- Comenzamos sabiendo que se hace un cambio de variable de x a t para trabajar de forma mas sencilla con nodos
igualmente espaciados
- Crear un listado de puntos {i,f[xi ]}
- Calcular el polinomio Interpolador en la variable t
- Integrar el polinomio teniendo en cuenta que se ha hecho un cambio de variable para pasar del los puntos x0 ,x1 ,x2 a
los puntos 0,1,2 (deberá aparecer el término h en la expresión de la integral)
2.- Generar todas las fórmulas de integración cerradas para valores desde n=1 hasta n=8 (mediante un ciclo For)
Solución
Apartado 1
crear el listado de puntos
In[1]:=
Out[1]=
l = Table@8i, f@xi D<, 8i, 0, 2<D
880, f@x0 D<, 81, f@x1 D<, 82, f@x2 D<<
Crear el polinomio interpolador
In[2]:=
Out[2]=
In[3]:=
Out[3]=
q@t_D = InterpolatingPolynomial@l, tD
f@x0 D + t J−f@x0 D + f@x1 D +
1
H−1 + tL Hf@x0 D − 2 f@x1 D + f@x2 DLN
2
Simplify@Expand@q@tDDD
1
HH2 − 3 t + t2 L f@x0 D + t H−2 H−2 + tL f@x1 D + H−1 + tL f@x2 DLL
2
Integrar el polinomio Interpolador
int = h ∗ ‡ q@tD t
2
In[4]:=
0
Out[4]=
1
h Hf@x0 D + 4 f@x1 D + f@x2 DL
3
2
practica6.nb
Apartado 2
In[5]:=
ForAn = 1, n ≤ 8, l = Table@8i, f@xi D<, 8i, 0, n<D;
q@t_D = InterpolatingPolynomial@l, tD;
int = h ∗ ‡ q@tD t; Print@"n=", n, "
n
I=", intD; n ++E
0
n=1
I=
n=2
I=
n=3
I=
n=4
I=
n=5
I=
1
h Hf@x0 D + f@x1 DL
2
1
h Hf@x0 D + 4 f@x1 D + f@x2 DL
3
3
h Hf@x0 D + 3 f@x1 D + 3 f@x2 D + f@x3 DL
8
2
h H7 f@x0 D + 32 f@x1 D + 12 f@x2 D + 32 f@x3 D + 7 f@x4 DL
45
5
h H19 f@x0 D + 75 f@x1 D + 50 f@x2 D + 50 f@x3 D + 75 f@x4 D + 19 f@x5 DL
288
n=6 I=
1
h H41 f@x0 D + 216 f@x1 D + 27 f@x2 D + 272 f@x3 D + 27 f@x4 D + 216 f@x5 D + 41 f@x6 DL
140
1
n=7 I=
H7 h H751 f@x0 D + 3577 f@x1 D + 1323 f@x2 D +
17280
2989 f@x3 D + 2989 f@x4 D + 1323 f@x5 D + 3577 f@x6 D + 751 f@x7 DLL
1
14175
H4 h H989 f@x0 D + 5888 f@x1 D − 928 f@x2 D + 10496 f@x3 D − 4540 f@x4 D + 10496 f@x5 D −
928 f@x6 D + 5888 f@x7 D + 989 f@x8 DLL
n=8
I=
2º Ejercicio: Caso particular
Particularizar el ejercicio anterior para resolver el problema Ÿ1 Sin@xD „ x
3
Solución
In[6]:=
In[7]:=
Out[7]=
In[8]:=
f@x_D = Sin@xD
Sin@xD
a = 1; b = 3;
Caso particular n=2
In[9]:=
cálculo de h
practica6.nb
In[9]:=
Out[9]=
h=
3
b−a
2
1
Listado de puntos
In[10]:=
Out[10]=
l = Table@8i, f@a + i ∗ hD<, 8i, 0, 2<D
880, Sin@1D<, 81, Sin@2D<, 82, Sin@3D<<
Polinomio interpolador
In[11]:=
Out[11]=
In[12]:=
Out[12]=
q@t_D = InterpolatingPolynomial@l, tD
Sin@1D + t J−Sin@1D + Sin@2D +
Expand@q@tDD êê N
1
H−1 + tL HSin@1D − 2 Sin@2D + Sin@3DLN
2
0.841471 + 0.485828 t − 0.418002 t2
integral en la variable t
int = h ‡ q@tD t
2
In[13]:=
0
Out[13]=
In[14]:=
Out[14]=
1
HSin@1D + 4 Sin@2D + Sin@3DL
3
N@intD
1.53993
Caso General (n desde 1 hasta 8)
In[15]:=
?f
Global`f
f@x_D = Sin@xD
In[16]:=
ForAn = 1, n ≤ 8, h = Hb − aL ê n; l = Table@8i, f@a + Hi ∗ hLD<, 8i, 0, n<D;
q@t_D = InterpolatingPolynomial@l, tD; int = h ∗ ‡ q@tD t;
n
Print@"n=", n, "
n=1
I=0.982591
n=2
I=1.53993
n=3
I=1.53452
n=4
I=1.53024
n=5
I=1.53026
n=6
I=1.5303
n=7
I=1.53029
n=8
I=1.53029
I=", int êê ND; n ++E
0
4
practica6.nb
3er Ejercicio: Formulas abiertas
- Generar todas las fórmulas de integración abiertas para valores desde n=0 hasta n=8 (mediante un ciclo For)
Solución
In[17]:=
Clear@fD
In[18]:=
Clear@hD
In[19]:=
ForAn = 0, n ≤ 8, l = Table@8i, f@xi D<, 8i, 0, n<D;
q@t_D = InterpolatingPolynomial@l, tD;
int = h ∗ ‡
n+1
q@tD t; Print@"n=", n, "
I=2 h f@x0 D
I=", intD; n ++E
−1
n=0
n=1
n=2
n=3
n=4
n=5
n=6
n=7
3
h Hf@x0 D + f@x1 DL
2
4
I= h H2 f@x0 D − f@x1 D + 2 f@x2 DL
3
5
I=
h H11 f@x0 D + f@x1 D + f@x2 D + 11 f@x3 DL
24
3
I=
h H11 f@x0 D − 14 f@x1 D + 26 f@x2 D − 14 f@x3 D + 11 f@x4 DL
10
7 h H611 f@x0 D − 453 f@x1 D + 562 f@x2 D + 562 f@x3 D − 453 f@x4 D + 611 f@x5 DL
I=
1440
8
I=
h H460 f@x0 D − 954 f@x1 D +
945
2196 f@x2 D − 2459 f@x3 D + 2196 f@x4 D − 954 f@x5 D + 460 f@x6 DL
I=
1
H9 h H1787 f@x0 D − 2803 f@x1 D + 4967 f@x2 D −
4480
1711 f@x3 D − 1711 f@x4 D + 4967 f@x5 D − 2803 f@x6 D + 1787 f@x7 DLL
I=
n=8
I=
1
H5 h H4045 f@x0 D − 11690 f@x1 D + 33340 f@x2 D − 55070 f@x3 D + 67822 f@x4 D −
4536
55070 f@x5 D + 33340 f@x6 D − 11690 f@x7 D + 4045 f@x8 DLL
4º Ejercicio: Caso particular
Particularizar el ejercicio anterior para resolver el problema Ÿ1 Sin@xD „ x
3
practica6.nb
5
Solución
In[20]:=
Clear@fD
In[21]:=
f@x_D = Sin@xD
Out[21]=
In[22]:=
In[23]:=
Sin@xD
a = 1; b = 3;
ForAn = 0, n ≤ 8, h = Hb − aL ê Hn + 2L; l = Table@8i, f@a + Hi + 1L ∗ hD<, 8i, 0, n<D;
q@t_D = InterpolatingPolynomial@l, tD; int = h ∗ ‡
Print@"n=", n, "
n=0
I=1.81859
n=1
I=1.71849
n=2
I=1.52176
n=3
I=1.5244
n=4
I=1.53041
n=5
I=1.53038
n=6
I=1.53029
n=7
I=1.53029
n=8
I=1.53029
I=", int êê ND; n ++E
n+1
q@tD t;
−1
5º Ejercicio: Fórmulas de cuadratura Gaussiana
Aplicar las fórmulas de cuadratira Gaussiana desde valores den=2 hasta n=6 para resolver la integral Ÿ1 Sin@xD „ x
3
Nota: Ténga en cuenta que se debe aplicar el paquete GaussianQuadrature para resolver este problema (Mirar la
Ayuda)
Solución
In[24]:=
<<NumericalMath`GaussianQuadrature`
In[25]:=
pares=GaussianQuadratureWeights[2, 1, 3,30]
Out[25]=
881.422649730810374235490851219498, 1.00000000000000000000000000000<,
82.577350269189625764509148780502, 1.0000000000000000000000000000<<
6
practica6.nb
int = NA‚ Hpares@@i, 2DD ∗ f@pares@@i, 1DDDL, 30E
2
In[26]:=
i=1
Out[26]=
In[27]:=
1.5238221376597224573878111653
ForAn = 2, n ≤ 6, pares = GaussianQuadratureWeights@n, 1, 3, 10D;
int = NA‚ Hpares@@i, 2DD ∗ f@pares@@i, 1DDDL, 10E;
n
i=1
Print@"n=", n, "
Int=", intD; n ++;E
n=2
Int=1.52382214
n=3
Int=1.53035080
n=4
Int=1.53029455
n=5
Int=1.53029480
n=6
Int=1.53029480
NA‡ f@xD x, 30E
3
In[28]:=
1
Out[28]=
1.53029480246858517467250940217
Descargar