Professional Documents
Culture Documents
Hora 6 8 10 12 14 16 18 20
. Grados 7 9 12 18 21 19 15 10
Hora 6 8 10 12 14 16 18 20
Grados 7 9 12 18 21 19 15 10
22
20
18
Grados
16
14
12
10
8
6
4 6 8 10 12 14 16 18 20 22
Hora
Interpolación lineal
El modo más simple de estimar la temperatura a las 13
horas es tomar la media entre las temperaturas de las
12h y las 14h, que es de 19.5º. Para otros instantes en el
mismo intervalo tomamos una media ponderada, o
geométricamente hablando, la ordenada de la recta que
pasa por (12,18) y por (14,21).
La ecuación general de la recta es P1(x) = a0 + a1x.
Exigiendo que pase por los puntos (x0, y0) y (x1, y1)
obtenemos un sistema de ecuaciones lineales
a0 + a1x0 = y0
a0 + a1x1 = y1
En nuestro ejemplo tenemos el sistema
a0 + 12a1 = 18
a0 + 14a1 = 21
P 1 (x) = a 0 + a 1 x 25
a0 + a1x0 = y0 20
a0 + a1x1 = y1
15
Grados
a 0 + 12a 1 = 18
10
a 0 + 14a 1 = 21
5
5 10 15 20
Hora
F=polyfit([12 14],[18 21],1)
xx=linspace(5,21,1000);
yy=polyval(F,xx);
F = 1.5000 0
Interpolación cuadrática
que pasa por (x0, y0), (x1, y1) y (x2, y2) se determina
análogamente resolviendo el sistema.
a0 + a1x0 + a2x02 = y0
a0 + a1x1 + a2x12 = y1
a0 + a1x2 + a2x22 = y2
1 10 100 a 0 12
1 12 144 a 1 18
1 14 196 a 21
2
A=[1 10 100; 1 12 144;1 14 196]
A= 1 10 100
1 12 144
1 14 196
a0 + a1x0 + a2x02 = y0 15
a0 + a1x2 + a2x22 = y2 10
1 10 100 a 0 12
5 10 15 20
Hora
1 12 144 a 1 18 X=10:2:14
Y=[12 18 21]'
polyval(p,X)
1 14 196 a 2 21 A=vander(X)
x=5:0.1:22;
y=polyval(p,x);
cond(A) plot(x,y)
p=A\Y
E=polyfit([10 12 14],[12 18 21],2)
xx=linspace(5,21,1000);
yy=polyval(E,xx);
E = -0.3750 11.2500 -63.0000
Polyfit : Comando de Matlab que realiza la misma tarea de
interpolar una colección de n+1 puntos pares de datos en un
polinomio de grado n
1 x 0 x 20 x 0n-1 a 0 y0
2
n-1
1 x1 x1 x1 1 a y1
1 x 2 x 22 x 2n-1 a 2 y 2
n-1
1 xn xn xn n
2
a yn
V=
16 8 4 2 1
81 27 9 3 1
256 64 16 4 1
625 125 25 5 1
1296 216 36 6 1
a=
-0.2500
4.5000
-29.2500
81.0000
-75.0000
xx=linspace(min(x),max(x));
yy=polyval(a,xx); % polyval
% Entrada:
% aa -> los coeficientes del
polinomio
% de mayor a menor
% xx -> una serie de puntos
% Salida:
% yy -> valor del polinomio
en esos puntos
%
plot(x,y,'.','markersize',20) % dibujamos los puntos
hold on, plot(xx,yy) % dibujamos el polinomio
Forma de Lagrange del
polinomio de interpolación
Polinomios de Lagrange
( x x 0 ) ( x x i 1 )( x x i 1 ) ( x x n )
Lin ( x)
( x i x 0 ) ( x i x i 1 )( x i x i 1 ) ( x i x n )
Donde
Recordar que para generar una interpolación de orden n, es necesario
Contar con n+1 datos conocidos, por ejemplo
, Ejemplo 1
x0 = 1 y0 = f(1) = 1,5
x2 = 3 y2 = f(3) = 4,1
Ejemplo
x0 = 1 y0 = f(1) = 1,5
x2 = 3 y2 = f(3) = 4,1
( x x 1 )( x x 2 ) ( x 2,3)( x 3)
L 0 (x )
( x 0 x 1 )( x 0 x 2 ) (1 2,3)(1 3)
x0 = 1 y0 = f(1) = 1,5
x2 = 3 y2 = f(3) = 4,1
( x x 0 )( x x 2 ) ( x 1)( x 3)
L 1 (x )
( x 1 x 0 )( x 1 x 2 ) (2,3 1)(2,3 3)
x0 = 1 y0 = f(1) = 1,5
x2 = 3 y2 = f(3) = 4,1
( x x 0 )( x x 1 ) (x 1)( x 2,3)
L 2 (x )
( x 2 x 0 )( x 2 x 1 ) (3 1)(3 2,3)
p(x)
Ejemplo
Dados los nodos:
x0 = 1 y0 = f(1) = 1,5
x2 = 3 y2 = f(3) = 4,1
x0 = 1 y0 = f(1) = 1,5
x2 = 3 y2 = f(3) = 4,1
(2 x 1 )(2 x 2 ) (2 2,3)(2 3)
L 0 (2 )
( x 0 x 1 )( x 0 x 2 ) (1 2,3)(1 3)
= 0,11538
Ejemplo
x0 = 1 y0 = f(1) = 1,5
x2 = 3 y2 = f(3) = 4,1
(2 x 0 )(2 x 2 ) (2 1)(2 3)
L 1 (2 )
( x 1 x 0 )( x 1 x 2 ) (2,3 1)(2,3 3)
= 1,09890
Ejemplo
x0 = 1 y0 = f(1) = 1,5
x2 = 3 y2 = f(3) = 4,1
p(2) = 3.25055
ejercicios
Determinación algebraica
Pn(x0) = y0 = c0
Pn(x1) = y1 = c0+ c1(x1x0)
Pn(x2) = y2 = c0+ c1(x2x0) + c2(x2x0)(x2x1)
Ventajas
El sistema es triangular
Permite añadir nuevos puntos sin rehacer todos los cálculos.
Tabla de diferencias divididas
c0 = f[x0] = y0
y1 c 0 f x1 f x 0
c1 = f x 0 , x1
x1 x 0 x1 x 0
f x1 , x 2 f x 0 , x1
f x 0 ,x1 , x 2
x2 x0
f x 1 , x 2 , x k f x 0 , x 1 , x k 1
f x 0 , x 1 , x k
xk x0
Tabla de diferencias divididas
y0 f[x0 ]
y1 f [ x1 ] f [ x 0 , x1 ]
y2 f[x2 ] f [ x1 , x 2 ] f [ x 0 , x1 , x 2 ]
y3 f[x3 ] f[x2 , x3 ] f [ x1 , x 2 , x 3 ] f [ x 0 , x1 , x 2 , x 3 ]
12 18
14 21 1.5000
10 12 2.2500 -0.3750
16 19 1.1667 -0.5417 -0.0417
Evaluación del polinomio de interpolación
1.0 0.5403023
-0.4596977
2.0 -0.4161468 -0.9564491 -0.2483757
P1(x)=1 -0.4596977(x-0)
P2(x)=1 -0.4596977(x-0) -0.2483757(x)(x-1)
P3(x)= 1 -0.4596977(x-0) -0.2483757(x)(x-1)+0.1465592x(x-1)(x-2)
P4(x)= 1 -0.4596977(x-0) -0.2483757(x)(x-1)+0.1465592x(x-1)(x-2) -
0.0146568x(x-1)(x-2)(x-3)
Error de interpolación
f (n1) ()
f(x) Pn (x) (x x0 )(x x1 )(x x n )
(n 1)!
(n 1)
( )
f x0 , x1 , , x n , x n+1
f
(n 1)!
Conclusiones