Энергия активации третьего порядка реакции


У них в ответе выходит что энергия активации равна -13.8кдж , когда я решал у меня выходило -1.098 кдж , -2 кдж и т.д , как у них так вышло?

Давай прочекаем типичные ошибки в таких задачах:

  • не учел размерности
  • вытекает из первого, не так написал реакцию
  • ошибся в расчете или в формуле

Что-то мне подсказывает, что ты температуру не перевел в кельвины

3 лайка

Аа точно я забыл, спасибо что подсказали

1 лайк

Мне еще не понятно почему авторы взяли ответ как -13.8кдж , когда я сравнивал 1 таблицу с другими у меня выходило:
-14092дж
-13720дж
-14187.44дж
-13551.17дж
-14111дж
Но почему авторы взяли именно -13,8 кдж мне вот это интересно , можете объяснить?

Среднее значение взяли

вообще, в таких задачах с данными эксперимента (желательно, но не обязательно, если этого не просят в условии) нарисовать график. Уравнение Аррениуса гласит, что k=Ae-Ea/RT. Дальше, переводим его в линейный вид, для этого мы берем натуральный логарифм:
lnk = lnA - Ea/RT, где lnK - ордината. y, 1/T= абцисса, x. (в кельвинах!)
Далее, строим best fit line, находим градиент(в данном примере grad = -Ea/R). Точка пересечения с ординатой будет равно lnA. Дальнейшие расчеты для нахождения А и Ea просты :slight_smile:

5 лайков

Смотри, экспериментальные значения по разным причинам отличаются от реальных значений. Это и ошибка связанная с не учётом дополнительных влияний, и ошибка связанная с погрешностью измерений и т.д. Обычно берут и просто пользуются методом наименьших квадратов (ну ты если график в координатах 1/T, \ln k построишь, то будет прямая линия, а наклон это -E_a/R).


Как видишь, его немного то выше то ниже от прямой линии тянет.

Если же быть чуть более серьезным, то делают регрессионный анализ, основанный на теории вероятности. Например в этом случае, разумно будет предположить, что температура измерялась точно, а вот константа с некой погрешностью. т.е.

В идеале у нас должно быть (i просто счетчик точек замеров, для нашей задачи их шесть)

\begin{gathered} k_i(T)=Ae^{-\frac{E_a}{RT_i}} \end{gathered}

А по факту у нас наблюдается константа с какой-то погрешностью. Можно сделать волевое решение и предположить, что наблюдаем мы константу с некой погрешностью \varepsilon, погешность же мы возьмем как нормальное отклонение, которое не зависит ни от температуры, ни от константы, ни от других отклонений (короче будем вообще волевые и смелые, ну или я просто хочу, чтобы у меня хоть что-то решалось).

\begin{gathered} k_i=A\cdot exp\left({-\frac{E_a}{RT_i}}\right) +\varepsilon_i \end{gathered}

Т.е. реальные А и E_a мы не сможем узнать, но с какой-то вероятностью, что-то да узнаем.

Ну предположим, что мы каким-то образом (пока непонятным) найдем A и E_a, т.к. они будут отличаться от реальных, обозначу с шапочкой сверху.
Что обычно хочется? Либо чтобы параметры были такие, чтобы модель на этих параметрах могла воспроизводить наиболее вероятные k(T_i), либо чтобы мы как можно точнее могли получить значения параметров (в нашем случае мы хотим E_a). Ага, это реально разные вопросы, вот так вот…

Ну ладно, я хочу чтобы мой \hat E_a как можно меньше отличался от E_a, обозначу погрешность как-нибудь типа a

\begin{gathered} a=E_a-\hat E_a \end{gathered}

Это какая-то вероятностная величина, и я хочу, чтобы во-первых мат. ожидание для энергии активации было равно истинному значению, это равносильно условию, что среднее значение а это ноль E[a]=0, а во-вторых,чтобы отклонение расчета от реальности было минимально, E[(E_a-\hat E_a)^2] \rightarrow min

Как в этой задаче находят E_a? Ну берут логарифмы константы и 1/T, после чего МНК от этого безобразия берут. Это лучший путь? И да и нет.

