1 votos

Gráfico de velocidad de reacción - Gas producido

Hice una reacción y medí el volumen de gas producido contra el tiempo. Necesito encontrar la constante de velocidad de la reacción.

Estoy tratando de trazar una gráfica de ln(vol de gas producido) contra el tiempo para que el gradiente sea igual a -k y así poder calcular la constante de velocidad k. Estoy usando la ecuación ln[A]t = -kt + ln[A]o

El problema es que no puedo trazar ln0. He cronometrado la reacción cada 5 minutos y el gas no se ha producido hasta que han pasado 15 minutos. Esto significa que el volumen de gas producido para los valores de tiempo 0, 5 y 10 minutos es 0cm^3, pero ln0 no existe.

¿Cómo puedo utilizar mis datos para crear un gráfico para calcular la constante de velocidad?

Mis resultados fueron:

Tiempo 0___5___10___15___20___25___30___35___40___45___50___55___60 ____(en minutos)

Vol _0___0___0_____5___10___18____22___28___36___44___51____60____70___(en ml producidos)

2voto

Akash Ramani Puntos 178

Creo que el primer trozo de gas producido probablemente se disolvió en el agua, por lo que no se vio durante un tiempo.

Puedes saltarte los tres "puntos" iniciales con volumen cero, y no vas a tener $\ln(0)$ que es lo que te está colgando. ¡Tenga en cuenta que usted hizo esto en su informe, y por qué!

Haz un ajuste lineal con los puntos restantes. La intersección y será $\ln \mathrm{[A]}_0$ y su pendiente será $-k$ . No encaja muy bien.

1voto

yura Puntos 121

El post de Fred Senese es un excelente punto de partida. Quería añadir que transformar los datos de esta manera es conceptualmente muy útil, pero distorsiona las estimaciones de los parámetros debido a la ponderación desigual de la incertidumbre de los puntos de datos.

La incertidumbre de sus puntos de datos "cero" no es probablemente despreciable. ¿Cómo se puede leer exactamente su aparato de medición de gases? ¿Con una precisión de 0,1 mL, o de 1 mL, o...? Digamos que fue 0,1 mL, entonces su punto de datos "cero" en mL es $0 \pm 0.1 \text{ mL}$ . Y su punto de datos de 70 mL es $70 \pm 0.1 \text{ mL}$ . Sin embargo, cuando se transforman los datos tomando el logaritmo, la incertidumbre de los datos se ve afectada de forma desigual. La incertidumbre de $\ln \left( 0 \pm 0.1 \text{ mL} \right)$ es aproximadamente $\ln{0.1} - \ln{0}$ que como estás descubriendo es infinito. La incertidumbre en el espacio logarítmico de su punto de datos de 70 mL es $\ln{70.1} - \ln{70}$ que es 0,0014. ¡Por lo tanto, aunque la incertidumbre en cada punto de datos era la "misma" antes de los logaritmos, digamos 0,1 mL, después de la transformación la incertidumbre es tan desigual como puede serlo (infinito frente a 0,0014)!

El ajuste no lineal directo puede ajustar los parámetros a los datos sin necesidad de transformaciones. A continuación se muestran algunos R para realizar el ajuste de sus datos. Debido a la cuestión relacionada con mi comentario, tuve que incluir un parámetro de desplazamiento. (Una ecuación exponencial tiende a un valor positivo a medida que t se acerca a cero, no a cero... a menos que haya un desplazamiento). Este método es probablemente exagerado para tu problema o curso en particular, pero quería incluirlo en caso de que sea útil para otros lectores de chem.se.

#read the data from the question into R and put it in a data frame
g <- as.numeric(str_split('_0___0___0_____5___10___18____22___28___36___44___51____60____70___', '_{1,5}')[[1]]); g <- g[!is.na(g)]
t <- as.numeric(str_split('0___5___10___15___20___25___30___35___40___45___50___55___60 ____', '___')[[1]]); t <- t[!is.na(t)]

dat <- data.frame(g = g, t = t)

# scale the data to avoid numeric problems taking the exponential of large numbers 
dat$g.scaled <- dat$g/max(dat$g)
dat$t.scaled <- dat$t/max(dat$t)

#compare to fitting result by neglecting first three zero points and taking logarithm
dat$ln.g[4:13] <- log(dat$g)
lm(formula = ln.g ~ t, data = dat)

# show data
dat
        g  t   g.scaled   t.scaled
1   0  0 0.00000000 0.00000000
2   0  5 0.00000000 0.08333333
3   0 10 0.00000000 0.16666667
4   5 15 0.07142857 0.25000000
5  10 20 0.14285714 0.33333333
6  18 25 0.25714286 0.41666667
7  22 30 0.31428571 0.50000000
8  28 35 0.40000000 0.58333333
9  36 40 0.51428571 0.66666667
10 44 45 0.62857143 0.75000000
11 51 50 0.72857143 0.83333333
12 60 55 0.85714286 0.91666667
13 70 60 1.00000000 1.00000000

#do direct nonlinear fitting
fit <- nls(g.scaled ~ A0*exp(k*t.scaled)+offset, 
           data = dat, start = list(A0 = 1, k = 1, offset = 1))

#do logspace fitting to linear equation by transformation and neglecting first three data points
dat$ln.g[4:13] <- log(dat$g[4:13])
logfit <- lm(ln.g ~ t, data = dat)

#compare predicted values from fit to real data
dat$pred.scaled <- predict(fit)
dat$pred <- dat$pred.scaled * max(g)
dat$logpred[4:13] <- exp(predict(logfit))
require(ggplot2)
ggplot(data = dat, aes(x = t)) + geom_point(aes(y = g)) + geom_line(aes(y=pred), color = 'blue') + geom_line(aes(y=logpred), color = 'red')

Plot produced by ggplot command

La curva azul es el ajuste no lineal directo y la curva roja es el ajuste lineal de los datos transformados logarítmicamente (eliminando los tres primeros puntos de datos).

La constante de velocidad obtenida es muy diferente en los dos casos. Para el ajuste no lineal directo, la constante de velocidad es $1.4 \text{ hr}^{-1}$ y para los datos transformados logarítmicamente con ajuste lineal, la constante de velocidad es $0.053 \text{ min}^{-1}$ o $3.2 \text{ hr}^{-1}$ ¡!

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X