You are on page 1of 11

Laboratorio # 2: “Métodos numéricos”, Termodinámica Química II

Laboratorio # 2: “Métodos numéricos”

Temas a desarrollar
 Interpolación de datos
 Derivación numérica
 Integración numérica

Base teórica
Muchos cálculos en termodinámica requieren del cálculo de coeficientes (derivadas),
integrales o interpolación de datos, por lo que se vuelve necesario programar dichas
técnicas numéricas a modo de reducir el tiempo que se ocupa en el cálculo y con eso
tener más tiempo disponible para el análisis de los procesos.

En este laboratorio se programaran tres técnicas numéricas que:

-Interpolación de Lagrange

-Derivación numérica

-Integración numérica.

Base práctica

Interpolación de Lagrange (por medio de Scilab)


Resolveremos el problema 1 de la Guía # 1

Ejemplo 1

Encontrar para los datos P-V la ecuación que mejor se ajuste a los puntos utilizando la
interpolación de Lagrange y evalúe el volumen a 305 psi.

P(psi) V(ft3/lbm)
290 1.7277
295 1.7485
300 1.7675
305 ¿?????
Laboratorio # 2: “Métodos numéricos”, Termodinámica Química II

Codificaremos un programa para poder ser utilizado en cualquier momento.


Primero debemos abrir un nuevo documento en blanco de SciNote

El programa será ejecutado como una funcion, que podrá ser llamada desde la
consola.

Iniciamos en programa con el comando clc, para garantizar que las variables que
utilizaremos no tengan ningún valor guardado y la consola quede limpia. Luego
escribimos el comando function. Note que al escribir el comando, se cambia su color
automáticamente a ocre, y a parece en una línea abajo, el comando endfuction. En el
lenguaje de programación de Scilab, se entiende que todo lo que este dentro de estos
dos comandos es la función en si, por lo que tenemos que tener el cuidado de redactar
el código solamente dentro de estos dos comandos.

En este caso, almacenaremos los resultados en una variable llamada in, y nombraremos
al archivo Lag que recibirá los parámetros (L,x), donde L será una matriz con datos a
evaluar y x el valor que queremos evaluar. La sintaxis debe ser de este modo

function in=Lag(L, x)

L debe de tener las dimensiones de la matriz de datos donde evaluaremos el valor de x,


por lo que le asignaremos ese tamaño con el comando size.

[m n]=size(L)

[m n] es el número de filas y columnas que se le asignara a la variable L. la variable in


será donde se irán acumulando los valores del polinomio de tal manera que se pueda
recibir más de un valor para evaluar, se le asigna el vector zeros que tendrá las
dimensiones de 1 con la longitud de x.

in= zeros(1,length(x))
Laboratorio # 2: “Métodos numéricos”, Termodinámica Química II

La evaluación de la funcion se inicializa con un ciclo for que se ejecutara desde 1


hasta tantos valores como tenga n.

En una variable producto acumularemos los productos de los datos que tendrá las
dimensiones un vector con longitudes x que tendrá inicialmente valores de 1.

producto=ones(1, length(x))

Recordando que el valor que se está evaluando no debe estar el numerador se ejecuta
el siguiente ciclo

En la fila 9 se inicia el cálculo con la ecuación de lagrange. Note que se utiliza la


operación .* para indicar que se quiere la operación por separado de cada valor de x
yL

Al concluir el calculo, saliendo del primer ciclo for, se acumula en la variable in los valores
de la suma de la evaluaion de los polinomios.

in = in + L(2,i)*producto

Ahora debemos guardar y compilar. Si el programa detecta algún error, este debe ser
corregido. El programa redactado es:
Laboratorio # 2: “Métodos numéricos”, Termodinámica Química II

Para resolver el problema en la consola escribimos los valores de P y V en una matriz de


nombre A

A=[290 295 300; 1.7277 1.7485 1.7676]

A =

290. 295. 300.

1.7277 1.7485 1.7676

Para que la función se ejecute, debemos de llamarla por el nombre que le asignamos,
Lag y evaluarlos en el valor que deseamos. Por ejemplo, para verificar que funciones de
manera correcta, se escribe en la consola Lag(A,290) debe de devolver el valor de la
imagen de 290, es decir 1. 7277, asi:
Laboratorio # 2: “Métodos numéricos”, Termodinámica Química II

