Está en la página 1de 7

Escuela Politécnica Nacional

Facultad de Ingenierı́a Civil y Ambiental

Ingenierı́a Civil
Métodos Numéricos
Ing. Carlos Avila Vega

Pablo Alberto Castro Molina


02/05/2019
1. Resumen
Con el objetivo de desarrollar y aplicar los conocimientos adquiridos en clase y plasmar las si-
tuaciones comunes en un modelo matemático disminuyendo el error que pueda surgir en el proceso.
Se realizo un algoritmo con ayuda del software computacional Matlab para facilitar e implementar
el método de interpolación el cual nos ayudara a predecir un valor a partir de otros ya conocidos.

2. Introducción

La historia de la interpolación comienza con los matemáticos babilónicos y sus trabajos en las
tablas exponenciales que, aunque presentan grandes huecos, no dudaban en interpolar linealmente
o proporcionalmente para conseguir una aproximación a sus valores intermedios.
El desarrollo de la interpolación se entrelazó con los primeros desarrollos de las diferencias
finitas, empezando por la cuadratura del cı́rculo de Wallis en 1655, con la que propuso el principio
de “intercálculo” o interpolación. Esto fue aceptado por Newton en 1676, lo cual le permitió la
derivación de las series binó-micas, es decir, a partir de un problema de cuadraturas, Newton
pudo obtener el teorema binomial. Luego se continúa con la construcción de fórmulas prácticas de
interpolación.
La interpolación polinómica es un método usado para conocer, de un modo aproximado, los
valores que toma cierta función de la cual sólo se conoce su imagen en un número finito de abscisas.
A menudo, ni siquiera se conocerá la expresión de la función y sólo se dispondrá de los valores que
toma para dichas abscisas.

3. Marco teórico
Se debe tener en cuenta que no es lo mismo interpolación, ya que una trata de predecir un
valor a partir de otros mientras que la otra es un modelo que busca ajustarse a los datos obtenidos
evitando el mayor error posible.

Consideremos que nos encontramos en la siguiente situación, conocemos el valor que toma
la función f(x) en una serie de n puntos x0 , x1 , . . . , xn . (véase el gráfico). Pero sin embargo, no
conocemos la forma explı́cita de dicha función f(x).

Lo que hemos de hacer es interpolar esos datos, para obtener un polinomio (polinomio de
interpolación) que cumpla f(x) p(x). Por lo general, hallamos el polinomio de interpolación p(x)
cuando disponemos de un conjunto n de datos obtenidos experimentalmente, de esta manera
manejamos el polinomio p(x) como una aproximación a la función f(x).
En ocasiones, también podemos obtener el polinomio de interpolación p(x) de una función f(x)
conocida, pero de enorme complejidad, puesto que un polinomio siempre es más fácil de manejar.
Figura 1: Imagen de datos

3.1. Métodos de Interpolación


3.1.1 Interpolación de Lagrange

En análisis numérico, el polinomio de Lagrange, llamado ası́ en honor a Joseph-Louis de


Lagrange, es una forma de presentar el polinomio que interpola un conjunto de puntos dado.
Lagrange publicó este resultado en 1795, pero lo descubrió Edward Waring en 1779 y fue
redescubierto más tarde por Leonhard Euler en 1783.1 Dado que existe un único polinomio
interpolador para un determinado conjunto de puntos, resulta algo engañoso llamar a este
polinomio el polinomio interpolador de Lagrange. Un nombre más apropiado es interpolación
polinómica en la forma de Lagrange.

Sean x0 , x1 , ..., xn , (n+1) puntos distintos de R. Sean w0 , w1 , ..., wn , (n + 1) valores reales


arbitrarios. Entonces existe un único polinomio P(x) de grado n tal que
3.1.2 Interpolación directa
En análisis numérico, la interpolación polinómica (o polinomial) es una técnica de interpola-
ción de un conjunto de datos o de una función por un polinomio. Es decir, dado cierto número
de puntos obtenidos por muestreo o a partir de un experimento se pretende encontrar un
polinomio que pase por todos los puntos.

