Está en la página 1de 37

INTERPOLACIÓN

 En numerosos fenómenos de la naturaleza observamos


una cierta regularidad en la forma de producirse, esto nos
permite sacar conclusiones de la marcha de un fenómeno
en situaciones que no hemos medido directamente.

 La interpolación consiste en hallar un dato dentro de un


intervalo en el que conocemos los valores en los extremos.

 La extrapolación consiste en hallar un dato fuera del


intervalo conocido, pero debe tenerse en cuenta que esté
próximo a uno de sus extremos, pues en otro caso no es
muy fiable el resultado obtenido.
PLANTEAMIENTO GENERAL
 El problema general de la interpolación se nos
presenta cuando nos dan una función de la cual solo
conocemos una serie de puntos de la misma:

(xo, yo), (x1, y1),........., (xn, yn)

 y se pide hallar el valor de un punto x (intermedio de


x0 y xn) de esta función.

 Se desea, por tanto encontrar una función cuya gráfica


pase por esos puntos y que nos sirva para estimar los
valores deseados.
ELECCIÓN DE LA INTERPOLACIÓN MÁS
ADECUADA
 Consideremos una función de la cual solo conocemos una serie
de puntos de la misma:

(xo, yo), (x1, y1), .............., (xn, yn)

 Deseamos encontrar la expresión analítica de dicha función


para poder estudiarla en otros puntos.

 Ahora bien, por n+1 puntos pasan infinitas funciones, ¿con


cuál de ellas nos quedamos? Lo más lógico es recurrir a la más
sencilla. La familia de funciones más sencillas es la de los
polinomios, por tanto buscaremos el polinomio de menor
grado que pase por los n+1 puntos dados.
ELECCIÓN DE LA INTERPOLACIÓN MÁS
ADECUADA
 La función polinómica de menor grado que pasa por los puntos es en
principio de grado n:

y= anxn+............+a1x+ao

 Y se obtiene resolviendo el sistema de n+1 ecuaciones con n+1 incógnitas


(sistema que tiene solución única ya que el determinante de la matriz de los
coeficientes es de Vandermonde y por lo tanto distinto de cero)

 Se le llama polinomio interpolador correspondiente a esos puntos. Una vez


obtenida su expresión dando valores en él se pueden encontrar nuevos
puntos de la función. Los resultados obtenidos son naturalmente
estimaciones aproximadas.

 Aunque existe uno y sólo un polinomio de n-ésimo orden que se ajusta a los
n + 1 puntos, existen una gran variedad de fórmulas matemáticas mediante
las cuales se puede expresar este polinomio. En esta unidad se estudian dos
técnicas alternativas que están bien condicionadas para implementarse en
una computadora. Estos son los polinomios de Newton y de Lagrange.
INTERPOLACIÓN LINEAL
 La fórmula más simple de interpolación es la de conectar dos puntos con una
linea recta. Este método, llamado Interpolación Lineal

 Usando triángulos semejantes, se tiene:

𝑓 𝑥 −𝑓 𝑥0 𝑓 𝑥1 −𝑓 𝑥0
= … (1)
𝑥−𝑥0 𝑥1 −𝑥0

 Que se puede reordenar como:

𝑓 𝑥1 −𝑓 𝑥0
𝑓 𝑥 = 𝑓 𝑥0 + 𝑥 − 𝑥0 … (2)
𝑥1 −𝑥0

 La cuál es la fórmula de interpolación lineal. La notación f1(X) indica que se


trata de un polinomio de interpolación de primer orden. Nótese que además de
representar la pendiente de la línea que conecta los dos puntos, el término
[f(X1) - f(X2)]/(X1 - X2) es una aproximación de diferencias divididas finitas a la
primera derivada. En general, entre mas pequeño sea el intervalo entre los
puntos, más exacta será la aproximación.
EJEMPLO

 Calcular el logaritmo natural de 2 (ln 2) usando


interpolación lineal.

 Primero, realize los cálculos interpolando entre ln 1 = 0


y ln 6 = 1.7917595.

 Después repíta el procedimiento, pero usando un


intervalo más pequeño desde ln 1 a ln 4 = 1.3862944.

 Nótese que el valor real de ln 2 = 0. 69314718