Para resolver el problema hacemos:

Derivación numérica

Ejercicio 5 Guía # 1
 T 
Para los siguientes datos calcule   usando la fórmula para cinco datos con el
 V  S
método de diferenciación numérica visto en discusión, si V=2.2 ft3/lb T=185 °R y S=1.3
Btu/lb R

Use h=0.0005.
Laboratorio # 2: “Métodos numéricos”, Termodinámica Química II

A S=1.3 Btu/lb R
V ft3/lb T °R
2.461 165.2
2.339 174.4
2.229 183
2.2010 184.9310
2.2005 184.9655
2.2000 185
2.1995 185.046
2.1990 185.093
2.132 191.3
2.043 199.2
1.960 206.2

Como sucede en el caso anterior es necesario encontrar el valor de la pendiente de la


recta tangente en el punto indicado que corresponde al coeficiente   T 
 V  S .

Pero como a menudo suele suceder solo de disponer de un set de datos


termodinámicos, y no de una expresión analítica que relacione las variables en juego.
Para eso debe de recurrirse a una solución numérica de la derivada antes mencionada.

Puede aplicarse el método de diferenciación numérica de Cinco Puntos para


espaciamientos iguales entre los valores correspondientes a la variable independiente.

La fórmula que correspondiente es la siguiente:

Para este problema, en base a los datos proporcionados, h=.0005. Se puede dar
solución a este problema a través de un sencillo programa creado en Scilab. Se accesa
a SciNote para la creación del código correspondiente.
Laboratorio # 2: “Métodos numéricos”, Termodinámica Química II
Laboratorio # 2: “Métodos numéricos”, Termodinámica Química II

Al ejecutar el programa por el usuario el resultado el desarrollo de este se muestra


a continuación

Obteniendo de esta forma el valor correspondiente del coeficiente termodinámico


deseado.

 T 
 
  V  S = -80.3333333 °R*lb/ft^3

Integración numérica

Como se mencionó anteriormente cuando se dispone de un set datos y se requiere la


evaluación de una integral que tenga un determinado significado termodinámico, en
la mayoría de casos resulta menos complicado la utilización de métodos numéricos para
tal fin .

Es posible utilizar la regla del trapecio la cual se define como

h * ( f ( xo )  2 * ( f ( xi ))  f ( xn ))
I 
2

b  a
Dónde: h  Siendo a y b el límite superior e inferior de los datos
n
disponibles para la variable independiente. La estimación numérica de una
Laboratorio # 2: “Métodos numéricos”, Termodinámica Química II

integral resulta en la aplicación de la formula anterior; la cual puede


resolverse fácilmente. Pero puede ser más práctico el resolver a través de un
programa en computadora, sobre todo cuando la cantidad de datos a manejar
es muy grande y puede volver engorroso el cálculo.

El programa desarrollado es el siguiente:

Este sencillo programa creado en Scilab se aplica a la solución del problema siguiente:

Ejemplo 3

Tomando los siguientes datos:

T (°F) S(Btu/lbm R)
114.8 051.2466
141.55 1.2505
180.3 1.2935
185 1.3000

Encuentre la integral ∫TdS usando como parte de la comprobación de otra propiedad


termodinámica. Use el método del trapecio.

Ejecutando el programa se tiene


Laboratorio # 2: “Métodos numéricos”, Termodinámica Química II

∫TdS=66.993615 BTU/lbm.

Ejercicios

Ejercicio 1 (Interpolación)
Resuelva el problema 2 de la guía # 1 y complete la siguiente tabla.

P(psi) V(ft3/lbm)
250 0.0310
500 0.0307
1000 0.0301
1500 0.0297
1750
2000
2250
Laboratorio # 2: “Métodos numéricos”, Termodinámica Química II

Ejercicio 2 (Derivación)
 P 
Para el siguiente conjunto de datos, obtenga la derivada   cuando S=1.30
 S V
Btu/lb°R, P=173 psi y el volumen es constante de 2.2 ft^3 . Considere un h=0.0005.
1. A V=2.2 ft3/lb

S Btu/lbR P (psi)
1.2466 150
1.2705 160
1.2935 170
1.3000 173
1.3154 180
1.3368 190
1.3575 200

Desarrolle un programa de diferenciación numérica y reporte el valor de la


derivada a P=173 psi:
 P 
  = _______________
 S V

You might also like