Professional Documents
Culture Documents
INTRODUCCIN
Prof. Oscar Tinoco G.
Interpolacin polinomial de
Newton
Reordenando
f(x1)
f x1 f x0 f1(x)
f1 x f x0 x x0
x1 x0
f(x0)
x0 x x1
Ejemplo
Estimar ln 2 mediante interpolacin lineal si ln1 = 0 y ln 6 = 1.791759 y ln 4 = 1.386294
1.791759 0 f x1 f x0
f1 2 ln 1 2 1 0.3583519 f1 x f x0 x x0
6 1 x1 x0
Valor real ln 2 = 0.6931472
1.386294 0
f1 2 ln 1 2 1 0.4620981 Error relativo porcentual = 33.3%
4 1
2.5
f(x) = ln x
2
1.5
Valor verdadero
1
f1(x)
0.5
Estimaciones
-0.5
lineales
-1
0 1 2 3 4 5 6 7 8
Interpolacin cuadrtica
Polinomio cuadrtico
f2(x) = b0 + b1(x x0) + b2(x x0)(x x1) (1)
simplificado
f2(x) = b0 + b1x b1x0 + b2x2 + b2x0 x1 b2xx0 b2xx1
Podemos escribirlo como
f2(x) = a0 + a1x + a2x2
Donde
a0 = b0 b1x0 + b2x0 x1, a1 = b1 b2x0 b2x1, a2=b2
Podemos evaluar b0, b1 y b2 sustituyendo x0, x1 y x2 en la ecuacin (1), se
obtiene
b0 = f(x0) f x2 f x1 f x1 f x0
f x1 f x0 x2 x1 x1 x0
b1 b2
x1 x0 x2 x0
ejemplo 2
Calculemos ln 2 con ln 4 y ln 6, los punto que se conocen son:
f(x) = ln x
x0 = 1 f(x0) = 0
x1 = 4 f(x0) = 1.386294 2.5
x0 = 6 f(x0) = 1.791759 2
b0 = 0
1
b1 = (1.386294 0)/(4 1) = 0.4620981
0.5
b2 = ((1.791759 1.386294)
0
/(6 4) 0.4620981)/(6 1) Estimacin
= 0.0518731 -0.5 cuadrtica
Estimacin lineal
El polinomio es -1
0 1 2 3 4 5 6 7 8
f2(x) = 0.4620981(x 1) 0.0518731(x 1)(x 4)
f xn , xn 1 ,..., x1 f xn 1 , xn 2 ,..., x0
f xn , xn 1 ,..., x1 , x0
xn x0
2.5
Valor verdadero
1.5
1 f(x) = ln x
0.5
-0.5
Estimacin cbica
-1
0 1 2 3 4 5 6 7 8
Estimacin del error
Para estimar el error requerimos de un datos ms (xn+1).
La siguiente frmula puede utilizarse para estimar el
error.
Hora 6 8 10 12 14 16 18 20
Grados 7 9 12 18 21 19 15 10
2
2
01
Grados
81
16
41
12
08
6
4 6 8 1 1 1 1 1 2 2
0 2 Hora
4 6 8 0 2
Grfico de la temperatura
en Matlab
% Hora
t = [6 8 10 12 14 16 18 20]'
% Temperatura
T = [7 9 12 18 21 19 15 10]'
plot(t,T,'*'), grid
xlabel('Horas'), ylabel('Grados')
Interpolacin lineal
Grados
a0 + a1x0 = y0 10
a0 + a1x1 = y1
5
5 10 15 20
a0 + 12a1 = 18 Hora
a0 + 14a1 = 21
Interpolacin cuadrtica
Polinomio de grado2
25
a0 + a1x0 + a2x02 = y0
a0 + a1x1 + a2x12 = y1 15
10
1 10 100 a 0 12 5
5 10
Hora
15 20
1 12 144 a 1 18
X=10:2:14 polyval(p,X)
1 14 196 a 2 21 Y=[12 18 21]' x=5:0.1:22;
A=vander(X) y=polyval(p,x);
cond(A) plot(x,y)
p=A\Y
Desplazamiento del origen
P2(x) = b0 + b1(xx1) + b2(xx1)2
2 4 b1 6
2 4 b2 3
1 x0 x 20 x 0n-1 a0 y0
1 x1 x12 n-1
x1 1 a y1
1 x x 22 x 2n-1 a2 y2
2
1 xn x 2n n
x n-1 an yn
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 )
Determinacin 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 aadir nuevos puntos sin rehacer todos los
clculos.
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 x1 , 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
Evaluacin del polinomio de
interpolacin
f (n 1) ( )
f(x) Pn (x) (x x 0 )(x x1 ) (x x n )
(n 1)!
(n 1)
f ( )
f x 0 , x1 , , x n , x n+1
(n 1)!
Conclusiones
Teorema
Si x0, x1, x2, ... xn, son n+1 nmeros distintos y si f es una
funcin cuyos valores estn dados en esos nmeros,
entonces existe un polinomio de grado a lo ms n, con la
propiedad de que
f(xk) = P(xk) para cada k = 0, 1, 2, ...n
Este polinomio est dado por n
P x f x0 Ln , 0 x f xn Ln ,n x f xk Ln ,k x
k 0
donde
Ln ,k x
x x0 x x1 x xk 1 x xk 1 x xn
n
x xi
xk x0 xk x1 xk xk 1 xk xk 1 xk xn i 0 xk xi
ik
Aproximacin a 1/x con
interpolantes de Lagrange
Usaremos x0 = 2, x1 = 2.5 y x2 = 4, para obtener un polinomio de
grado 2 para 1/x. f(x0) = 0.5, f(x1)= 0.4 y f(x2) = 0.25.
Los polinomios de Lagrange son:
L x
x 2.5 x 4 x 6.5 x 10
n,0 2 0.5 2 4
L x
x 2 x 4 4 x 24 x 32
n,1 2.5 2 2.5 4 3
L x
x 2 x 2.5 x 4.5 x 5
n, 2 4 2 4 2.5 3
f n 1 x
f x0 P x x x0 x x1 ... x xn
n 1!
Algoritmo en Matlab
function fi = Lagran_(x, f, xi)
fi=zeros(size(xi));
np1=length(f);
for i=1:np1
z=ones(size(xi));
for j=1:np1
if i~=j, z = z.*(xi - x(j))/(x(i)-x(j));end
end
fi=fi+z*f(i);
end
return
Calcula coeficientes de P2(x)
poly([1 2 3]) = 1 -6 11 -6
roots(1 -6 11 -6) = 3 2 1