Está en la página 1de 11

Universidad Tecnolgica Nacional

Asignatura: Fundamentos de Informtica

Facultad Regional Mendoza

Unidad Temtica 9

Departamento de Ingeniera Qumica

Ttulo: Interpolacin

INTERPOLACIN
ASPECTOS GENERALES
Cuando se utilizan distintos mtodos numricos, por ejemplo, derivacin, integracin, etc., es necesario evaluar la
funcin con la que se est trabajando en diversos puntos. En ingeniera, muchas veces en lugar de tener una
funcin, se tiene una tabla de valores, por lo que primero se debe obtener una funcin representativa de dicha
tabla, para recin entonces poder aplicar el mtodo numrico deseado.
Para poder realizar esta tarea de aproximar una tabla con una funcin, se deben tener en cuenta los errores
experimentales de los datos que figuran en la tabla. Si los errores son despreciables, entonces se utilizar un
mtodo de interpolacin; mientras que si los errores son importantes se utilizar un mtodo de ajuste de curvas.
En el primer caso, la funcin que aproxima los valores, pasa por cada uno de los puntos dados como datos,
mientras que en el segundo caso, la funcin no pasa necesariamente por dichos puntos.
En este apunte se ver nicamente el tema de interpolacin; es decir, se podr aplicar todo lo que se discutir a
1
tablas con valores que contengan errores despreciables .
INTERPOLACIN DE LANGRANGE
Los principales mtodos de interpolacin utilizan polinomios para lograr la aproximacin de los datos. As se
pueden mencionar algunos de ellos como:
Mtodos
Polinomio de Lagrange

Polinomio de Newton

Polinomio de Chebyshev

Splines

Caractersticas
Es un mtodo sencillo de implementar, pero no pueden usarse muchos puntos.
Una vez calculado un polinomio, si se desea aumentar la precisin (incluyendo
ms puntos) debe calcularse todo nuevamente.
Con caractersticas similares al polinomio de Lagrange, pero tiene la peculiaridad
de ser incremental, es decir, al aumentar el nmero de puntos no es necesario
recalcular todo el polinomio.
Es un mtodo que tiene una gran precisin en la interpolacin, pero los puntos que
se deben tener en cuenta para calcular el polinomio no son independientes, es
decir, son evaluados para minimizar el error.
Los ms comunes son los splines cbicos, que consiste en subdividir la curva a
interpolar en secciones que son ajustadas por polinomios cbicos. Para asegurar
la suavidad de las uniones de los distintos polinomios, se utilizan las siguientes
restricciones: el valor de las funciones, de las derivadas primeras y segundas, en
los puntos de unin, deben ser iguales entre s; es decir:
p1(xn)=p2(x0)
p1(xn)=p2(x0)
p1(xn)=p2(x0)
siendo xn el ltimo valor de un polinomio y x0 el primer valor del polinomio
siguiente.

Como se precis anteriormente, todos estos polinomios pasan por los puntos tabulados, por lo que es importante
analizar el nivel de error de los mismos, antes de utilizar cualquiera de estos mtodos, ya que dichos errores
deben ser despreciables; si no es as, se deben utilizar mtodos de ajustes de curvas. En este apunte se ver
exclusivamente la interpolacin utilizando polinomios de Lagrange.
Como se aclar previamente, se utilizarn pares de valores (x; y) provenientes de una tabla, con el objeto de
determinar el polinomio interpolador. Si se utilizar n+1 pares de valores, se obtendr como mximo un polinomio
2
de grado n, tal cual se aprecia a continuacin :
1

Un mtodo cualitativo rpido para evaluar el nivel de errores que tiene una tabla, consiste en graficar los datos de la misma, si se obtiene
una curva suave se puede inferir que los errores son despreciables, por otro lado si la curva es quebrada, los errores experimentales son
importantes.

Ing. Juan E. Nez Mc Leod

Pgina 1 de 11

Universidad Tecnolgica Nacional

Asignatura: Fundamentos de Informtica

