-
C B BC Interpolacion y Mnimos Cuadrados W. La Cruz (UCV) 1
Interpolaciony
Mnimos Cuadrados
Universidad Central de Venezuela
Facultad de Ingeniera
Escuela de Ingeniera Electrica
Departamento de Electronica, Computacion y Control
Calculo Numerico
Mayo, 2010
-
C B BC Interpolacion y Mnimos Cuadrados W. La Cruz (UCV) 2
Contenido
Polinomios de Interpolacion 3
Metodo de los Coeficientes Indeterminados . . . . . . . . . .
4
Forma de Lagrange . . . . . . . . . . . . . . . . . . . . . . .
. 9
Forma de Newton . . . . . . . . . . . . . . . . . . . . . . . .
. 12
Diferencias Divididas . . . . . . . . . . . . . . . . . . . .
18
Interpolacion de Hermite . . . . . . . . . . . . . . . . . . . .
. 23
Error de Interpolacion . . . . . . . . . . . . . . . . . . . . .
. 25
Ajuste de Curvas por Mnimos Cuadrados 29
Polinomio de Mnimos Cuadrados . . . . . . . . . . . . . . . .
32
Recta de Mnimos Cuadrados . . . . . . . . . . . . . . . . . .
35
-
C B BC Interpolacion y Mnimos Cuadrados W. La Cruz (UCV) 3
Polinomios de Interpolacion
Dada una tabla de datos
x x0 x1 xny y0 y1 yn
se desea encontrar un polinomio pn(x) de menor grado posible tal
que
pn(xk) = yk, para k = 0, 1, . . . , n.
x3
f(x)
p(x)
f(b)
f(a)
a bx1
x2
x4
x0
1
-
C B BC Interpolacion y Mnimos Cuadrados W. La Cruz (UCV) 4
Metodo de los Coeficientes Indeterminados
Sea
pn(x) = a0 + a1x+ a2x2 + + anxn.
Tenemos que
pn(xk) = yk para k = 0, 1, . . . , n,
o, equivalentemente,
a0 + a1x0 + a2x20 + + anxn0 = y0a0 + a1x1 + a2x21 + + anxn1 =
y1
...
a0 + a1xn + a2x2n + + anxnn = yn
(1)
Las incognitas del sistema de ecuaciones lineales (1) son
los
coeficientes a0, a1, . . . , an del polinomio pn(x).
-
C B BC Interpolacion y Mnimos Cuadrados W. La Cruz (UCV) 5
La forma matricial del sistema de ecuaciones lineales (1)
es:
X A = Y,
donde
X =
1 x0 x20 xn01 x1 x21 xn1...
......
......
1 xn x2n... xnn
, A =a0
a1...
an
, Y =y0
y1...
yn
.
La matriz X se llama matriz de Vandermonde. Se puede
demostrar
que
detX =
0 j in(xi xj) 6= 0
si xi 6= xj para todo i 6= j.
-
C B BC Interpolacion y Mnimos Cuadrados W. La Cruz (UCV) 6
Por lo tanto, el sistema de ecuaciones lineales (1) tiene
solucion unica
si xi 6= xj para todo i 6= j. Entonces, el polinomio de
interpolacionpn(x) con grado menor o igual a n es unico.
Teorema 1.
Si x0, x1, . . . , xn son numeros reales distintos, entonces
para valores
arbitrarios y0, y1, . . . , yn, existe un unico polinomio pn(x)
de grado a
lo sumo n tal que
pn(xk) = yk para k = 0, 1, . . . , n.
-
C B BC Interpolacion y Mnimos Cuadrados W. La Cruz (UCV) 7
Ejemplo
Consideremos la siguiente tabla de datos.
xi 0 1 1yi 1 2 4
El polinomio p2(x) tiene la forma:
p2(x) = a0 + a1x+ a2x2.
Aplicando el metodo de los coeficientes indeterminados tenemos:1
0 0
1 1 11 1 1
a0
a1
a2
=
1
2
4
,cuya solucion es a0 = 1, a1 = 1 y a2 = 2.
De esta forma, el polinomio interpolante es
p2(x) = 1 + x+ 2x2.
-
C B BC Interpolacion y Mnimos Cuadrados W. La Cruz (UCV) 8
2 1.5 1 0.5 0 0.5 1 1.5 20
1
2
3
4
5
6
7
8
9
10
11
12
p(x)
(1, 2)
(0, 1)
(1, 4)
-
C B BC Interpolacion y Mnimos Cuadrados W. La Cruz (UCV) 9
Forma de Lagrange
Un manera de encontrar el polinomio interpolante pn(x) distinta
a
resolver el sistema (1), es expresarlo en la forma de
Lagrange:
pn(x) = y0`0(x) + y1`1(x) + + yn`n(x) =nk=0
yk`k(x), (2)
donde
`i(x) =n
j=0
j 6=i
(x xj)(xi xj)
para i = 0, 1, . . . , n,
son llamados Lagrangianos o funciones cardinales.
Para cada i = 0, 1, . . . , n, `i(x) es un polinomio de grado n
y satisface
`i(xj) =
1, si j = i;0, si j 6= i.
-
C B BC Interpolacion y Mnimos Cuadrados W. La Cruz (UCV) 10
Ejemplo
Consideremos la siguiente tabla de datos.
xi 0 1 1yi 1 2 4
El polinomio p2(x) en la forma de Lagrange que interpola los
valores
de la tabla es:
p2(x) = `0(x) + 2`1(x) + 4`2(x),
donde
`0(x) =(x (1))(x 1)(0 (1))(0 1) = (x+ 1)(x 1),
`1(x) =(x 0)(x 1)
(1 0)(1 1) = (1/2)x(x 1)y
`2(x) =(x 0)(x (1))(1 0)(1 (1)) = (1/2)x(x+ 1).
-
C B BC Interpolacion y Mnimos Cuadrados W. La Cruz (UCV) 11
De esta forma, el polinomio interpolante en la forma de Lagrange
es
p2(x) = (x+ 1)(x 1) + 2(1/2)x(x 1) + 4(1/2)x(x+ 1)
= (x+ 1)(x 1) + x(x 1) + 2x(x+ 1)
= 2x2 + x+ 1
-
C B BC Interpolacion y Mnimos Cuadrados W. La Cruz (UCV) 12
Forma de Newton
Anteriormente vimos que el polinomio interpolante se puede
expresar
en la forma de Lagrange. Pero esta manera de expresarlo no
es
computacionalmente eficiente. A continuacion deduciremos la
forma
de Newton del polinomio interpolante pn(x).
Sea pn1(x) el polinomio de grado menor o igual a n 1 que
interpolaa los puntos (xi, yi) para i = 0, 1, . . . , n 1, es
decir,
pn1(xi) = yi, para i = 0, 1, . . . , n 1.
Sea g(x) un polinomio de grado a lo sumo n definido como
g(x) = pn1(x) + c(x x0)(x x1) (x xn1).
Afirmamos que
pn(x) = g(x)
para cierto c R.
-
C B BC Interpolacion y Mnimos Cuadrados W. La Cruz (UCV) 13
Es claro que g(x) interpola los n primeros puntos (xi, yi),
para
i = 0, 1, . . . , n 1, es decir,
g(xi) = yi, para i = 0, 1, . . . , n 1.
Ahora, queremos hallar un cierto c R tal que
g(xn) = yn.
Tenemos que
g(xn) = pn1(xn) + c(xn x0)(xn x1) (xn xn1).
Luego, g(xn) = yn si, y solo si
c =yn pn1(xn)n1j=0
(xn xj).
-
C B BC Interpolacion y Mnimos Cuadrados W. La Cruz (UCV) 14
De esta forma,
pn(x) = pn1(x) + (yn pn1(xn))n1j=0
(x xj)(xn xj)
.
Por un proceso inductivo se puede demostrar que el polinomio
interpolante pn(x) en la forma de Newton es:
pn(x) = c0 + c1 (x x0) +c2 (x x0) (x x1) +c3 (x x0) (x x1) (x
x2) + +cn (x x0) (x x1) (x xn1)
=
ni=0
ci
i1j=0
(x xj).
Como se determinan los ci?
-
C B BC Interpolacion y Mnimos Cuadrados W. La Cruz (UCV) 15
Ejemplo
Consideremos la siguiente tabla de datos.
xi 0 1 1yi 1 2 4
El polinomio p2(x) en la forma de Newton que interpola los
valores de
la tabla es:
p2(x) = c0 + c1x+ c1x(x+ 1).
Tenemos que el polinomio de grado 1 que interpola a los puntos
(0, 1)
y (1, 2) esp1(x) = 1 x.
De esta forma, el polinomio p2(x) es
p2(x) = p1(x) + (y2 p1(x2)) (x x0)(x x1)(x2 x0)(x2 x1)
,
-
C B BC Interpolacion y Mnimos Cuadrados W. La Cruz (UCV) 16
luego,
p2(x) = 1 x+ 4 x(x+ 1)2
= 1 x+ 2x(x+ 1)= 1 + x+ 2x2.
Supongamos que a la tabla inicial se le agregue el punto (2, 2),
esdecir, tenemos la nueva tabla:
xi 0 1 1 2yi 1 2 4 2
En estas condiciones el polinomio que interpola los datos de la
nueva
tabla tiene la forma
p3(x) = p2(x) + (y3 p2(x3)) (x x0)(x x1)(x x2)(x3 x0)(x3 x1)(x3
x2)
.
-
C B BC Interpolacion y Mnimos Cuadrados W. La Cruz (UCV) 17
En consecuencia, el polinomio p3(x) que interpola los datos de
la
nueva tabla es
p3(x) = 1 x+ 2x(x+ 1) + (5/6)x(x+ 1)(x 1)
= 1 + (1/6)x+ 2x2 + (5/6)x3.
3 2 1 0 1 24321
0123456789
10111213141516
(2 , 2 ) (1 , 2 )
(0 , 1 )
(1 , 4 )
p2(x) p3(x)
-
C B BC Interpolacion y Mnimos Cuadrados W. La Cruz (UCV) 18
Diferencias Divididas
Sea f : [a, b] R una funcion cuyos valores son conocidos en
lospuntos x0, x1, . . . , xn [a, b].Definicion 1. La cantidad
f [xi] = f(xi), para i = 0, 1, . . . , n
se denomina diferencias dividas de f de orden 0. Ahora bien,
la
cantidad
f [xi, xi+1, . . . , xi+j] =f [xi+1, xi+2, . . . , xi+j] f [xi,
xi+1, . . . , xi+j1]
xi+j xise denomina diferencia dividida de f de orden j.
De esta forma,
f [xi], f [xi, xi+1], f [xi, xi+1, xi+2], f [xi, xi+1, xi+2,
xi+3], etc.,
son, respectivamente, diferencias de orden 0, 1, 2, 3, etc.
-
C B BC Interpolacion y Mnimos Cuadrados W. La Cruz (UCV) 19
Con un conjunto de puntos (xi, f(xi)) se puede construir la
tabla de
diferencias divididas.
A continuacion se muestra un ejemplo de una tabla de
diferencias
divididas.
xi Dif. 0 Dif. 1 Dif. 2 Dif. 3
x0 f [x0] f [x0, x1] f [x0, x1, x2] f [x0, x1, x2, x3]
x1 f [x1] f [x1, x2] f [x1, x2, x3]
x2 f [x2] f [x2, x3]
x3 f [x3]
-
C B BC Interpolacion y Mnimos Cuadrados W. La Cruz (UCV) 20
El polinomio pn(x) que interpola los puntos (xi, f(xi)) para
i = 0, 1, . . . , n, en la forma de Newton es
pn(x) =ni=0
ci
i1j=0
(x xj).
Entonces, utilizando las diferencias divididas podemos calcular
los
coeficientes ci. As,
ci = f [x0, x1, . . . , xi],
para i = 0, 1, . . . , n.
-
C B BC Interpolacion y Mnimos Cuadrados W. La Cruz (UCV) 21
Ejemplo
Consideremos la siguiente tabla de datos.
xi 0 1 1 2f(xi) 1 2 4 2
La tabla de diferencias dividas correspondiente a este conjunto
de
datos es:
xi Dif. 0 Dif. 1 Dif. 2 Dif. 3
0 1 1 2 5/6
1 2 1 1/3
1 4 2/3
2 2
-
C B BC Interpolacion y Mnimos Cuadrados W. La Cruz (UCV) 22
Utilizando esta tabla obtenemos los coeficientes ci de la forma
de
Newton del polinomio interpolante:
c0 = f [x0] = 1,
c1 = f [x0, x1] = 1,
c2 = f [x0, x1, x2] = 2,
c3 = f [x0, x1, x2, x3] = 5/6.
Por lo tanto,
p3(x) = 1 x+ 2x(x+ 1) + (5/6)x(x+ 1)(x 1).
-
C B BC Interpolacion y Mnimos Cuadrados W. La Cruz (UCV) 23
Interpolacion de Hermite
Consideremos el siguiente problema: Dada f C1[a, b], encontrar
unpolinomio de menor grado que interpole a f y a su derivada f en
dospuntos distintos, por ejemplo x0 y x1.
El polinomio p(x) que debemos hallar satisface las siguientes
cuatro
condiciones:
p(xi) = f(xi), p(xi) = f (xi), i = 0, 1.
Como debemos tener presente estas cuatro condiciones, es
razonable
pensar que el grado de p(x) es a lo sumo 3. Tomemos a p(x)
expresado como
p(x) = c0 + c1(x x0) + c2(x x0)2 + c3(x x0)2(x x1).
-
C B BC Interpolacion y Mnimos Cuadrados W. La Cruz (UCV) 24
Como
p(x) = c1 + 2c2(x x0) + 2c3(x x0)(x x1) + c3(x x0)2,
entonces a partir de las cuatro condiciones de interpolacion
se
construye el siguiente sistema de ecuaciones lineales de
cuatro
ecuaciones y cuatro incognitas:
f(x0) = c0
f (x0) = c1
f(x1) = c0 + c1(x1 x0) + c2(x1 x0)2
f (x1) = c1 + 2c2(x1 x0) + c3(x1 x0)2
-
C B BC Interpolacion y Mnimos Cuadrados W. La Cruz (UCV) 25
Error de Interpolacion
Teorema 2 (Teorema de Roll).
Sea f C[a, b]. Si f (x) existe en (a, b) y f(a) = f(b) = 0,
entoncesf () = 0 para algun (a, b).
Teorema 3. Sea f Cn+1[a, b], y sea pn(x) el polinomio de
gradomenor o igual n que interpola a la funcion f en n+ 1
puntos
distintos x0, x1, . . . , xn en el intervalo [a, b]. Para cada x
en [a, b]
corresponde un punto x (a, b) tal que
f(x) pn(x) = 1(n+ 1)!
f (n+1)(x)
ni=0
(x xi). (3)
Demostracion. Es claro que si x = xi entonces la ecuacion (3)
es
cierta. Sea x 6= xi para i = 0, 1, . . . , n. Sean (t) y (t) dos
funciones
-
C B BC Interpolacion y Mnimos Cuadrados W. La Cruz (UCV) 26
definidas respectivamente por
(t) =ni=0
(t xi)
y
(t) = f(t) pn(t) (t),donde R tal que (x) = 0, es decir,
=f(x) pn(x)
(x).
Ademas, Cn+1[a, b], y se anula en los n+ 2 puntosx, x0, x1, . .
. , xn.
Por el Teorema de Roll tiene al menos n+ 1 ceros distintos en(a,
b). Con el mismo razonamiento se concluye que tiene al menosn ceros
distintos en (a, b). Repitiendo este argumento se llega a que
(n+1) tiene al menos un cero, llamemos a este cero x (a, b).
-
C B BC Interpolacion y Mnimos Cuadrados W. La Cruz (UCV) 27
Ademas,
(n+1)(t) = f (n+1)(t) p(n+1)n (t) (n+1)(t)= f (n+1)(t) (n+
1)!.
Por lo tanto,
0 = (n+1)(x) = f(n+1)(x) (n+ 1)!
= f (n+1)(x) (n+ 1)! f(x) pn(x)(x)
= f (n+1)(x) (n+ 1)! f(x) pn(x)ni=0(x xi)
,
o, equivalentemente,
f(x) pn(x) = 1(n+ 1)!
f (n+1)(x)ni=0
(x xi).
-
C B BC Interpolacion y Mnimos Cuadrados W. La Cruz (UCV) 28
Teorema 4. Sea f Cn+1[a, b], y sean x0, x1, . . . , xn [a, b]
nodosdistintos. Si p(x) es el polinomio de grado menor o igual 2n+
1 tal
que
p(xi) = f(xi), p(xi) = f (xi) (0 i n),
entonces a cada x en [a, b] le corresponde un punto x (a, b)
talque
f(x) p(x) = 1(2n+ 2)!
f (2n+2)(x)ni=0
(x xi)2. (4)
Demostracion. Considerando las funciones (t) y (t) definidas
respectivamente por
(t) =
ni=0
(t xi)2 y (t) = f(t) p(t) (t),
y luego empleando el Teorema de Roll como en el Teorema 3,
se
demuestra la validez de la ecuacion (4).
-
C B BC Interpolacion y Mnimos Cuadrados W. La Cruz (UCV) 29
Ajuste de Curvas por Mnimos Cuadrados
Sea la siguiente tabla de datos
xi x1 x2 xnyi y1 y2 yn
Sea f : R R una funcion real que depende de x R y de
losparametros a0, a1, . . . , am R.
f(x)
(x5, y5)
(x3, y3)
(x4, y4)
(x2, y2)
(x1, y1)
x
y
1
-
C B BC Interpolacion y Mnimos Cuadrados W. La Cruz (UCV) 30
Algunas funciones para ajustar datos
f(x) = a0 + a1x+ + amxm
f(x) = a0 + a1x f(x) = a0 lnx+ a1 f(x) = a0 ea1x
f(x) = a0 xa1
f(x) = a0x
+ a1
f(x) = a0x+ a1
f(x) = a0x1 + a1x
f(x) = a01 + a1 ea2x
-
C B BC Interpolacion y Mnimos Cuadrados W. La Cruz (UCV) 31
Sea g : Rm+1 R definida como
g(a) =1
2
ni=1
(f(xi) yi)2, (5)
donde a = (a0, a1, . . . , am)T Rm+1 es el vector de
parametros.Para hallar los valores de los parametros de tal manera
que f(x)
ajuste con mnimo error a la tabla de datos, se debe resolver
el
problema de minimizacion
minaRm+1
g(a). (6)
Una solucion del problema (6) se puede encontrar resolviendo
el
sistema de ecuaciones
g(a) = 0, (7)donde g(a) es el vector gradiente de la funcion
g.
-
C B BC Interpolacion y Mnimos Cuadrados W. La Cruz (UCV) 32
Si a = (a0, a1, . . . , am)T Rm+1 es una solucion del sistema
(7), elerror cometido al ajustar tabla de datos con la funcion f
cuya
expresion considera los parametros a0, a1, . . . , am, esta dado
por,
E =
2g(a).
Polinomio de Mnimos Cuadrados
Supongamos que la funcion que debe ajustar los datos es un
polinomio de grado m, es decir,
f(x) = a0 + a1x+ , amxm.
As, la funcion g dada en (5) adquiere la forma
g(a) =1
2
ni=1
(a0 + a1xi + + amxmi yi)2,
-
C B BC Interpolacion y Mnimos Cuadrados W. La Cruz (UCV) 33
ademas, el vector gradiente de g es
g(a) =
ni=1
(a0 + a1xi + + amxmi yi)ni=1
(a0 + a1xi + + amxmi yi)xi...
ni=1
(a0 + a1xi + + amxmi yi)xmi
=
na0 + a1ni=1
xi + + amni=1
xmi ni=1
yi
a0ni=1
xi + a1ni=1
x2i + + amni=1
xm+1i ni=1
xiyi
...
a0ni=1
xmi + a1ni=1
xm+1i + + amni=1
x2mi ni=1
xmi yi
-
C B BC Interpolacion y Mnimos Cuadrados W. La Cruz (UCV) 34
Ahora, igualando a cero el vector gradiente de g obtenemos
el
siguiente sistema de ecuaciones lineales, denominado
Ecuaciones
Normales:
nni=1
xi ni=1
xmi
ni=1
xini=1
x2i ni=1
xm+1i
......
. . ....
ni=1
xmini=1
xm+1i ni=1
x2mi
a0
a1
...
am
=
ni=1
yi
ni=1
xiyi
...
ni=1
xmi yi
Las incognitas de este sistema son los parametros a0, a1, . . .
, am.
-
C B BC Interpolacion y Mnimos Cuadrados W. La Cruz (UCV) 35
Recta de Mnimos Cuadrados
Supongamos que la funcion que debe ajustar los datos es una
recta,
es decir,
f(x) = a0 + a1x.
Como f(x) es un polinomio de grado 1, los valores de los
parametros
a0, a1 que minimizan el error del ajuste de los datos, se
obtienen
resolviendo las siguientes ecuaciones normales:
n
ni=1
xi
ni=1
xini=1
x2i
a0a1
=
ni=1
yi
ni=1
xiyi
-
C B BC Interpolacion y Mnimos Cuadrados W. La Cruz (UCV) 36
Ejemplo
Ajustar la siguiente tabla de datos
xi -5 -4 -3 -2 -1 0 1 2 3 4 5
yi 6.923 7.202 6.8 6.5 5.9 5.01 4.8 4.5 4.913 5.31 5.394
con las funciones:
a) P1(x) = a0 + a1x
b) P2(x) = a0 + a1x+ a2x2
c) P3(x) = a0 + a1x+ a2x2 + a3x3
d) f(x) =1
a0 + a1x+ a2x2
Seguidamente se muestra el codigo en Matlab para calcular
los
coeficientes del polinomio de grado m de mnimos cuadrados.
-
C B BC Interpolacion y Mnimos Cuadrados W. La Cruz (UCV) 37
function [a] = minimoscuadrados(x, y, m)
%%%%%%%%%%%%%%%%%% DATOS DE ENTRADA %%%%%%%%%%%%%%%%%%%
% x: vector de orden 1xn de las abscisas. %
% y: vector de orden 1xn de las ordenadas. %
% m: grado del polinomio de mnimos cuadrados. %
%%%%%%%%%%%%%%%%%% DATOS DE SALIDA %%%%%%%%%%%%%%%%%%%%
% a: es el vector de coeficientes del polinomio %
% P(x) = a(1) + a(2)x + a(3)x^2 +...+ a(m+1)x^m %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
if(length(x) length(y))
disp(ERROR, numero de datos incongruente)
a = NaN;
return;
else
n = length(x);
end
F = zeros(n,m+1);
for k=1:m+1
F(:,k) = x.^(k-1);
end
AA = F*F; B = F*y; a = AA\B;
-
C B BC Interpolacion y Mnimos Cuadrados W. La Cruz (UCV) 38
Los polinomios P1(x), P2(x), P3(x) y la funcion f(x) obtenidos
son:
P1(x) = 5.75 0.24x P2(x) = 5.33 0.24x+ 0.04x2
P3(x) = 5.33 0.47x+ 0.04x2 + 0.01x3
f(x) = 10.191019 + 0.006797x+0.001274x2
Los errores al ajustar los datos con P1(x), P2(x), P3(x) y f(x)
son,
respectivamente:
E1 = 1.753 E2 = 1.259 E3 = 0.704 Ef = 1.626
-
C B BC Interpolacion y Mnimos Cuadrados W. La Cruz (UCV) 39
En la siguiente figura se muestran las graficas de P1(x), P2(x),
P3(x)
y f(x).
5 4 3 2 1 0 1 2 3 4 54
4.5
5
5.5
6
6.5
7
7.5 P1(x)
P2(x)
P3(x)
f(x)
Polinomios de InterpolacinMtodo de los Coeficientes
IndeterminadosForma de LagrangeForma de NewtonDiferencias
Divididas
Interpolacin de HermiteError de Interpolacin
Ajuste de Curvas por Mnimos CuadradosPolinomio de Mnimos
CuadradosRecta de Mnimos Cuadrados