Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Interpolacin y Aproximacin de
Funciones
Mg. Ing. Rick Milton Delgadillo Ayala
e-mail: rick.delgadillo@unsch.edu.pe
Ayacucho Per
2017
Definicin
Un polinomio de grado n es una expresin de la forma:
P(x) = anxn + an-1xn-1 + ... +a1x + a0
Donde an <> 0
Valores de ex
Valores de las aproximaciones de ex con polinomios de
Taylor
k 0 k! k 0
n 0 1 2 3 4 5 6 7
Pn(3) 1 -1 3 -5 11 -21 43 -85
Interpolacin lineal
Utilizando tringulos semejantes
f1 x f x0 f x1 f x0
f(x)
x x0 x1 x0
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 ln1 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 ln1 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 lineales
-0.5
-1
0 1 2 3 4 5 6 7 8
Escuela de Formacin Universidad Nacional de
Profesional de Ingeniera Civil San Cristbal de Huamanga
Mtodos Numricos Aplicados a la Ingeniera Civil (IC - 343) Mg. Ing. Rick Delgadillo Ayala | 9
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:
x0 = 1 f(x0) = 0 f(x) = ln x
x1 = 4 f(x0) = 1.386294
2.5
x0 = 6 f(x0) = 1.791759
2
Aplicando las ecs. anteriores
Valor verdadero
1.5
b0 = 0
b1 = (1.386294 0)/(4 1) = 0.4620981 1
/(6 4) 0.4620981)/(6 1) 0
Estimacin cuadrtica
= 0.0518731 -0.5
Forma general
Polinomio general
fn(x) = b0 + b1(x x0) +...+ bn(x x0)(x x1)... (x xn1)
Los coeficientes se calculan con
b0 = f(x0)
b1 = f [x1, x0]
b2 = f [x2, x1, x0]
f xn , xn 1 ,..., x1 f xn 1 , xn 2 ,..., x0
f xn , xn 1 ,..., x1 , x0
xn x0
ejemplo 3
Calculemos ln 2 con ln 0, ln 4, ln 5 y ln 6, los punto que se conocen son:
x0 = 1 f(x0) = 0
x1 = 4 f(x1) = 1.386294
x2 = 6 f(x3) = 1.791759
x3 = 5 f(x2) = 1.609438
primeras diferencias
f [x1, x0] = (1.386294 0)/(4 1) = 0.4602981
f [x2, x1] = (1.791759 1.386294)/(6 4) = 0.2027326
f [x3, x2] = (1.609438 1.791759)/(5 6) = 0.1823216
Segundas diferencias
f [x2, x1, x0] = (0.2027326 0.4602981)/(6 1) = 0.05187311
f [x3, x2, x1] = (0.1823216 0.2027326)/(5 4) = 0.02041100
tercera diferencia
f [x3, x2, x1 , x0] = (0.02041100(0.05187311))/(5 1) = 0.007865529
Polinomio f3(x) = 0 + 0.4602981(x 1) 0.05187311(x 1) (x 4) + 0.007865529(x 1) (x 4) (x 6)
Valor calculado con el polinomio f3(2) = 0.6287686
Ejemplo 3 (cont.)
f3(x)
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
Interpolacin y polinomio de
Lagrange
Se trata de encontrar un polinomio de grado n que pase por los
puntos (x0, f(x0)), (x1, f(x1)), ... (xn, f(xn)), se construye un cociente
Ln,k(xk) con la propiedad de que
Ln,k(xi) = 0 cuando i k y Ln,k(xk) = 1
Se requiere entonces que el numerador contenga
(x x0) (x x1)... (x xk1)(x xk+1)... (x xn)
El denominador debe coincidir con el numerador cuando x = xk.
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
L x
x 2.5x 4 x 6.5x 10
n,0 2 0.52 4
L x
x 2x 4 4 x 24x 32
n,1 2.5 22.5 4 3
L x
x 2x 2.5 x 4.5x 5
n,2 4 24 2.5 3
El error en la interpolacin de
Lagrange
El error en la interpolacin de Lagrange puede calcularse
con
f n 1 x
f x0 Px 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
Interpolacin Inversa
Tabla de valores de f (x) = 1/x.
x 1 2 3 4 5 6 7
Trazadores (Splines)
Dados n +1 puntos podemos construir un polinomio de grado n
para interpolar valores dentro del intervalo.
Tambin se pueden usar lneas rectas entre cada par de puntos
para hacer interpolacin lineal entre ellos o polinomios
cuadrticos o cbicos.
Tales interpoladores se llaman trazadores lineales, cuadrticos y
cbicos, respectivamente.
La ventaja de los trazadores es que no presentan el efecto de
oscilacin de los polinomios de alto grado.
f (x)
f (x)
f (x)
f (x)
Trazadores lineales
Para los trazadores lineales se definen rectas entre cada
intervalo para calcular los valores intermedios.
f (x) = f (x0) + m0(x x0) x0 <= x <= x1
f (x) = f (x1) + m1(x x0) x1 <= x <= x2
f xi 1 f xi
mi
xi 1 xi
ejemplo
x f (x)
3.0 2.5
4.5 1.0
2
7.0 2.5
9.0 0.5 0
2 4 6 8 10
Trazadores cuadrticos
El polinomio en cada intervalo es de la forma:
fi(x) = ai x2 + bi x + ci
Para encontrar los ai , bi , ci se deben cumplir las siguientes condiciones:
1. Los valores de la funcin deben ser iguales en los nodos interiores, 2n
2 ecuaciones. a x2 b x c f (x )
i 1 i 1 i 1 i 1 i 1 i 1
ai xi21 bi xi 1 ci f ( xi 1 )
2. La primera y ltima funcin debe pasar por los extremos, 2 ecuaciones.
a1 x02 b1 x0 c1 f ( x0 )
an xn2 bn xn cn f ( xn )
ejemplo
x f (x) Encontrar f (5)
3.0 2.5
4.5 1.0
7.0 2.5
9.0 0.5
Splines cbicos
Aplicando las condiciones de continuidad del spline S y de las
derivadas primera S' y segunda S'', es posible encontrar la
expresin analtica del spline.
Si x xi 1 x x xi 3
zi 3 zi 1
6hi 6hi
yi 1 zi 1hi yi zi hi
x xi xi 1 x
hi 6 hi 6
hi 1 zi 1 2hi hi 1 zi hi zi 1 yi 1 yi 6 yi yi 1
6
hi 1 hi 1
Si x yi x xi Ci x xi Bi x xi Ai
Donde
Ai
1
zi 1 zi
6hi
zi
Bi
2
Ci zi 1 zi yi 1 yi
hi hi 1
6 3 hi
Cdigo en MatLab
%encuentra los trazadores cbicos para un conjunto
de puntos x,y
% x - vector con los n valores de x
% y - vector con los n valores de y
% w - matriz de n-1 por 4 con los coeficientes de
los polinomios cbicos
function w = spline3(x,y)
[dummy n] = size(x);
for i = 1:n-1
h(i) = x(i+1)-x(i);
b(i) = 6*(y(i+1)-y(i))/h(i);
end
u(2) = 2*(h(1)+h(2));
v(2) = b(2)-b(1);
for i = 3:n-1
u(i) = 2*(h(i)+h(i-1))-h(i-1)^2/u(i-1);
v(i) = b(i)-b(i-1)-h(i-1)*v(i-1)/u(i-1);
end
Escuela de Formacin Universidad Nacional de
Profesional de Ingeniera Civil San Cristbal de Huamanga
Mtodos Numricos Aplicados a la Ingeniera Civil (IC - 343) Mg. Ing. Rick Delgadillo Ayala | 37
z(n) = 0;
for i = n-1:-1:2;
z(i) = (v(i)-h(i)*z(i+1))/u(i);
end
z(1) = 0;
for i = 1:n-1
A = (z(i+1)-z(i))/6/h(i);
B = z(i)/2;
C = -h(i)*z(i+1)/6-h(i)*z(i)/3+(y(i+1)-y(i))/h(i);
D = C-x(i)*B+A*x(i)^2;
E = B-2*x(i)*A;
w(i,4) = y(i)-x(i)*D;
w(i,3) = D-x(i)*E;
w(i,2) = E-x(i)*A;
w(i,1) = A;
end
end