SOLUCIÓN
 Evaluando la fórmula de interpolación lineal de X = 1 a X = 6 da:

1.79175947 − 0
𝑓 2 =0+ 2 − 1 = 0.35835189
6−1

 La cual representa un error porcentual de e% = 48.3 %.

 Ahora realizamos los cálculos usando el intervalo más pequeño


desde X = 1 a X = 4 da:

1.38629436 − 0
𝑓 2 =0+ 2 − 1 = 0.43209812
4−1

 Usando el intervalo más pequeño reduce el error relativo


porcentual a e% = 33.3%.
INTERPOLACIÓN CUADRÁTICA
 Si se dispone de tres puntos se puede construir un polinomio de segundo orden
(llamado también polinomio cuadrático o parábola). Una manera conveniente para
este caso es:

𝑓 𝑥 = 𝑏0 + 𝑏1 𝑥 − 𝑥0 + 𝑏2 𝑥 − 𝑥0 𝑥 − 𝑥1 … (3)

 Aunque la ecuación parece diferente de la ecuación general de un polinomio, las dos


ecuaciones son equivalentes. Esto se demuestra si multiplicamos los términos de la
ecuación obteniendo:

𝑓 𝑥 = 𝑏2 𝑥 2 + 𝑏1 − 𝑏2 𝑥0 − 𝑏2 𝑥1 𝑥 + 𝑏0 − 𝑏1 𝑥0 + 𝑏2 𝑥0 𝑥1 … (4)

 o, agrupar términos:

𝑓 𝑥 = 𝑎2 𝑥 2 + 𝑎1 𝑥 + 𝑎0 … (5)

 en donde:

𝑎2 = 𝑏2
𝑎1 = 𝑏1 − 𝑏2 𝑥0 − 𝑏2 𝑥1
𝑎0 = 𝑏0 − 𝑏1 𝑥0 + 𝑏2 𝑥0 𝑥1
INTERPOLACIÓN CUADRÁTICA
 Se puede usar un procedimiento simple para determinar los valores de los
coeficientes. Para b0, se usa la ecuación (3) con X = X0, y se obtiene

𝑏0 = 𝑓 𝑥0 … (6)

 sustituyendo la ecuación (6) en la ecuación (4) y evaluando en X = X1 se obtiene:

𝑓 𝑥1 −𝑓 𝑥0
𝑏1 = … (7)
𝑥1 −𝑥0

 Y por último, las ecuaciones (6) y (7) se sustituyen en la ecuación (3), y se evalúa ésta
en X = X2 y se obtiene:

𝑓 𝑥2 − 𝑓 𝑥1 𝑓 𝑥1 − 𝑓 𝑥0

𝑥2 − 𝑥1 𝑥1 − 𝑥0
𝑏2 = … (8)
𝑥2 − 𝑥0

 Nótese que, al igual que en el caso de interpolación lineal, b1 aún representa la


pendiente de la línea que une los puntos X0 y X1. Por lo tanto, los primeros dos
términos de la ecuación son equivalentes a la interpolación de X0 a X1, el último
término, b2(X-X0)(X-X1), introduce la curvatura de segundo orden en la fórmula.
EJEMPLO
 Realice una interpolación de segundo grado para calcular el
ln 2 utilizando los siguientes datos:

X0 = 1 f (X0) = 0.0000 000


X1 = 4 f (X1) = 1.3862 944
X2 = 6 f (X2) = 1.7917 595

SOLUCIÓN
 Primero procedemos al calculo de b0, b1 y b2

𝑏0 = 𝑓 𝑥0 = 0
SOLUCIÓN
𝑓 𝑥1 − 𝑓 𝑥0 1.38629436 − 0
𝑏1 = = 0.46209812
𝑥1 − 𝑥0 4−1

𝑓 𝑥2 −𝑓 𝑥1 𝑓 𝑥1 −𝑓 𝑥0 1.79175947−1.38629436
𝑥2 −𝑥1
− 𝑥1 −𝑥0 −0.46209812
6−4
𝑏2 = = =-0.05187311
𝑥2 −𝑥0 6−1

 Sustituyendo estos valores en la ecuación cuadrática se obtiene la fórmula


