Upload
marcelo-videa
View
760
Download
2
Embed Size (px)
Citation preview
Analisis grafico y ajuste de curvas con GNUPlot
Marcelo Videa
26 de febrero de 2013
Para el analisis de los datos obtenidos en un experimento cinetico recurriremos al analisis
grafico, tanto para establecer una hipotesis sobre el esquema de la reaccion como para extraer
los parametros cineticos que la describen. Para este proposito GNUPlot es un programa es un
programa graficador de distribucion libre y puede obtenerse de la pagina www.gnuplot.info.
Graficando datos
Como ejemplo analizaremos los datos de tres experimentos de cinetica quımica en los que
se han utilizado tres concentraciones iniciales del reactivo A. Estos datos se encuentrar en el
archivo iniciales.txt. El contenido de este archivo se reproduce a continuacion para generar el
archivo .txt correspondiente.
#tiempo/s A/mM
0 0.15 0.10 0.06
0.5 0.139875 0.09325 *
1 0.130433438 0.086955625 0.052173375
2 0.112824923 0.075216616 0.045129969
3 0.097593559 * 0.039037424
4 0.084418428 0.056278952 0.033767371
5 0.073021941 0.048681294 0.029208776
6 0.063163979 0.042109319 0.025265591
8 0.046109704 0.030739803 0.018443882
10 * 0.022440056 0.013464034
12 0.024571861 0.016381241 0.009828745
14 0.017937459 0.011958306 0.007174984
16 0.013094345 0.008729563 *
En GNUPlot el sımbolo # se utiliza para introducir comentarios. En este caso, el tıtulo
y unidades de las columnas. Adicionalmente, si los datos comparten valores de el eje de
ordenadas, aquellos valores faltantes en los datos de las abscisas deben llevar el sımbolo *.
Las columnas de este archivo se enumeran empezando por 1. De esta manera, las columnas
2, 3 y 4 contienen los datos de concentracion de A en los tres experimentos.
Antes de graficar los datos, es conveniente establecer la terminal que se utilizara. Esto
es, como se representaran los datos. La terminal windows es una de las mas flexibles. Para
seleccionarla se utiliza el comando set terminal como se muestra a continuacion:
gnuplot> set terminal windows enhanced "Arial, 14"
Luego, es conveniente seleccionar el directorio donde se encuentran los archivos con los datos
que se graficaran. Esto se logra seleccionando Change Directory en la opcion File del menu.
o escribiendo el comando cd seguido de la ruta del directorio entre comillas:
gnuplot> cd ‘C:\cursos\cinetica’
Para graficar los resultados del primer experimento escribimos
gnuplot> plot ‘iniciales.txt’ using 1:2 title ‘[A]_0=0.15 mM’
La ventana gnuplot graph se abre de manera independiente para mostrar el resultado del
comando anterior. La escala de los ejes x y y se ajustan automaticamente al rango de los
2
datos. Para anadir los tıtulos de los ejes se usan los comandos X Label y Y Label en la opcion
del menu Axes.
La grafica que obtenemos claramente muestra una curvatura en sus datos, lo que nos
permite descartar una cinetica de orden 0.
Para linearizar los datos podemos regraficar los datos operando sobre la columna 2. Pa-
ra inspeccionar para orden 1 necesitamos el logaritmo de las concentraciones. Escribimos
entonces:
gnuplot> plot ‘iniciales.txt’ using 1:(log($2)) title ‘ln [A]’
para obtener
3
que claramente confirma que la reaccion es de orden 1.
Ajuste de datos
A continuacion, haremos el ajuste no-lineal de los datos para obtener el parametro cinetico
k. Como sabemos que la reaccion es de orden 1, entonces el modelo que debe describir los
datos es
[A]t = [A]0e−kt
Entonces debemos escribir una funcion correspondiente a este modelo
gnuplot> f(x) = a0*exp(-k*x)
donde a0 y k son las variables de ajuste y debemos asignarles valores iniciales:
gnuplot> a0 = 0.15
gnuplot> k = 0.10
y luego escribir el comando
gnuplot> fit f(x) ‘iniciales.txt’ using 1:2 via a0,k
lo que iniciara una iteracion de ajuste de los valores de las variables hasta que se obtenga la
mejor concordancia posible con los datos experimentales en funcion de la minimizacion de
los cuadrados de los residuales. Obtendremos el siguiente reporte del ajuste:
After 7 iterations the fit converged.
final sum of squares of residuals : 7.75805e-006
rel. change during last iteration : -6.20433e-008
degrees of freedom (FIT_NDF) : 10
rms of residuals (FIT_STDFIT) = sqrt(WSSR/ndf) : 0.000880798
variance of residuals (reduced chisquare) = WSSR/ndf : 7.75805e-007
Final set of parameters Asymptotic Standard Error
======================= ==========================
a0 = 0.150982 +/- 0.0005422 (0.3591%)
k = 0.147428 +/- 0.001205 (0.8177%)
4
de donde obtenemos que el valor de la constante de velocidad de reaccion es k = 0.1474 ±0.0012 s−1.
Para inspeccionar el ajuste podemos graficar la funcion f(x) resultante sobre los datos.
Para esto usamos el comando
gnuplot> replot f(x)
para obtener
5