ACERTIJO DE LA BANDERA OLÍMPICA CON ECUACIONES DE LA CIRCUNFERENCIA. Por JAVI...
Tutorial de GNUPlot
1. An´lisis gr´fico y ajuste de curvas con GNUPlot
a a
Marcelo Videa
26 de febrero de 2013
Para el an´lisis de los datos obtenidos en un experimento cin´tico recurriremos al an´lisis
a e a
gr´fico, tanto para establecer una hip´tesis sobre el esquema de la reacci´n como para extraer
a o o
los par´metros cin´ticos que la describen. Para este prop´sito GNUPlot es un programa es un
a e o
programa graficador de distribuci´n libre y puede obtenerse de la p´gina www.gnuplot.info.
o a
Graficando datos
Como ejemplo analizaremos los datos de tres experimentos de cin´tica qu´
e ı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 continuaci´n para generar el
o
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 *
2. 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 concentraci´n de A en los tres experimentos.
o
Antes de graficar los datos, es conveniente establecer la terminal que se utilizar´. Esto
a
es, c´mo se representar´n los datos. La terminal windows es una de las m´s flexibles. Para
o a a
seleccionarla se utiliza el comando set terminal como se muestra a continuaci´n:
o
gnuplot> set terminal windows enhanced "Arial, 14"
Luego, es conveniente seleccionar el directorio donde se encuentran los archivos con los datos
que se graficar´n. Esto se logra seleccionando Change Directory en la opci´n File del men´.
a o u
o escribiendo el comando cd seguido de la ruta del directorio entre comillas:
gnuplot> cd ‘C:cursoscinetica’
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 autom´ticamente al rango de los
a
2
3. datos. Para a˜adir los t´
n ıtulos de los ejes se usan los comandos X Label y Y Label en la opci´n
o
del men´ Axes.
u
La gr´fica que obtenemos claramente muestra una curvatura en sus datos, lo que nos
a
permite descartar una cin´tica de orden 0.
e
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
4. que claramente confirma que la reacci´n es de orden 1.
o
Ajuste de datos
A continuaci´n, haremos el ajuste no-lineal de los datos para obtener el par´metro cin´tico
o a e
k. Como sabemos que la reacci´n es de orden 1, entonces el modelo que debe describir los
o
datos es
[A]t = [A]0 e−kt
Entonces debemos escribir una funci´n correspondiente a este modelo
o
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 iniciar´ una iteraci´n de ajuste de los valores de las variables hasta que se obtenga la
a o
mejor concordancia posible con los datos experimentales en funci´n de la minimizaci´n de
o o
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
5. de donde obtenemos que el valor de la constante de velocidad de reacci´n es k = 0.1474 ±
o
−1
0.0012 s .
Para inspeccionar el ajuste podemos graficar la funci´n f(x) resultante sobre los datos.
o
Para esto usamos el comando
gnuplot> replot f(x)
para obtener
5