cuadrática:

𝑓2 𝑥 = 0.46209812 𝑥 − 1 − 0.05187312 𝑥 − 1 𝑥 − 4

 que se evalúa en X = 2 y se obtiene

𝑓2 2 = 0.5658443

 Lo que representa un error porcentual del e% = 18.4%. Por lo tanto, mejora la


interpolación comparada con los resultados obtenidos al usar una línea recta.
INTERPOLACIÓN POLINOMIAL DE LAS
DIFERENCIAS FINITAS DE NEWTON
 El análisis anterior se puede generalizar en el ajuste de un polinomio de n-ésimo orden a los n+1
puntos. El polinomio de n-ésimo orden es:

𝑓𝑛 𝑥 = 𝑏0 + 𝑏1 𝑥 − 𝑥0 + 𝑏2 𝑥 − 𝑥0 𝑥 − 𝑥1 + ⋯ + 𝑏𝑛 𝑥 − 𝑥0 𝑥 − 𝑥1 … 𝑥 − 𝑥𝑛−1

 Como se hizo anteriormente con las interpolaciones lineales y cuadráticas, se usan los puntos en
la evaluación de los coeficientes b0, b1, ... , bn.

 Se requieren n + 1 puntos para obtener un polinomio de n-ésimo orden: X0, X1, ... , Xn.

 Usando estos datos, con las ecuaciones siguientes se evalúan los coeficientes:

b0 = f (X0)
b1 = f [X1, X0]
b2 = f [X2, X1, X0]
...
bn = f [X n, Xn-1, ..., X1, X0]

 En donde las evaluaciones de la función entre corchetes son diferencias divididas finitas.
INTERPOLACIÓN POLINOMIAL DE LAS
DIFERENCIAS FINITAS DE NEWTON
 Por ejemplo, la primera diferencia dividida finita se representa
generalmente como:

𝑓 𝑥𝑖 −𝑓 𝑥𝑗
𝑓 𝑥𝑖 , 𝑥𝑗 =
𝑥𝑖 −𝑥𝑗

 La segunda diferencia dividida finita, que representa la diferencia de


dos primeras diferencias divididas finitas, se expresa generalmente
como:

𝑓 𝑥𝑖 , 𝑥𝑗 − 𝑓 𝑥𝑗 , 𝑥𝑘
𝑓 𝑥𝑖 , 𝑥𝑗 , 𝑥𝑘 =
𝑥𝑖 − 𝑥𝑘
INTERPOLACIÓN POLINOMIAL DE LAS
DIFERENCIAS FINITAS DE NEWTON
 De manera similar, la n-ésima diferencia dividida finita es:

𝑓 𝑥𝑛 ,𝑥𝑛−1 ,…,𝑥1 ,𝑥0 −𝑓 𝑥𝑛−1 ,𝑥𝑛−2 ,…,𝑥1 ,𝑥0


𝑓 𝑥𝑛 , 𝑥𝑛−1 , … , 𝑥1 , 𝑥0 =
𝑥𝑛 −𝑥0

 Estas diferencias se usan para evaluar los coeficientes de la ecuación


(12), los cuales se sustituyen en la ecuación (11), para obtener el
polinomio de interpolación:

𝑓𝑛 𝑥 = 𝑓 𝑥0 + 𝑥 − 𝑥0 𝑓 𝑥1 , 𝑥0 + 𝑥 − 𝑥0 𝑥 − 𝑥1 𝑓 𝑥2 , 𝑥1 , 𝑥0 + ⋯
+ 𝑥 − 𝑥0 𝑥 − 𝑥1 … 𝑥 − 𝑥𝑛−1 𝑓 𝑥𝑛 , 𝑥𝑛−1 , … , 𝑥1 , 𝑥0

 Al cual se le llama Polinomio de Interpolación con Diferencias


Divididas de Newton.
FUNCIÓN interp1
 La interpolación lineal se puede realizar en MATLAB con la
función interp1.

»x= 0:5;
»y= [15, 10, 9, 6, 2, 0];

»interp1(x, y, 3.5)

 Ahora si deseamos realizar la interpolación en x=4.2