\begin{gathered} \overline T = \begin{pmatrix} 1/T_1 \\ 1/T_2\\ \dots \\ 1/T_n \end{pmatrix} \\ \overline {\ln k} = \begin{pmatrix} \ln(k_1) \\ \ln(k_2)\\ \dots \\ \ln(k_n) \end{pmatrix} \\ \overline {\ln k}=\ln A -\frac{E_a}{R}\overline T \end{gathered}

Последнее в матричном виде это

\ \begin{pmatrix} \ln(k_1) \\ \ln(k_2)\\ \dots \\ \ln(k_n) \end{pmatrix} = \begin{pmatrix} 1&1/T_1 \\ 1&1/T_2\\ \dots&\dots \\ 1 &1/T_n \end{pmatrix} \times \begin{pmatrix} \ln A \\ -E_a/R \end{pmatrix}

Если переобозначить как

y=X \beta

то

\begin{gathered} \beta=\left(X^\mathsf{T} X \right)^{-1}X^\mathsf{T} y \end{gathered}

Выглядит страшно, но это просто МНК.
Проблема в том, что из-за логарифма, это плохой способ, и несет в себе лишнюю погрешность. Можно сделать круче.

Заметим, что

\begin{gathered} k_i=A\cdot exp\left({-\frac{E_a}{RT_i}}\right) +\varepsilon_i = A\cdot exp\left({-\frac{\hat E_a+a}{RT_i}}\right) +\varepsilon_i \end{gathered}

Можем ли логарифмировать обе части? Ну… т.к. отклонения мелкие, вполне можем заменить по Тейлору

\begin{gathered} \ln k_i = \ln \left( A\cdot exp\left({-\frac{ E_a}{RT_i}}\right) +\varepsilon_i \right) = \\ = \ln \left( A\cdot exp\left({-\frac{E_a}{RT_i}}\right) \left(1 +\frac{\varepsilon_i }{A\cdot exp\left({-\frac{E_a}{RT_i}}\right)}\right)\right) =\\ =\ln \left( A\cdot exp\left({-\frac{E_a}{RT_i}}\right)\right) +\ln \left(1 +\frac{\varepsilon_i }{A\cdot exp\left({-\frac{ E_a}{RT_i}}\right)}\right) \approx \\ \approx \ln A -\frac{E_a}{RT_i} + \frac{\varepsilon_i }{A\cdot exp\left({-\frac{ E_a}{RT_i}}\right)}= \ln A -\frac{E_a}{RT_i} + \frac{\varepsilon_i }{k_i} \end{gathered}

Это многое меняет, т.к. значениям с большим k можно больше доверять

\begin{gathered} \ln k_i = \ln A -\frac{E_a}{RT_i} + \frac{\varepsilon_i }{k_i}\\ \begin{pmatrix} \ln(k_1) \\ \ln(k_2)\\ \dots \\ \ln(k_n) \end{pmatrix} = \begin{pmatrix} 1&1/T_1 \\ 1&1/T_2\\ \dots&\dots \\ 1 &1/T_n \end{pmatrix} \times \begin{pmatrix} \ln A \\ -E_a/R \end{pmatrix} + \begin{pmatrix} \frac{\varepsilon_1 }{k_1} \\ \frac{\varepsilon_2 }{k_2}\\ \dots \\ \frac{\varepsilon_n }{k_n} \end{pmatrix} \\ y=X\beta+\epsilon\\ \end{gathered}

Нам нужно такое выражение для \hat E_a и \hat A, чтобы E[a^2] стало минимальным, если попросить, чтобы мат.ожидание величины R=\sum ((X\beta-y_i)k_i)^2 стала наименьшей \frac{\partial R}{\partial \beta_q}=0