Dada una función f de la cual se conocen sus valores en un número finito de abscisas
x0 , x1 , ..., xm , se llama interpolación polinómica al proceso de hallar un polinomio pm (x)
de grado menor o igual a m, cumpliendo pm (xk ) = f (xk ), k=0,1,...,m
A este polinomio se le llama Polinomio interpolador de grado m de la función f
La interpolación polinómica es un método usado para conocer, de un modo aproximado, los
valores que toma cierta función de la cual sólo se conoce su imagen en un número finito de
abscisas. A menudo, ni siquiera se conocerá la expresión de la función y sólo se dispondrá de
los valores que toma para dichas abscisas.

El objetivo será hallar un polinomio que cumpla lo antes mencionado y que permita hallar
aproximaciones de otros valores desconocidos para la función con una precisión deseable
fijada. Por ello, para cada polinomio interpolador se dispondrá de una fórmula del error de
interpolación que permitirá ajustar la precisión del polinomio.

Es fácil demostrar, usando el determinante de Vandermonde, que por n puntos, con la única
condición de que para cada x haya una sola y, siempre se puede encontrar un polinomio de
grado igual a (n-1) que pase por los n puntos.

3.1.3 Interpolación por polinomio de Newton.


Es un método de interpolación polinómica. Aunque sólo existe un único polinomio que in-
terpola una serie de puntos, existen diferentes formas de calcularlo. Este método es útil para
situaciones que requieran un número bajo de puntos para interpolar, ya que a medida que
crece el número de puntos, también lo hace el grado del polinomio.

Existen ciertas ventajas en el uso de este polinomio respecto al polinomio interpolador de


Lagrange. Por ejemplo, si fuese necesario añadir algún nuevo punto o nodo a la función,
tan sólo habrı́a que calcular este último punto, dada la relación de recurrencia existente y
demostrada anteriormente.

3.1.4 Interpolación Hermite.


En el análisis numérico, la interpolación de Hermite, nombrada ası́ en honor a Charles Her-
mite, es un método de interpolación de puntos de datos como una función polinómica. El
polinomio de Hermite generado está estrechamente relacionado con el polinomio de Newton,
en tanto que ambos se derivan del cálculo de diferencias divididas.

Consiste en buscar un polinomio por pedazos Hn (x) que sea cúbico en cada subintervalo
[x(i−1) , xi ], 1 ≤ i ≤ n y que cumpla f 0 (x) en los puntos {x0 , ..., xn } , donde f (x) f(x) es la
función que se quiere interpolar.

La función Hn (x) queda determinada en forma única por estas condiciones y su cálculo
requiere de la solución de n sistemas lineales de ecuaciones de tamaño 4 × 4 cada uno.

La desventaja de la interpolación de Hermite es que requiere de la disponibilidad de los


{f 0 (xi ), 0 ≤ i ≤ n} lo cual no es el caso en muchas aplicaciones.

3.1.6 Interpolación polinomial por el método de diferencias divididas.


Sea fn una variable discreta de n elementos y sea xn otra variable discreta de n elementos
los cuales corresponden, por parejas, a la imagen u ordenada y abcisa de los datos que se
quieran interpolar, respectivamente, tales que:
f (xk ) = fk , k = 1, . . . , n
Este método es algorı́tmico y resulta sumamente cómodo en determinados casos, sobre todo
cuando se quiere calcular un polinomio interpolador de grado elevado.
El polinomio de grado n − 1 resultante tendrá la forma
n−1
X
aj gj
j=0

El cálculo de todos los términos intermedios debe realizarse simplemente porque son nece-
sarios para poder formar todos los términos finales. Sin embargo, los términos usados en la
construcción del polinomio interpolador son todos aquellos que involucren a x0
Estos coeficientes se calculan mediante los datos que se conocen de la función f
f [x0 , x1 , . . . , xj−1 , xj ] queda definido, como:

f [xi+1 , . . . , xi+j−1 , xi+j ] − f [xi , xi+1 , . . . , xi+j−1 ]


f [xi , xi+1 , . . . , xi+j−1 , xi+j ] = , f [xi ] = f (xi )
xi+j − xi

4. Desarrollo
4.1. Algoritmo
clc;
syms x;
disp(’Pablo Castro Molina’);
disp(’Metodos Numericos’);
disp(’Interpolacion Polinomial’);
vspace2mm
T=[0,10,15,20,22.5,30];
V=[0,227.04,362.78,517.35,602.97,901.67];
n = input(’Ingrese el orden del polinomio ’);
P = input (’Ingrese el punto a evaluar ’);
hold on
plot(T,V,’ro’,’markersize’,4,’markerfacecolor’,’r’)
plot([T(1),T(end)])
xlabel(’T’)
ylabel(’V’)
grid on
title(’PUNTOS A INTERPOLAR’)
hold off
Iniciamos una secuencia concatenada de if para segun el valor de n obtener el polinomio que
mejor se ajusta y el valor remplazado en ese
if n == 1
J=interp1(T,V,P,’nearest’);
disp(’EL VALOR EN EL PUNTO SOLICITADO ES ’);
disp(J);
else
if n == 2
Y =interp1(T,V,P,’linear’);
disp(’EL VALOR EN EL PUNTO SOLICITADO ES ’);
disp(Y);
else
if n==3
M=interp1(T,V,P,’PCHIP’);
disp(’EL VALOR EN EL PUNTO SOLICITADO ES ’);
disp(M);
else
if n ==4
Q=interp1(T,V,P,’spline’);
disp(’EL VALOR EN EL PUNTO SOLICITADO ES ’);
disp(Q);
else
H= polyfit(T,V,n);
L=polyval(H,P);
T=table(T,V);
disp(’EL VALOR EN EL PUNTO SOLICITADO USANDO TODOS LOS PUNTOS ES ’);
disp(L);
end
end
end
end

5. Resultados
6. Análisis
El programa de interpolación utiliza el comando interp1() de matlab el cual permite realizar una
interpolación definiendo el tipo de polinomio ya sea lineal, cubica entre otras. Se le pide al usuario
ingresar el orden del polinomio y el punto en el que desea evaluar el polinomio una vez hecho esto
el programa entra en un bucle el cual interpola, remplaza y muestra el resultado. y una gráfica con
los puntos que se están tomando en cuenta. Cabe mencionar que se puede utilizar con cualquier
tipo de datos solamente se cambian los pares ordenados y el programa calcula automáticamente.

7. Conclusiones
1. La interpolación polinomial es la que mejor se adapta por esos puntos y presenta menor error.

2. A mayor cantidad de datos previamente obtenidos la aproximación sera mayor.

3. A diferencia de los demás métodos de interpolación es mas practico de realizar e implementar


en un modelo computacional debido a que se basa generalmente en sistemas de ecuaciones.

8. Recomendaciones
1 Evitar mover o cambiar los comandos del programa ya que es una sentencia concatenada y
un cambio simple altera toda la sentencia.

2 Ingrese la mayor cantidad de puntos y colocar un polinomio de mayor grado para mejor
aproximación.

3 Al momento de escoger el punto en el cual desea evaluar la función verificar que este dentro del
rango que se le estableció, puesto que si no es ası́, pasarı́a de ser interpolación, a extrapolación.

9. Referencias
1 Bell, E., Historia de las matemáticas, México, Fondo de cultura económica, 1995.

2 Boyer, C., Historia de la matemática, Madrid, Alianza editorial, 1999.

3 Kincaid D. y Cheney, W., Análisis numérico, Addison-Wesley Iberoamericana, 1994.

4 Aubanell, A., Benseny, A. Delshams, A., Útiles básicos de Cálculo Numérico, Barcelona,
Labor/Publicaciones de la UAB, 1993.

5 Ortega, J., Introducció a l’Anàlisi Matemàtica, 2a ed., Ba

También podría gustarte