escribimos

»interp1(x,y,4.2)
FUNCIÓN interp1
 También se pueden realizar múltiples interpolaciones al
mismo tiempo al colocar un vector de valores x en el tercer
campo de la función interp1. Por ejemplo, para estimar
valores y para nuevas x igualmente espaciadas desde 0
hasta 5 por 0.2

>>new_x= 0:0.2:5;
>>new_y= interp1(x,y,new_x)

>>plot(x,y,new_x,new_y,‘o’)
INTERPOLACIÓN CÚBICA SEGMENTARIA

 Conectar los puntos de datos con líneas rectas


probablemente no es la mejor forma de estimar valores
intermedios, pero si la más simple. Se puede crear una
curva más suave al usar la técnica de interpolación
cúbica segmentaria (de trazador o spline), incluida en
la función interp1. Este enfoque usa un polinomio de
tercer orden para modelar el comportamiento de los
datos.

 interp1(x,y,3.5,’spline’)
INTERPOLACIÓN CÚBICA SEGMENTARIA

 También se puede utilizar la técnica cúbica


segmentaria para crear un arreglo de nuevas
estimaciones para y, para cada miembro de un arreglo
de valores x:

 new_x=[0:0.2:5];
 new_y=interp1(x,y,new_x,’spline’);
 plot(x,y,new_x,new_y,’o’)
OPCIONES DE INTERPOLACIÓN EN LA
FUNCIÓN interp1
INTERPOLACIÓN BIDIMENSIONAL
 Imagine que tiene un conjunto de datos z que
dependen de dos variables x y y.

 Si queremos determinar el valor de z en y=3 y x=1.5,


tendriamos que realizar dos interpolaciones.
INTERPOLACIÓN BIDIMENSIONAL
 Para evitar el proceso de dos interpolaciones, MATLAB
incluye una función de interpolación bidimensional,
interp2 que puede resolver el problema en un solo paso.

>>y=2:2:6;
>>x=1:4;
>>z=[ 7 15 22 30
54 109 164 218
403 807 1210 1614];
>>interp2(x,y,z,1.5,3)
EJERCICIO

1) INTERPOLACIÓN T ºC u (kJ/kg)
LINEAL
100 2506.7
Propiedades termodinámicas
150 2582.8
Considerar los valores de la tabla
200 2658.1
para vapor a 0.1 MPa (1 atm)
250 2733.7
Usar interpolación lineal para 300 2810.4
determinar:
400 2967.9
La energía interna a 215ºC y
La temperatura si u=2600 kJ/kg 500 3131.6
SOLUCIÓN

 T=[ 100, 150, 200, 250, 300, 400, 500];


 u=[ 2506.7, 2582.8, 2658.1, 2733.7, 2810.4, 2967.9, 3131.6];

 newu=interp1(T,u,215)
 newT=interp1(u,T,2600)

 newu=2680.78
 newT=161.42
EJERCICIO
 Con base en la siguiente tabla y realizando interpolación se
desea expandir la tabla con temperaturas desde 100 °C
hasta 500 °C en intervalos de 25 °C.

EXPANSIÓN DE TABLAS.
Propiedades de vapor supercalentado a 0.1 MPa

T ºC v (m^3/kg) u (kJ/kg) h (kJ/kg)


100 1.6958 2506.7 2676.2
150 1.9364 2582.8 2776.4
200 2.172 2658.1 2875.3
250 2.406 2733.7 2974.3
300 2.639 2810.4 3074.3
400 3.103 2967.9 3278.2
500 3.565 3131.6 3488.1
SOLUCIÓN
 T=[ 100, 150, 200, 250, 300, 400, 500]’;

 v=[ 1.6958, 1.9364, 2.172, 2.406, 2.639, 3.103, 3.565]’;

 u=[ 2506.7, 2582.8, 2658.1, 2733.7, 2810.4, 2967.9, 3131.6]’;

 h=[ 2676.2, 2776.4, 2875.3, 2974.3, 3074.3, 3278.2, 3488.1]’;

 valores=[v, u, h];

 nuevaescala=[100:25:500]’;

 nuevosvalores=interp1(T, valores, nuevaescala);

 Tabla=[nuevaescala,nuevosvalores]