Facultad Regional Mendoza

Unidad Temtica 9

Departamento de Ingeniera Qumica

Ttulo: Interpolacin

+ +

Haciendo una analoga con lo visto en otros mtodos numricos, se puede decir que mientras mayor es el grado
del polinomio, no necesariamente se obtienen mejores resultados. En el caso de los polinomios de Lagrange, es
mejor hacer interpolaciones por tramos y no tratar de obtener un nico polinomio para toda la tabla de datos.
Para explicar esta recomendacin se supondr disponer de una tabla con 101 pares de valores temperatura vs
3
densidad, donde la temperatura est expresada en kelvin y la densidad en g/cm . Si se toman todos los pares de
valores, se obtendr un polinomio de grado mximo igual a 100, como se observa a continuacin:
=

+ +

Por lo tanto cuando se hagan los clculos, un trmino del polinomio ser de la forma T^100, mientras que otro
ser simplemente T. As por ejemplo, si se desea evaluar la densidad a 350 K, se tendrn trminos que
contengan los siguientes valores:

1: = 350
100:
= 2.5515520672986. 10

$%

Como se observa, se trata de dos valores extremadamente dismiles, a tal punto que = 350 se podra tomar
como 0 frente al valor gigantesco de
. Como se ha mencionado en discusiones anteriores, desde el
punto de vista matemtico no hay mayor inconveniente, el problema se suscita cuando se trabaja con una
computadora, donde se tiene una capacidad limitada de almacenamiento de los valores numricos.
De acuerdo a la experiencia en el uso de la interpolacin de Lagrange, se puede recomendar que el grado
mximo del polinomio no debe superar el valor de seis; es decir, no se deben utilizar ms de siete pares de
3
valores para definir el polinomio interpolador.
Teniendo en cuenta esta recomendacin, es sencillo entender por qu se deben hacer interpolaciones por tramos
y no abarcar la tabla completa.
EL POLINOMIO DE LAGRANGE
Un polinomio de Lagrange que pase por n+1 puntos de coordenadas '
n, cuya expresin matemtica ser:
/

