Sobre la PRACTICA 4. • Unas pocas lineas de código bastan para

Anuncio
Sobre la PRACTICA 4.
• Unas pocas lineas de código bastan para reunir la información necesaria sobre las derivadas del
integrando f (t) ; como el error de Simpson depende de su derivada 4a., se observan las derivadas
hasta ese orden; el procedimiento más cómodo es hacer diferencias sucesivas de los valores f (t) ,
sobre todo para una función cuyas derivadas se complican rápidamente, como es el caso:
%-------------------------------f = inline('sqrt(1-k^2*sin(t).^2)');
h=0.01; t = 0:h:pi/2;
% las abscisas de la Tabla
ft = f(0.8,t);
% valores de f
for k=1:4
ft = diff(ft/h);
% aproxima la derivada de orden k
maxf(k) = max(abs(ft));
% max |D^k f(x)| observada
subplot(2,2,k), plot(t,0*t,t(k+1:end),ft,'r')
end
maxf
% = 0.4000
1.0660
2.1011
9.8900
%--------------------------------
(se ha añadido la gráfica de f en el subplot 1)
derivada 1
derivada 2
1
1.5
1
0.5
0.5
0
0
!0.5
!0.5
0
0.5
1
1.5
2
!1
0
0.5
derivada 3
1
1.5
2
1.5
2
derivada 4
2.5
5
2
0
1.5
1
!5
0.5
0
0
0.5
1
1.5
2
!10
0
0.5
1
• Con esta información, habı́a que empezar por contestar la siguiente pregunta:
si al usar luego la Tabla se va a hacer interpolación lineal entre sus valores para aproximar cualquier
valor intermedio, ¿qué error máximo tendrá esa interpolación?
El error de la interpolación lineal entre dos puntos xk , xk+1 = xk + h para la función E , es igual a
E !! (ξ)W (x)/2
y será máximo cerca del centro de ese intervalo, donde W tiene su máximo, si la E !! no varı́a mucho;
como E es la integral de f , ya hemos visto que E !! = f ! es casi constante en cada intervalo de
medida h = 0.01 , y alcanza un max |f ! | ≈ 0.4 ; por lo tanto el error de interpolación será
|E !! (ξ)| W (x)/2 ≤ 0.4 (h/2)2 /2 = 5.E-6
y no más de 5 decimales se conservan al interpolar: esa es la precisión razonable a usar en
la Tabla, para no producir una falsa ilusión de precisión a quien interpole.
• Con h = 0.01 , el error del Punto Medio al aproximar E(kh, 0.8) será aproximadamente la suma
!k
errk = i=1 f !! (mi )h3 /24 ≈ f ! (kh) h2 /24
ya que, como hemos visto, f ! (0) = 0 ; y como |f ! | = 0.4 en el peor caso, el tamaño de ese error será
|errk | ≤ 0.4 · h2 /24 = 1.7E-6 , que es bueno de sobra para nuestros fines.
1
Por lo tanto, usando los valores de f,h ya introducidos antes, el código que produce la TABLA es:
%-------------------------------m = (h/2):h:(pi/2);
% nodos Punto Medio
fm = f(0.8,m);
% valores f_i
E = [0, cumsum(h*fm)];
% TABLA
%--------------------------------
• Pero ahora es MUY barato verificar que el error es el previsto, y observar como evoluciona.
Basta para ello repetir la integración con doble número de intervalos; como eso debe dividir aproximadamente los errores por 22 = 4 , la diferencia Eh (a) − Eh/2 (a) entre un valor antiguo y el
correspondiente nuevo, será ≈ 3/4 del error de aquel, lo que nos permite extrapolar para estimar
esos errores.
%-------------------------------m2 = (h/4):(h/2):(pi/2);
% doble de nodos Punto Medio
fm2 = f(0.8,m2);
E2 = cumsum(fm2*h/2);
% doble Tabla, con errores/4
E22 = E2(2:2:end);
errest = (E(2:end)-E22)*4/3; % error estimado de E
maxerrest = max(abs(errest)) % = 1.6667e-006
%--------------------------------
Se confirma la previsión: 1.67E-6 donde habı́amos previsto 1.7E-6. Podemos de paso comparar los
“peores valores interpolados” (en los centros de los intervalos de tamaño h) con los correspondientes
Eh/2 , recordando que éstos aún tienen errores ≈ 1/4 de los que acabamos de estimar:
%-------------------------------Eint = E(2:end)-diff(E)/2;
% peores valores interpolados
E21 = E2(1:2:end);
errint = Eint-E21-errest/4;
% sus errores (corregidos)
%--------------------------------
En el gráfico se ha añadido E(t) en el lado izquierdo, y se comparan a la derecha los dos errores
mencionados; se observa la proporción de ambos con f ! (cuya gráfica se ve a la izquierda), y algo
muy interesante que ya era posible deducir de las fórmulas de error: los signos de ambos errores son
opuestos, y en consecuencia esos errores se restan; en lugar de tener tamaño ≈ 3 veces mayor que
el de la integral, el error de esos “peores” valores interpolados resulta por ese motivo sólo doble:
!6
derivada 1
x 10
1.5
2
1
0
0.5
!2
0
!4
!0.5
0
0.5
1
1.5
2
!6
0
error estimado: azul
0.5
1
1.5
2
error de interpolados: rojo
derivada 3
derivada 4
2.5 es ésta: si damos la Tabla con5 valores más precisos, como los que salen al
La curiosa moraleja
duplicar los nodos, los errores de los valores interpolados, si no estamos cerca de los extremos de un
intervalo, ¡se harán 2mayores! Esto confirma de manera más rotunda que 5 dı́gitos eran los adecuados
para esa Tabla, y que no hacı́a falta más esfuerzo de0cálculo.
1.5
1
!5
0.5
0
0
0.5
1
1.5
2
2
!10
0
0.5
1
1.5
2
Descargar