AJUSTE DE CURVAS
 Aunque se podrían usar técnicas de interpolación para encontrar
valores de y entre valores x medidos, sería más conveniente si se
pudieran modelar los datos experimentales como y = f (x).
Entonces se podría calcular cualquier valor de y que se quisiera.

 Si se sabe algo acerca de la relación subyacente entre x y y, se


podría determinar una ecuación sobre la base de dichos
principios.

 MATLAB tiene funciones internas de ajuste de curvas que le


permiten modelar los datos empíricamente. Es importante
recordar que estos modelos son buenos sólo en la región donde
se recopilaron los datos. Si no se entiende por qué un parámetro
como y cambia como lo hace con x, no puede predecir si la
ecuación de ajuste de datos todavía funcionará afuera del rango
donde se recopilaron los datos.
REGRESIÓN LINEAL

 La técnica de regresión lineal usa un enfoque llamado


mínimos cuadrados para comparar qué tan diferentes son
las ecuaciones que modelan el comportamiento de los
datos.

 Este método usa como criterio mas común que la suma de


las diferencias entre los valores reales y los valores
calculados sea mínima.

 Las diferencias entre los valores reales y calculados se


elevan al cuadrado y se suman, esto para evitar que las
desviaciones positivas y negativas se cancelan
mutuamente.
EJEMPLO
>>x=0:5;
>>y=[15,10,9,6,2,0];
>>plot(x,y,’o’)

 Se puede encontrar la ecuación de la recta al notar que x=0, y=15, y en


x=5, y=0. Por tanto, la pendiente de la línea es

Δy 𝑦2 − 𝑦1 0 − 15
= = = −3
Δ𝑥 𝑥2 − 𝑥1 5−0

 La línea recta cruza el eje y en 15, de modo que la ecuación de la línea es

𝑦 = −3𝑥 + 15

 Dibujamos en Matlab la recta:

>>hold on
>>y2=-3*x+15;
>>plot(x,y2,’r’)
EJEMPLO
 Las diferencias entre los valores reales y los valores calculados se
presentan en con la construcción de la siguiente tabla

>>diferencias=y-y2;
>>resultados=[x’,y’,y2’,diferencias’]

 Sin embargo el método de mínimos cuadrados eleva la diferencia al


cuadrado para evitar cancelaciones y la suma.

>>Dif_al_cuadrado=sum(diferencias.^2)

 La regresión lineal se logra en MATLAB con la función polyfit. Se


requieren tres campos para polyfit: un vector de valores x, un vector de
valores y y un entero que indique qué orden de polinomio se usaría para
ajustar los datos.

>>polyfit(x,y,1)
>>ans=-2.9143 14.2857

 El resultado será la pendiente y la ordenada de la nueva recta


EJEMPLO
 Para verificar que esta aproximación es mejor que la que
obtuvimos de manera analítica realizamos:

>>mejora1y=-2.9143*x+14.2857;
>>difmejora1y=sum((y-mejora1y).^2)
>>ans=3.3714

 Como se observa la suma de las diferencias elevadas al cuadrado


es menor que 5 por lo que esta aproximación es mejor que la
obtenida analíticamente.

 Sin embrago podríamos tratar de encontrar una aproximación


mejor elevando el grado de la regresión.

>>polyfit(x,y,2)
>>mejora2y=0.0536*x^2-3.1821*x+14.4643;
>>difcuadradomejoray2=sum((y-mejora2y).^2);
>>ans=3.2643
HERRAMIENTAS BÁSICAS

 ToolsBasic Fitting

 Linear, cubic y show equations

 plot residual

 Tools  Data Statistics


HERRAMIENTAS DE AJUSTE DE CURVAS
(SOLO SI ESTA INSTALADA LA CAJA DE HERRAMIENTAS DE AJUSTE DE CURVAS)

x= 0:5;
y= [0, 20, 60, 68, 77, 110];
 cftool
 data
 Elegir valor x y valor y create data set
 cerrar la ventana de datos
 fitting
 Matlab grafica las curvas ajustadas y
muestra las ecuaciones

También podría gustarte