\begin{gathered} R=\sum_i \left( \left( \sum_j X_{ij}\beta_j-y_i \right) k_i \right)^2 \\ \frac{\partial R}{\partial \beta_q}= \sum_i \frac{\partial \left( \left( \sum_j X_{ij}\beta_j-y_i \right) k_i \right)^2 }{\partial \beta_q} = \sum_i 2 k_i^2 \left( \sum_j X_{ij}\beta_j-y_i \right) \frac{\partial \left( \sum_j X_{ij}\beta_j-y_i \right)}{\partial \beta_q} = \\ =\sum_i 2 k_i^2 \left( \sum_j X_{ij}\beta_j-y_i \right) \left( \sum_j X_{ij} \frac{\partial \beta_j}{\partial \beta_q} \right) = \sum_i 2 k_i^2 \left( \sum_j X_{ij}\beta_j-y_i \right) \left( \sum_j X_{ij} \delta_{jq} \right)= \\ =\sum_i 2 k_i^2 \left( \sum_j X_{ij}\beta_j-y_i \right) X_{iq} = \sum_i 2 k_i^2 \left( \sum_j X_{ij}\beta_jX_{iq}-y_i X_{iq} \right)= \\ =\sum_i \sum_j 2 k_i^2 X_{ij}\beta_jX_{iq}- \sum_i 2 k_i^2 y_i X_{iq} =0 \end{gathered}

В соглашениях Эйнштейна этот вывод проще сделать, кстати

Спойлер
\begin{gathered} a_{p}=(X_{ij}\beta_j-y_i)\delta_{iqp}k_q\\ R=a_p a^p= (X_{ij}\beta_j-y_i)\delta_{iqp}k_q (X_{lm}\beta_m-y_l)\delta_{lrp}k_r=\\ = \delta_{iqlr}k_qk_r(X_{ij}X_{lm}\beta_m\beta_j -X_{ij}\beta_j y_l-X_{lm}\beta_my_i +y_i y_l)=\\ = \delta_{iqlr}k_qk_r(X_{ij}X_{lm}\beta_m\beta_j -X_{ij}\beta_j y_l-X_{lm}\beta_my_i +y_i y_l)\\ \frac{\partial R}{\partial \beta_v}=\delta_{iqlr}k_qk_r(X_{ij}X_{lm}\beta_m\delta_{jv}+ X_{ij}X_{lm}\beta_j\delta_{mv}-X_{lm}\delta_m y_i -X_{ij}\delta_j y_l)=\\ =\delta_{iqlr}k_qk_r( X_{iv}X_{lm}\beta_m+ X_{ij}X_{lv}\beta_j-X_{lv} y_i -X_{iv}y_l)=\\ =\delta_{iqlr}k_qk_r(X_{iv}X_{lm}\beta_m+ X_{ij}X_{lv}\beta_j-X_{lv} y_i -X_{iv}y_l)=\\ =\delta_{iqlr}k_qk_r( X_{iv}( X_{lm}\beta_{m}-y_{l})+ X_{lv}( X_{ij}\beta_{j}-y_{i}))= \\ = 2\delta_{iqlr}k_qk_r X_{iv}( X_{lm}\beta_{m}-y_{l}) \end{gathered}

В матричном виде найденное условие это

\begin{gathered} \left( \begin{pmatrix} k_1^2\\ k_2^2\\ \dots \\ k_n^2 \end{pmatrix}\circ \left(X\beta - y \right)\right)^\mathsf{T}X=0 \end{gathered}

Ну и решим относительно \beta

\begin{gathered} X^\mathsf{T}\left( k\circ k\circ \left(X\beta - y \right)\right)=0 \\ X^\mathsf{T} (k\circ k\circ X\beta ) = X^\mathsf{T}(k\circ k\circ y ) \\ (X^\mathsf{T} (X\circ ((k\circ k) \otimes e )\beta = X^\mathsf{T}(k\circ k\circ y ) \\ \hat \beta = ((X^\mathsf{T} (X\circ ((k\circ k) \otimes e ))^{-1} X^\mathsf{T}(k\circ k\circ y ) \end{gathered}

Если подставить сюда данные из задачи, то в случае обычного MHК выйдет -13818 Дж/моль
Если нашим новым способом, то -13940 Дж/моль

Но и тут есть проблема, мы же вроде не доверяем значениям k, но используем их. И на самом деле нужно воспользоваться нелинейной регрессией. Она делается итерациями, и я уже об этом не буду писать. В ссылке, которую оставил в самом начале об этом тоже есть

В программных пакетах есть уже готовые варианты для этого. Для нашей задачи оно выдает значение -13952 Дж/моль

Как-то так

11 лайков