, ' + = - .
(0

En donde .

,( '

,( '

( , ; ( +,

tendr un grado menor o igual a

+es un polinomio que define los coeficientes de Lagrange, y est definido por
.

,( '

+=

(
(

(/
(/

/
/

Si bien esta ltima expresin puede parecer difcil de recordar, pero obsrvese el siguiente detalle: el numerador
est compuesto por el producto de todas las diferencias entre el valor buscado (x) y los valores de la variable
independiente de la tabla (xi), menos el valor correspondiente a i=k. De la misma manera, el denominador es el
producto de todas las diferencias entre los valores xk y todos los valores de la variable independiente de la tabla,
menos el valor correspondiente a i=k.

Esto se debe a que, por ejemplo, si se tienen n+1 puntos alineados se obtendr solamente un polinomio de primer grado.
Esta es una recomendacin, lo que no significa que en un caso particular se pueda utilizar un polinomio de mayor grado y obtener mejores
resultados.
3

Ing. Juan E. Nez Mc Leod

Pgina 2 de 11

Universidad Tecnolgica Nacional

Asignatura: Fundamentos de Informtica

Facultad Regional Mendoza

Unidad Temtica 9

Departamento de Ingeniera Qumica

Ttulo: Interpolacin

Para el caso de una interpolacin lineal, donde n=1, entonces se tiene que n+1=2; es decir, se consideran
nicamente dos puntos de la tabla. Este tipo de interpolacin es ampliamente utilizada por el ingeniero para
realizar clculos manuales, tal cual se observa a continuacin:
, ' + = . , ' +

+ . , ' +

Esta ltima expresin equivale a escribir,


=

Si se desarrolla algebraicamente, se llega a la expresin que corresponde a la frmula de interpolacin lineal ,


que se observa a continuacin:

'

De aqu en ms, de acuerdo a la cantidad de puntos considerados, se tiene una interpolacin cuadrtica, cbica,
etc. Al aumentar el grado del polinomio integrador, no necesariamente se obtienen mejores resultados en la
interpolacin.
No se debe olvidar, como se discuti anteriormente, que no es conveniente utilizar ms de siete puntos para
definir el polinomio integrador de Lagrange.
A continuacin se observa una funcin que realiza la interpolacin de Lagrange con n puntos. Los valores de la
tabla se encuentran separados en los vectores columna xi y yi, mientras que en x se encuentra el valor de
abscisas que se desea interpolar.
// Interpolacin de Lagrange
// Variables de entrada
// xi: vector con los valores de la variable independiente
// yi: vector con los valores de la variable dependiente
// x: valor en el cual se desea interpolar la funcin
// Variables de salida
// y: valor interpolado de la funcin
function [y]=lagrange(xi, yi, x)
n=size(xi,"r")
y=0
for i=1:n
fact=1
for j=1:n
if j<>i then
fact=fact*(x-xi(j))/(xi(i)-xi(j))
end
end
y=y+yi(i)*fact
end
endfunction

Para analizar un caso prctico, se supondr disponer de una tabla de densidades del agua (vector dens) en
funcin de la temperatura (vector temper), adems se conocer la temperatura a la cual se desea obtener la
densidad interpolada (variable T)
Para poder realizar la interpolacin se utilizarn dos funciones adicionales, la primera de las cuales ya fue
utilizada cuando se estudi el manejo de archivos denominada searchTable. La cual buscar la temperatura
dada por T en la tabla de datos, y devolver el ndice que corresponde a dicha temperatura, o un error si la
temperatura est fuera de los valores dados en la tabla. Esta funcin se puede ver a continuacin:
4

Esta expresin corresponde a la ecuacin de la recta que pasas por dos puntos.

Ing. Juan E. Nez Mc Leod

Pgina 3 de 11

Universidad Tecnolgica Nacional

Asignatura: Fundamentos de Informtica

Facultad Regional Mendoza

Unidad Temtica 9

Departamento de Ingeniera Qumica

Ttulo: Interpolacin

// **********************************************
// * Funcin de bsqueda en un vector de datos *
// **********************************************
//
// Esta funcin busca en un vector columna ordenado de menor a mayor
// Esta funcin busca el primer valor que es mayor a igual al dato buscado,
// y devuelve el valor de la fila correspondiente
//
// Datos de entrada
// ---------------// datos: vector columna n filas conteniendo los datos sobre los que
// se realizar la bsqueda, ordenados de menor a mayor
// x: temperatura a buscar
//
// Datos de salida
// --------------// row: fila del vector datos que contiene un valor mayor o igual al
// dato buscado
// er: cdigo de error
//
0: no hay errores
//
101: el vector datos tiene ms de una columna
//
109: el dato buscado est fuera del rango del vector de datos
//
103: el vector datos no est ordenado en forma creciente
function [row, er]=searchTable(datos, x)
er=0
row=0
n=size(datos,"r")
m=size(datos,"c")
if m>1 then
er=101
return
end
if x<datos(1) | x>datos(n) then
er=109
return
end
i=1
while x>datos(i)
i=i+1
if datos(i-1)>datos(i) then
er=103
return
end
end
row=i
endfunction

Por ltimo es necesaria una funcin que seleccione un conjunto de puntos de la tabla para poder interpolar. Esta
funcin denominada interpola realiza una bsqueda de la temperatura, seguidamente arma un conjunto de
cinco pares de valores, con los dos pares anteriores y los dos posteriores, al valor encontrado en la tabla.
Finalmente, con estos cinco pares llama a la funcin de interpolacin de Lagrange. La funcin interpola se
puede observar a continuacin:
//
//
//
//
//
//
//
//

Funcin de interpolacin
Variables de entrada
temper: vector con las temperaturas de la tabla
dens: vactor con las densidades de la tabla
T: temperatura en la que se desea conocer la densidad
Variables de salida
y: valor de la densidad a la temperatura T
er: cdigo de error

Ing. Juan E. Nez Mc Leod

Pgina 4 de 11

//
//
//
//

Universidad Tecnolgica Nacional

Asignatura: Fundamentos de Informtica

Facultad Regional Mendoza

Unidad Temtica 9

Departamento de Ingeniera Qumica

Ttulo: Interpolacin

0: no hubo errores
107: Los vectores temper y dens tienen distintas dimensiones
108: La tabla de datos contiene menos de cinco filas
109: la temperatura T est fuera del rango de la tabla

function [y, er]=interpola(temper, dens, T)


er=0
y=0
n=size(temper,'r')
m=size(dens,'r')
if n<>m then
er=107
return
end
if n<5 then
er=108
return
end
if T<temper(1) | T>temper(n) then
er=109
return
end
[k,er]=searchTable(temper,T)
if er<>0 then
return
end
kini=k-2
if kini<1 then
kini=1
end
kfin=kini+4
if kfin>n then
kfin=n
kini=kfin-4
end
temp1=temper(kini:kfin)
dens1=dens(kini:kfin)
y=lagrange(temp1,dens1,T)
endfunction

Suponiendo que la tabla de densidades se encuentre almacenada en un archivo de texto denominado


densidadAgua.txt, similar al visto en el tema de manejo de archivos, con un formato tal como se ve a
continuacin, teniendo en cuenta que los puntos suspensivos representan valores que se han suprimido para
lograr una representacin resumida de la tabla completa:
Densidad del agua libre de aire entre -10 C y 250 C
T [C]
Densidad [g/cm3]
-10
0.99815
-9
0.99843
-8
0.99869
-7
0.99892
-6
0.99912
-5
0.99930
-4
0.99945
-3
0.99958

210
0.85000
220
0.83700
230
0.82300
Ing. Juan E. Nez Mc Leod

Pgina 5 de 11

240
250

Universidad Tecnolgica Nacional

Asignatura: Fundamentos de Informtica

Facultad Regional Mendoza

Unidad Temtica 9

Departamento de Ingeniera Qumica

Ttulo: Interpolacin

0.80900
0.79400

Las instrucciones necesarias para determinar la densidad del agua a T=92.4 C sern las siguientes:
-->datos=fscanfMat("c:/codigos/densidadAgua.txt");
-->temper=datos(:,1);
-->dens=datos(:,2);
-->[y,er]=interpola(temper,dens,92.4)
er =

0.
=
0.9637132

FUNCIN DE INTERPOLACIN EN SCILAB


Para poder realizar interpolaciones de una sola variable, Scilab tiene la funcin llamada interp1, que tiene la
siguiente sintaxis:
-->y=interp1(temper,dens,92.4,"spline")
y =
0.96371221848622601
-->y=interp1(temp,dens,92.4,"linear")
y =
0.9636984
-->y=interp1(temp,dens,92.4,"nearest")
y =
0.96534
Como se observa se escriben primero los vectores con los datos de la tabla, primero el correspondiente a la
variable independiente y despus a la dependiente; a continuacin se escribe el valor a interpolar, para
finalmente escribir una cadena de caracteres con el mtodo a utilizar:
Mtodo
spline
linear
nearest

Significado
La interpolacin se hace utilizando splines.
Se realizar una interpolacin lineal.
Se devuelve el valor ms cercano al dado en el argumento, no se hace realmente una
interpolacin.

Es importante hacer la aclaracin que Scilab no implementa el mtodo de Lagrange, ya que como se dijo
anteriormente, este mtodo es generalmente ineficiente cuando se superan los siete puntos.
CASO PRCTICO DEL USO DE INTERPOLACIN
Dentro del conjunto de clculos habituales de un ingeniero qumico se encuentran los balances de materia y
energa. Estos balances permiten determinar la cantidad de sustancia necesaria para que se desarrolle un
determinado proceso, como as tambin la energa involucrada. Estas dos informaciones son vitales para el
diseo del cualquier proceso fsico y/o qumico.
Ing. Juan E. Nez Mc Leod

Pgina 6 de 11

Universidad Tecnolgica Nacional

Asignatura: Fundamentos de Informtica

Facultad Regional Mendoza

Unidad Temtica 9

Departamento de Ingeniera Qumica

Ttulo: Interpolacin

Para determinar la cantidad de calor sensible involucrada en el cambio de temperatura de una sustancia, ya sea
5
calentamiento o enfriamiento a presin constante, se hace uso de la siguiente expresin :
8

= 48 9 5 67

(1)

Donde representa el cambio de entalpa , w el caudal msico de la sustancia, el cual se supondr constante, y
Cp el calor especfico a presin constante. Para el caso de un clculo aproximado, se suele considerar el calor
especfico constante, por lo que la integral se puede resolver de la siguiente manera:
6

= 5 67 '

(2)

Sin embargo, para un clculo preciso, se debe tener en cuenta que el calor especfico es funcin de la
temperatura, por lo que se debe considerar su variacin con la misma. Generalmente esta variacin se la puede
aproximar bastante bien con una expresin polinmica, como la que se transcribe a continuacin:
6; =

+ < + =

>

(3)

En esta funcin los valores de los coeficientes varan de acuerdo a la sustancia, y haciendo uso de la misma,
considerando el caudal msico constante, la integral queda resuelta de la siguiente manera:
8

= 48 9 5 67
:

= 5 ? @ |

= 5 48 9' + < + =
:

89

+ < @ B

8C

+ = @ B
>

+
8D

>

+
8E

+ @ B

+ @ B

% +

(5)
(6)
7

Para analizar el comportamiento de estas expresiones, tanto la aproximada como la exacta , se recurrir al
siguiente ejemplo: Se tiene una corriente de 4 kg/min de hidrgeno, que es calentada desde 20 C a 450 C, y se
desea calcular la energa necesaria para realizar esta operacin, sabiendo que:
a= 8.750174
b= 3.32399D-02
c=-6.52272D-05
d= 5.25265D-08
e=-1.44758D-11
Para determinar el valor medio del calor especfico, se evaluar el mismo a las temperaturas inicial y final,
teniendo en cuenta que la misma debe estar expresada en kelvin, dando por resultado:
Cpi= 14.105389 kJ/kg K a 293.15 K (20 C)
Cpf= 14.582437 kJ/kg K a 723.15 K (450 C)
Con estos dos valores se estima un calor especfico medio Cp= 14.343913 kJ/kg K. Este valor permite calcular un
calor aproximado necesario para el calentamiento segn la expresin (2) vista anteriormente, dando el siguiente
resultado:
= 24671.53 HI/
Para obtener un clculo preciso es necesario evaluar la expresin (6), dando por resultado:
5

Esta expresin se utiliza siempre y cuando no haya cambio de fase.


En una transformacin a presin constante, el cambio de entalpa es igual al calor intercambiado.
7
No se debe olvidar que el calor especfico est aproximado mediante una funcin, por lo que tambin tiene un error asociado, sin embargo,
este es mucho menor que el caso de considerar el calor especfico constante.
6

Ing. Juan E. Nez Mc Leod

Pgina 7 de 11

Universidad Tecnolgica Nacional

Asignatura: Fundamentos de Informtica

Facultad Regional Mendoza

Unidad Temtica 9

Departamento de Ingeniera Qumica

Ttulo: Interpolacin

= 25115.91 HI/
Se observa que se comete un error por defecto del 1.77 %.
El problema de hacer un clculo preciso se ve simplificado debido a la existencia de una expresin matemtica
que vincula el calor especfico con la temperatura. Sin embargo, en muchas ocasiones no se dispone de dicha
funcin, sino de tablas con los valores a distintas temperaturas; as por ejemplo, se podra tener una tabla como
la indicada a continuacin:
T [K]
273.15000
328.70556
384.26111
439.81667
495.37222
550.92778
606.48333
662.03889
717.59444
773.15000

Cp [kJ/kg K]
13.952896
14.325213
14.556425
14.679335
14.723437
14.714916
14.676646
14.628193
14.585813
14.562453

En estos casos, para obtener un resultado con la mejor precisin posible, se debe recurrir a una integracin
numrica, pero para asegurar la evaluacin de la funcin en las distintas temperaturas exigidas por el mtodo de
integracin, es necesario incorporar un mtodo de interpolacin.
La funcin principal que realiza el clculo del calor necesario para la transformacin se transcribe a continuacin:
// Integracin de una tabla de datos mediante interpolacin
// Esta funcin determina el calor sensible necesario para modificar
// la temperatura de un fluido.
// Los datos del calor especfico estn dados mediante una tabla.
//
// Mtodos numricos utilizados
// Integracin: Trapecio
// Interpolacin: Lagrange
//
// Datos de entrada
// w: Caudal del fluido, kg/s
// Ti: Temperatura inicial del fluido, K
// Tf: Temperatura final del fluido, K
// M: Subdivisiones para calcular la integral
// colX: vector columna con las temperaturas, K
// colY: vector columna con los calores especficos, kJ/kg K
//
// Datos de salida
// Q: Calor sensible necesario para el proceso, kJ/s
// er: Cdigo de error
//
107: Los vectores colX y colY no tienen la misma cantidad de datos
//
108: Hay menos de cinco datos en la tabla
//
109: Los valores de Ti y/o Tf estn fuera de la table
//
function [Q, er]=calor(w,Ti,Tf,M,colX,colY)
// Inicializacin de variables
er=0
Q=0
nX=size(colX,'r')
nY=size(colY,'r')
// Verificacin de errores
if nX<>nY then
er=107

Ing. Juan E. Nez Mc Leod

Pgina 8 de 11

Universidad Tecnolgica Nacional

Asignatura: Fundamentos de Informtica

Facultad Regional Mendoza

Unidad Temtica 9

Departamento de Ingeniera Qumica

Ttulo: Interpolacin

return
end
if nX<5 then
er=108
return
end
if Ti<colX(1) | Tf>colX(nX) then
er=109
return
end
// Clculo de la integral
h=(Tf-Ti)/M
suma=0
for k=0:M-1
Tk= Ti+k*h
suma=suma+Cp(colX,colY,Tk)
end
I=h/2*(Cp(colX,colY,Ti)+Cp(colX,colY,Tf))+h*suma
Q=w*I
endfunction

El anlisis de esta funcin muestra que el mtodo de integracin es el del trapecio, y en la parte donde se evala
la funcin se encuentra una instruccin del tipo:
Cp(colX,colY,Ti)

Que no es otra cosa que la funcin de interpolacin, a la cual se le pasan los valores de la tabla de datos, en los
vectores columna colX y colY, y el valor de la temperatura a la cual se desea conocer el calor especfico,
representado por la variable Ti en este caso.
La funcin Cp se transcribe a continuacin, en la cual se observa que en primer lugar se busca la temperatura en
el vector colX, mediante la funcin buscaX. Ubicada la fila de la misma, se extraen cinco filas de la tabla de
datos, centradas en la temperatura a la cual se desea conocer el calor especfico. Esta informacin es pasada a
la funcin de interpolacin denominada lagrange, con la que se obtiene el calor especfico buscado.
// Funcin de interpolacin de calores especficos
//
// Esta funcin no incluye control de errores, ya que los mismos
// fueron controlados por la funcin 'calor'
//
// Variables de entrada
// colX: vector columna con las temperaturas, K
// colY: vector columna con los calores especficos, kJ/kg K
// T: Temperatura a la cual se desea conocer el calor especfico, K
//
// Variables de salida
// y: Calor especfico interpolado a la temperatura T, kJ/kg K
function [y]=Cp(colX, colY, T)
// Inicializacin de variables
n=size(colX,'r')
// Bsqueda de la temperatura deseada
[k]=buscaX(colX,T)
// Definicin de las filas inicial y final para interpolar
kini=k-2
if kini<1 then
kini=1
end
kfin=kini+4
if kfin>n then
kfin=n

Ing. Juan E. Nez Mc Leod

Pgina 9 de 11

Universidad Tecnolgica Nacional

Asignatura: Fundamentos de Informtica

Facultad Regional Mendoza

Unidad Temtica 9

Departamento de Ingeniera Qumica

Ttulo: Interpolacin

kini=kfin-4
end
// Interpolacin
X1=colX(kini:kfin)
Y1=colY(kini:kfin)
y=lagrange(X1,Y1,T)
endfunction

La funcin de bsqueda buscaX se transcribe a continuacin. Para su anlisis se debe tener en cuenta que la
gestin de errores se realiz previamente en la funcin calor, por lo que no es necesario controlar los
argumentos. Esta funcin devuelve como resultado el valor de la fila en la que se encuentra la primera
temperatura que es mayor o igual a la buscada. Se debe tener en cuenta que el vector columna colX debe estar
ordenado de menor a mayor.
// Funcin de bsqueda de temperaturas
//
// Esta funcin busca la primera columna que contiene
// una temperatura mayor o igual a la indicada como argumento
//
// Variables de entrada
// colX: vector columna con las temperaturas conocidas, K
// T: temperatura a buscar, K
//
// Variables de salida
// i: fila en la que se encuentra una temperatura mayor o igual a la buscada
function [i]=buscaX(colX, T)
i=1
while T>colX(i)
i=i+1
end
endfunction

Finalmente se transcribe la funcin de interpolacin, en la cual se ha obviado la gestin de errores, ya que como
se mencion anteriormente, la misma se hizo con anterioridad en la funcin calor.
// Funcin de interpolacin de Lagrange
//
// Variables de entrada
// xi: vector columna con las temperaturas, K
// yi: vector columna con los calores especficos, kJ/kg K
// T: temperatura a la que se desea interpolar el calor especfico, K
//
// Variables de salida
// y: calor especfico interpolado a la temperatura T, kJ/kg K
function [y]=lagrange(xi, yi, T)
// Inicializacin de variables
n=size(xi,"r")
y=0
// Interpolacin
for i=1:n
fact=1
for j=1:n
if j<>i then
fact=fact*(T-xi(j))/(xi(i)-xi(j))
end
end
y=y+yi(i)*fact
end
endfunction

Ing. Juan E. Nez Mc Leod

Pgina 10 de 11

Universidad Tecnolgica Nacional

Asignatura: Fundamentos de Informtica

Facultad Regional Mendoza

Unidad Temtica 9

Departamento de Ingeniera Qumica

Ttulo: Interpolacin

Para verificar la precisin de clculo de las funciones dadas, se resolver el problema planteado anteriormente.
Teniendo en cuenta que el mtodo del trapecio es de segundo orden, se adoptar un valor de M=100. Adems se
supondr que en los vectores columna T y CpH est la informacin dada en la tabla de calores especficos del
hidrgeno, anteriormente mencionada. El resultado obtenido es el que se observa a continuacin:
-->[Q,er]=calor(4,293.15,723.15,100,T,CpH)
er =

0.
=
25358.459

Este valor tiene un error relativo del 0.97 % en exceso respecto del valor exacto. Considerando M=500, se
obtiene el siguiente resultado:
-->[Q,er]=calor(4,293.15,723.15,500,T,CpH)
er =

0.
=
25164.414

Con un error relativo del 0.19 % en exceso. Considerando M=1000, se obtiene el siguiente resultado:
-->[Q,er]=calor(4,293.15,723.15,1000,T,CpH)
er =

0.
=
25140.155

Con un error relativo del 0.1 % en exceso.


Se puede concluir que un mtodo de interpolacin puede mejorar notablemente la precisin de los resultados
obtenidos, cuando la informacin de base se encuentra tabulada.

Ing. Juan E. Nez Mc Leod

Pgina 11 de 11

También podría gustarte