{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Kinetics V\n", "\n", "This lecture covers multiple linear regression; estimation of multiple parameters using nonlinear regression; and the analysis of data obtained in integral tubular reactors (plug flow or packed bed reactors). " ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "import scipy.optimize as opt\n", "import scipy.stats as stats\n", "from math import ceil" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example Problem 01 (Continuation from Kinetics IV)\n", "\n", "We next consider a data set where not much has been done systematically. Someone decided to perform a \"kinetic study\" of the following reaction in a CSTR.\n", "\n", "$$A + 2B \\longrightarrow 3C$$\n", "\n", "We propose that the rate of reaction depends on concentrations of A and B in some power law model:\n", "\n", "$$r = kC_A^\\alpha C_B^\\beta$$\n", "\n", "We want to estimate $k$, $\\alpha$, and $\\beta$. Our conventional wisdom is that, to determine a parameter, you need to vary the quantity influenced that parameter while holding everything else constant. For example, if you wanted to know $\\alpha$, the most straightforward experiment would be one that measures $r$ for various values of $C_A$ while holding $C_B$ constant. This would allow you to isolate the impact of $C_A$ on reaction rate and therefore estimate $\\alpha$. \n", "\n", "Here our experimentalist made some interesting choices in how they ran the experiment. They varied space time (by varying feed flowrate), and they also seem to have been randomly changing the feed concentrations of both A and B with every change in residence time. We'd love to get an estimate for k, $\\alpha$, and $\\beta$, but it isn't quite clear how we would do that based on the data available.\n", "\n", "The data are in an attached CSV file. \n", "\n", "### Importing into a dataframe with pandas\n", "\n", "The code in the cell below will import the data as a dataframe, which has the display characteristics of a table or spreadsheet; we are doing this just to see the data that we hav eon hand: it includes residence times ($\\tau$); feed concentrations of A, B, and C ($C_{Af}$ and $C_{Bf}$); and fractional conversion of A measured at at the reactor exit." ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
tau (min)Caf (mol/L)CBf (mol/L)CCf (mol/L)XACA (mol/L)CB (mol/L)CC (mol/L)
034.8770.401.550.00.8940.0420.8241.077
10.1030.832.380.00.1410.7272.2090.366
20.6460.271.000.00.1580.2180.9230.118
30.9230.682.160.00.4390.3921.5070.846
40.2170.390.940.00.0570.3620.8060.061
58.6530.681.560.00.6130.2460.7531.371
636191.1270.060.130.00.8810.0070.0250.170
70.7740.401.420.00.2780.2961.1250.363
8423.8250.100.340.00.8200.0180.1880.254
98.6830.220.850.00.5330.0980.6050.366
1031.4990.621.300.00.6870.1990.4951.217
113.8660.922.290.00.6310.3381.1561.875
121.6650.903.420.00.7220.2542.0921.862
130.1580.451.530.00.1020.4091.5090.134
1432.5850.080.280.00.3590.0490.2240.085
150.4050.451.370.00.1720.3781.2210.225
160.0080.872.760.00.0210.8312.7320.057
17192.9990.080.270.00.6490.0300.1650.154
181.7860.170.570.00.1440.1500.5340.073
1914.8780.741.890.00.7550.1820.7981.662
2016.2540.321.120.00.7130.0880.6730.721
21457.3880.711.500.00.8940.0750.2471.858
222.0800.871.970.00.4810.4541.0721.247
230.2920.862.560.00.2980.5752.0090.782
\n", "
" ], "text/plain": [ " tau (min) Caf (mol/L) CBf (mol/L) CCf (mol/L) XA CA (mol/L) \\\n", "0 34.877 0.40 1.55 0.0 0.894 0.042 \n", "1 0.103 0.83 2.38 0.0 0.141 0.727 \n", "2 0.646 0.27 1.00 0.0 0.158 0.218 \n", "3 0.923 0.68 2.16 0.0 0.439 0.392 \n", "4 0.217 0.39 0.94 0.0 0.057 0.362 \n", "5 8.653 0.68 1.56 0.0 0.613 0.246 \n", "6 36191.127 0.06 0.13 0.0 0.881 0.007 \n", "7 0.774 0.40 1.42 0.0 0.278 0.296 \n", "8 423.825 0.10 0.34 0.0 0.820 0.018 \n", "9 8.683 0.22 0.85 0.0 0.533 0.098 \n", "10 31.499 0.62 1.30 0.0 0.687 0.199 \n", "11 3.866 0.92 2.29 0.0 0.631 0.338 \n", "12 1.665 0.90 3.42 0.0 0.722 0.254 \n", "13 0.158 0.45 1.53 0.0 0.102 0.409 \n", "14 32.585 0.08 0.28 0.0 0.359 0.049 \n", "15 0.405 0.45 1.37 0.0 0.172 0.378 \n", "16 0.008 0.87 2.76 0.0 0.021 0.831 \n", "17 192.999 0.08 0.27 0.0 0.649 0.030 \n", "18 1.786 0.17 0.57 0.0 0.144 0.150 \n", "19 14.878 0.74 1.89 0.0 0.755 0.182 \n", "20 16.254 0.32 1.12 0.0 0.713 0.088 \n", "21 457.388 0.71 1.50 0.0 0.894 0.075 \n", "22 2.080 0.87 1.97 0.0 0.481 0.454 \n", "23 0.292 0.86 2.56 0.0 0.298 0.575 \n", "\n", " CB (mol/L) CC (mol/L) \n", "0 0.824 1.077 \n", "1 2.209 0.366 \n", "2 0.923 0.118 \n", "3 1.507 0.846 \n", "4 0.806 0.061 \n", "5 0.753 1.371 \n", "6 0.025 0.170 \n", "7 1.125 0.363 \n", "8 0.188 0.254 \n", "9 0.605 0.366 \n", "10 0.495 1.217 \n", "11 1.156 1.875 \n", "12 2.092 1.862 \n", "13 1.509 0.134 \n", "14 0.224 0.085 \n", "15 1.221 0.225 \n", "16 2.732 0.057 \n", "17 0.165 0.154 \n", "18 0.534 0.073 \n", "19 0.798 1.662 \n", "20 0.673 0.721 \n", "21 0.247 1.858 \n", "22 1.072 1.247 \n", "23 2.009 0.782 " ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import pandas as pd\n", "dataframe = pd.read_csv(\"CSTRDATA32.csv\")\n", "dataframe" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Importing data as a numpy array\n", "\n", "The cell below uses Python's csv reader to parse the input file (CSTRdata.csv). It stores the information in an array called \"data\"." ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [], "source": [ "import csv\n", "labels = ['r (mol/L/min)']\n", "file = open(\"CSTRDATA32.csv\")\n", "csvreader = csv.reader(file)\n", "header = []\n", "header = next(csvreader)\n", "for value in labels:\n", " header.append(value)\n", "rows = []\n", "for row in csvreader:\n", " rows.append(row)\n", "file.close()\n", "data = np.array(rows, dtype = 'float')" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [], "source": [ "taudata = data[:, 0]\n", "CAfdata = data[:, 1]\n", "CBfdata = data[:, 2]\n", "CCfdata = data[:, 3]\n", "XAdata = data[:, 4]\n", "CAdata = data[:, 5]\n", "CBdata = data[:, 6]\n", "CCdata = data[:, 7]" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
tau (min)Caf (mol/L)CBf (mol/L)CCf (mol/L)XACA (mol/L)CB (mol/L)CC (mol/L)r (mol/L/min)
034.8770.401.550.00.8940.0420.8241.0770.010293
10.1030.832.380.00.1410.7272.2090.3661.184466
20.6460.271.000.00.1580.2180.9230.1180.060888
30.9230.682.160.00.4390.3921.5070.8460.305525
40.2170.390.940.00.0570.3620.8060.0610.093702
58.6530.681.560.00.6130.2460.7531.3710.052814
636191.1270.060.130.00.8810.0070.0250.1700.000002
70.7740.401.420.00.2780.2961.1250.3630.156331
8423.8250.100.340.00.8200.0180.1880.2540.000200
98.6830.220.850.00.5330.0980.6050.3660.014050
1031.4990.621.300.00.6870.1990.4951.2170.012879
113.8660.922.290.00.6310.3381.1561.8750.161666
121.6650.903.420.00.7220.2542.0921.8620.372773
130.1580.451.530.00.1020.4091.5090.1340.282700
1432.5850.080.280.00.3590.0490.2240.0850.000870
150.4050.451.370.00.1720.3781.2210.2250.185185
160.0080.872.760.00.0210.8312.7320.0572.375000
17192.9990.080.270.00.6490.0300.1650.1540.000266
181.7860.170.570.00.1440.1500.5340.0730.013624
1914.8780.741.890.00.7550.1820.7981.6620.037236
2016.2540.321.120.00.7130.0880.6730.7210.014786
21457.3880.711.500.00.8940.0750.2471.8580.001354
222.0800.871.970.00.4810.4541.0721.2470.199840
230.2920.862.560.00.2980.5752.0090.7820.892694
\n", "
" ], "text/plain": [ " tau (min) Caf (mol/L) CBf (mol/L) CCf (mol/L) XA CA (mol/L) \\\n", "0 34.877 0.40 1.55 0.0 0.894 0.042 \n", "1 0.103 0.83 2.38 0.0 0.141 0.727 \n", "2 0.646 0.27 1.00 0.0 0.158 0.218 \n", "3 0.923 0.68 2.16 0.0 0.439 0.392 \n", "4 0.217 0.39 0.94 0.0 0.057 0.362 \n", "5 8.653 0.68 1.56 0.0 0.613 0.246 \n", "6 36191.127 0.06 0.13 0.0 0.881 0.007 \n", "7 0.774 0.40 1.42 0.0 0.278 0.296 \n", "8 423.825 0.10 0.34 0.0 0.820 0.018 \n", "9 8.683 0.22 0.85 0.0 0.533 0.098 \n", "10 31.499 0.62 1.30 0.0 0.687 0.199 \n", "11 3.866 0.92 2.29 0.0 0.631 0.338 \n", "12 1.665 0.90 3.42 0.0 0.722 0.254 \n", "13 0.158 0.45 1.53 0.0 0.102 0.409 \n", "14 32.585 0.08 0.28 0.0 0.359 0.049 \n", "15 0.405 0.45 1.37 0.0 0.172 0.378 \n", "16 0.008 0.87 2.76 0.0 0.021 0.831 \n", "17 192.999 0.08 0.27 0.0 0.649 0.030 \n", "18 1.786 0.17 0.57 0.0 0.144 0.150 \n", "19 14.878 0.74 1.89 0.0 0.755 0.182 \n", "20 16.254 0.32 1.12 0.0 0.713 0.088 \n", "21 457.388 0.71 1.50 0.0 0.894 0.075 \n", "22 2.080 0.87 1.97 0.0 0.481 0.454 \n", "23 0.292 0.86 2.56 0.0 0.298 0.575 \n", "\n", " CB (mol/L) CC (mol/L) r (mol/L/min) \n", "0 0.824 1.077 0.010293 \n", "1 2.209 0.366 1.184466 \n", "2 0.923 0.118 0.060888 \n", "3 1.507 0.846 0.305525 \n", "4 0.806 0.061 0.093702 \n", "5 0.753 1.371 0.052814 \n", "6 0.025 0.170 0.000002 \n", "7 1.125 0.363 0.156331 \n", "8 0.188 0.254 0.000200 \n", "9 0.605 0.366 0.014050 \n", "10 0.495 1.217 0.012879 \n", "11 1.156 1.875 0.161666 \n", "12 2.092 1.862 0.372773 \n", "13 1.509 0.134 0.282700 \n", "14 0.224 0.085 0.000870 \n", "15 1.221 0.225 0.185185 \n", "16 2.732 0.057 2.375000 \n", "17 0.165 0.154 0.000266 \n", "18 0.534 0.073 0.013624 \n", "19 0.798 1.662 0.037236 \n", "20 0.673 0.721 0.014786 \n", "21 0.247 1.858 0.001354 \n", "22 1.072 1.247 0.199840 \n", "23 2.009 0.782 0.892694 " ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" } ], "source": [ "rdata = CCdata/3/taudata\n", "data_all = np.hstack([data, rdata.reshape(len(rdata), 1)])\n", "data_all\n", "dataframe = pd.DataFrame(data_all, columns = header)\n", "dataframe" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Multiple Linear Regression\n", "\n", "We can linearize this problem. We have a set of rates measured at a set of exit concentrations for A, B, and C. We know that the rate of reaction should be given by a power law:\n", "\n", "$$r = k{C_A}^\\alpha {C_B}^\\beta$$\n", "\n", "This can be linearized as usual by taking logarithms of both sides to give:\n", "\n", "$$\\ln(r) = \\ln(k) + \\alpha \\ln(C_A) + \\beta \\ln(C_B)$$\n", "\n", "Putting this into matrix form, we would have:\n", "\n", "$$XA = Y$$\n", "\n", "Where\n", "\n", "X is a vandermonde type matrix in which each row is:\n", "\n", "$$X[i,:] = \\begin{bmatrix} \\ln(C_A)_i & \\ln(C_B)_i & 1 \\end{bmatrix}$$ \n", "\n", "Where\n", "\n", "$$A = \\begin{bmatrix} \\alpha \\\\ \\beta \\\\ \\ln{k} \\end{bmatrix}$$\n", "\n", "And where Y is a vector of our measurements, in this case, ln(r), so each entry is given by:\n", "\n", "$$Y[i] = \\ln(r)_i$$\n", "\n", "With those definitions, we can perform linear regression as usual. Below, I create the X matrix manually because I don't know offhand of an automated way to generate the X matrix for multiple linear regression. Once that is done, you solve the least squares problem as usual:\n", "\n", "$$\\hat{A} = (X^\\prime X)^{-1}X^\\prime Y$$" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[ 0.99269111 2.02878695 -1.06409078] \n", "\n", "R2 = 0.999\n", "α = 0.993 plus/minus 0.096\n", "β = 2.029 plus/minus 0.111\n", "ln(k) = -1.064 plus/minus 0.1459\n", "k ~ 0.345 s^-1\n" ] }, { "data": { "image/png": "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Gh8frwkJCaqqunPnTk35mixdulRvvfXW1M8dN26cjhw5UlVVExMTtX79+rp792795JNPtHXr1nru3Dk9cOCAFitWTGfMmPG3/1fz5s21b9++qa+PHz+uycnJqqo6YcIEfeyxx1RV9ZlnntGXX345dbuuXbvqihUrVFV13759WrVqVVVVbd++vX7zzTeqqnry5Ek9e/Zsul9LY9wArFUvalCeuKTKW7///jvTp09n7969FC9eHICGDRvy7LPP8sYbb3DjjTde1OcuXryYdevW0aBBAwASEhIoVaoUHTp0YPfu3QwYMIBbb72Vtm3bZvlZ4eHhtGvXDoBatWpRsGBBChQoQK1atdi7dy/gXJfbv39/1q9fT1hYGDt37kz3sxYsWMDGjRtTj5f++eef/PTTTyxfvpyuXbsSFhZGmTJlaNWqVYZ57r777tTnsbGx3H333Rw6dIgzZ85keOnTokWLzjtGfOLECU6ePMkNN9zAY489Rvfu3bnzzjuJjIzM8uthTKCx7n8ahw8fpnTp0qkFNUXt2rXZt29f+m/ygqpy3333sX79etavX8+OHTsYPnw4l112GRs2bKBFixa89dZbPPTQQ1l+VoECBVLPgufLl4+CBQumPk85rjlmzBhKly7Nhg0bWLt2LWfOnEn3s1SVN998MzXXnj17Ugu7t2faCxcunPp8wIAB9O/fn02bNjFu3LgML39KTk5m1apVqfs9cOAARYsWZciQIbz77rskJCTQqFEjtm/f7lUGYwKJFdU0KlSowPHjx//Wsvvyyy9TW5kX48Ybb2TmzJmpxyaPHz/Ovn37+O2330hOTqZTp06MHDmSH374AYCiRYvm6Hjin3/+yVVXXUW+fPn48MMPU0+2Xfi5N910E2+//TZnz54FYOfOncTHx9OsWTOmTp1KUlIShw4dYunSpV7vt2xZZ/7wyZMnpy6/cL9t27Zl7Nixqa/Xr18PwM8//0ytWrUYPHgwMTExVlRNULLufxqFChXiqaeeokOHDowePZqqVasya9Ysxo4dy4oVKy76c6tXr85zzz1H27ZtSU5OpkCBArz11ltERETwwAMPkJzs3CbpxRdfBJxLmPr06UNERASrVq3K9v769etHp06dmDFjBi1btkxtTdauXZv8+fNTp04d7r//fv75z3+yd+9e6tWrh6pSsmRJZs+ezR133MGSJUuoVasW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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAVoAAAFQCAYAAAD+yrYQAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAAsTAAALEwEAmpwYAAA4SUlEQVR4nO3deXgUVdbH8e8BCWEVWWQLEGRRWcMWQPZNkVVURF+VRQVBHWVGEdEB0RFUZIRBHFcQFAUVUFYVERUQUQgyRjZBdkEIq+yE5Lx/dBM7ISSdpCvV3ZzP8/RD1+3qql91h5PKrapboqoYY4xxTh63AxhjTLizQmuMMQ6zQmuMMQ6zQmuMMQ6zQmuMMQ6zQmuMMQ6zQmvCgojcKSKLMnj9GxG5LwDraS0iu7P53u0i0j6nGUzosUJrcp234JwSkeMi8oeITBGRwjlZpqq+r6rXBypjdomIisgJ77b9LiIvi0jeLC4j28XcBCcrtMYtXVW1MBAD1AOGuRsnoOp6t60d8H9Af5fzGJdZoTWuUtU/gC/wFFwARKSJiKwQkSMi8j8Rae3zWl8R2Soix0Rkm4jc6dO+3Ge+DiKyUUSOishEQHxeGyki03ymo717opd5p/uJyAbvOraKyP3Z3LaNwDKgVtrXRCS/iIwXkT3ex3hvWyHgM6Ccd6/4uIiUy876TfCwQmtcJSJRwI3AFu90eWAB8BxQHHgMmCUipbxFaAJwo6oWAa4D1qazzJLALOCfQEngN6BZFmLtB7oARYF+wDgRqZ+NbasBtAB+Suflp4AmeH7B1AVigX+q6gk8n8ceVS3sfezJ6rpNcLFCa9zyqYgcA3bhKWxPe9vvAhaq6kJVTVbVL4HVQCfv68lALREpoKp7VXVdOsvuBKxX1ZmqmgiMB/7wN5iqLlDV39TjW2ARnoLprzUichiYB7wNvJPOPHcCz6rqflVNAJ4B7s7COkwIsUJr3HKTd6+0NXANnj1PgEpAT2+3wREROQI0B8p69/Z6AQOBvSKyQESuSWfZ5fAUcADUM3LSrnTmS5eI3CgiK0XkkHf9nXzy+aO+ql6hqlVU9Z+qmnyRjDt8pnd420wYskJrXOXdY5wCjPU27QLeU9ViPo9CqvqCd/4vVLUDUBbYCLyVzmL3AhXOT4iI+E4DJ4CCPtNlfObNj6fbYSxQWlWLAQvx6eMNkD14fqmcV9HbBmBD6oUZK7QmGIwHOohIDDAN6CoiN4hIXhGJ9J7uFCUipUWkm7ev9gxwHEhKZ3kLgJoicrP3ANfD+BRTPP26LUWkoohcTuozHiKA/EACcE5EbgScOG1sOvBPb99zSWAEnm0H2AeU8GYzYcAKrXGdt4/yXWC4qu4CugNP4il2u4AheH5W8wCP4tnzOwS0Ah5IZ3kHgJ7AC8BBoBrwnc/rXwIfAj8DccB8n9eO4SnMHwGH8ZyeNTeQ2+v1HJ6+55+BeGCNt+382QrTga3e7hPrUghxYgN/G2OMs2yP1hhjHGaF1hhjHGaF1hhjHGaF1hhjHGaF1hhjHHaZ2wGcVrJkSY2OjnY7hjEmzMTFxR1Q1VL+zBv2hTY6OprVq1e7HcMYE2ZEZEfmc3lY14ExxjjMCq0xxjjMCq0xxjgs7PtojQkFiYmJ7N69m9OnT7sdxaQRGRlJVFQU+fLly/YyrNAaEwR2795NkSJFiI6OxjOqowkGqsrBgwfZvXs3lStXzvZyrOvAmCBw+vRpSpQoYUU2yIgIJUqUyPFfGlZoTY6cPHmSrVu3cubMGbejhDwrssEpEN+LFVqTLUlJSQwbNoyoqCjatm1LVFQUY8aMwYbdvDTdd999rF+//oL2KVOm8NBDD2V7uYULF85JrKBhfbQmW0aNGsWKFSuIj4+nfPnybNmyhVtuuYXixYtz3333uR3vknD69GkSEhIoXbo0ERERAVuuqqKq5Mnj/37Y22+/HbD1B0pSUhJ58+a96HR6srPt/rA9WpNlycnJTJw4kbfffpvy5csDULVqVSZMmMCECRNcThf+kpOTefrppylfvjxNmjShQoUKjB8/Pkd/TWzfvp1rr72WBx54gPr167Nr1y5eeuklGjVqRJ06dXj6ac9Nik+cOEHnzp2pW7cutWrV4sMPPwSgdevWKVdgvvPOO1SvXp1WrVrx3XcpN7agb9++zJw5M2X6/N7q8ePHadeuHfXr16d27drMmTMn07zTpk0jNjaWmJgY7r//fpKSklKWOWLECBo3bsz3339/wfTLL79MrVq1qFWrFuPHj7/otgfc+Qoero8GDRqoCayTJ09qRESEJicnp2o/cOCAFitWzKVUoW39+vV+zztq1Cht1qyZ7tixQ1VVN2zYoDVr1tTJkydne/3btm1TEdHvv/9eVVW/+OIL7d+/vyYnJ2tSUpJ27txZv/32W505c6bed999Ke87cuSIqqq2atVKV61apXv27NEKFSro/v379cyZM3rdddfpgw8+qKqqffr00Y8//jjlvYUKFVJV1cTERD169KiqqiYkJGiVKlVSfrbOz+Nr/fr12qVLFz179qyqqg4aNEinTp2qqqqAfvjhhynz+k6vXr1aa9WqpcePH9djx45pjRo1dM2aNRdse3rS+36A1epnHbI9WpNlkZGRVK9enS+//DJV+7x584iNjXUp1aUhOTmZ//znP0yaNImKFSsCcM011/DKK6+k7KFlV6VKlWjSpAkAixYtYtGiRdSrV4/69euzceNGNm/eTO3atVm8eDFDhw5l2bJlXH556vtH/vDDD7Ru3ZpSpUoRERFBr169Ml2vqvLkk09Sp04d2rdvz++//86+ffsuOv9XX31FXFwcjRo1IiYmhq+++oqtW7cCkDdvXm655ZaUeX2nly9fTo8ePShUqBCFCxfm5ptvZtmyZRdsuxOsj9ZkmYgwatQo+vTpw/PPP0+jRo34+uuveeaZZ5g714n7GJrzzpw5w5EjR6hevXqq9jp16rBjh99jnKSrUKFCKc9VlWHDhnH//fdfMF9cXBwLFy5k2LBhXH/99YwYMSLV6xc7Sn/ZZZeRnJycsvyzZ88C8P7775OQkEBcXBz58uUjOjo6w9OpVDXlZy+tyMjIVP2wvtOaQdeK77Y7wfZoTbZ069aNGTNmMHv2bG699VaWLl3K559/TtOmTd2OFtYiIyOpWrUqS5YsSdW+cOFCGjVqFLD13HDDDUyePJnjx48D8Pvvv7N//3727NlDwYIFueuuu3jsscdYs2ZNqvc1btyYb775hoMHD5KYmMjHH3+c8lp0dDRxcXEAzJkzh8TERACOHj3KlVdeSb58+fj6668z/YXRrl07Zs6cyf79+wE4dOiQX79kWrZsyaeffsrJkyc5ceIEn3zyCS1atPD/Q8kB26M12daqVStatWrldoxLiojw3HPP0bt3b8aMGUNsbCxLlixh+PDhzJ49O2Druf7669mwYUPKL87ChQszbdo0tmzZwpAhQ8iTJw/58uXjtddeS/W+smXLMnLkSJo2bUrZsmWpX79+yoGq/v370717d2JjY2nXrl3KXuSdd95J165dadiwITExMVxzzTUZZqtRowbPPfcc119/PcnJyeTLl49XX32VSpUqZfi++vXr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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "X = np.ones((len(rdata),3)) #Design matrix X\n", "X[:,0] = np.log(CAdata)\n", "X[:,1] = np.log(CBdata)\n", "Y = np.log(rdata) #Vector of observables, Y\n", "A = np.linalg.solve(X.T@X, X.T@Y) #Solve for unknown coefficiens, ln(k), α, β\n", "SSE = (Y - X@A).T@(Y-X@A) #Residual sum of squares\n", "SST = sum((Y - np.mean(Y))**2) #Total sum of squares\n", "Ypred = X@A\n", "R2 = 1 - SSE/SST #R2\n", "s2 = SSE/(len(Y) - len(A)) #Approximation for variance\n", "cov = s2*np.linalg.inv((X.T@X)) #covariance matrix\n", "se = np.sqrt(abs(cov)) #standard error matrix; diagonal elements are standard error for coeffs\n", "ci = stats.t.ppf(0.975, len(Y) - len(A))*se #confidence intervals\n", "Ypred = X@A #predicted values of Y\n", "\n", "print(A, '\\n')\n", "print(f'R2 = {R2:3.3f}')\n", "print(f'α = {A[0]:3.3f} plus/minus {ci[0,0]:3.3f}')\n", "print(f'β = {A[1]:3.3f} plus/minus {ci[1,1]:3.3f}')\n", "print(f'ln(k) = {A[2]:3.3f} plus/minus {ci[2,2]:3.4f}')\n", "print(f'k ~ {np.exp(A[2]):3.3f} s^-1')\n", "\n", "plt.figure(1, figsize = (5, 5))\n", "plt.scatter(Y, Ypred, marker = 'o', color = 'none', edgecolor = 'black', label = 'estimated rates')\n", "plt.plot([min(Y), max(Y)], [min(Y), max(Y)], color = 'blue', linestyle = 'dashed', linewidth = 1, label = 'linear fit')\n", "plt.xlabel('Measured ln(r)', fontsize = 12)\n", "plt.ylabel('Predicted ln(r)', fontsize = 12)\n", "plt.title('Parity Plot')\n", "plt.xlim(-14.0, 2.0)\n", "plt.ylim(-14.0, 2.0)\n", "plt.legend()\n", "plt.show()\n", "\n", "plt.figure(2, figsize = (5, 5))\n", "plt.scatter(np.arange(1, len(Y)+1, 1), (Y - Ypred), marker = 'o', color = 'none', edgecolor = 'black', label = 'residual error')\n", "plt.hlines(0, 1, len(Y), color = 'blue', linestyle = 'dashed', linewidth = 1, label = 'zero error')\n", "plt.xlabel('Experiment Number', fontsize = 12)\n", "plt.ylabel('Percent Residual Error', fontsize = 12)\n", "plt.title('Residual Plot')\n", "#plt.xlim(-14.0, 2.0)\n", "#plt.ylim(-14.0, 2.0)\n", "plt.legend()\n", "plt.show()\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Parameter Estimation Using Nonlinear Regression (Skip During Class)\n", "\n", "One solution is to use nonlinear regression to minimize an objective function created by calculating the residual sum of squares between measured rates and model predicted rates. Example below" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "data": { "text/plain": [ " fun: 0.2625609228942073\n", " hess_inv: array([[ 0.0220023 , 0.0409699 , -0.04078544],\n", " [ 0.0409699 , 0.08669796, -0.09223051],\n", " [-0.04078544, -0.09223051, 0.12136741]])\n", " jac: array([-9.68575478e-08, -1.11758709e-08, -2.98023224e-08])\n", " message: 'Optimization terminated successfully.'\n", " nfev: 120\n", " nit: 23\n", " njev: 30\n", " status: 0\n", " success: True\n", " x: array([0.33125751, 0.97510973, 2.04952072])" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "def OBJ(par, CA, CB, rmeas):\n", " k = par[0]\n", " alpha = par[1]\n", " beta = par[2]\n", " \n", " rmod = k*CA**alpha*CB**beta\n", " SSE = np.sum(((rmeas - rmod)/rmeas)**2)\n", " return SSE\n", "\n", "par0 = [1, 1, 1]\n", "ans = opt.minimize(OBJ, par0, args = (CAdata, CBdata, rdata))\n", "ans" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Example Problem 02\n", "\n", "The following reaction is carried out in a Plug Flow Reactor operating at steady state. \n", "\n", "$$A \\longrightarrow B$$\n", "\n", "You measure the feed concentration of A very accurately for this system, and you find it to be 0.209 moles per liter. As in the CSTR example, we vary volumetric flowrates to span a large range of space times. For each one, we measure the exit concentration of species A. The data are compiled in the table below. \n", "\n", "\n", "|**$\\tau$ (sec)** | **C$_A$ (mol/L)** |\n", "|:---------------:|:-----------------:|\n", "|0.133 | 2.11 $\\times$ 10$^{-1}$ |\n", "|0.267 | 1.97 $\\times$ 10$^{-1}$ |\n", "|0.667 | 1.99 $\\times$ 10$^{-1}$ |\n", "|1.333 | 1.79 $\\times$ 10$^{-1}$ |\n", "|2.667 | 1.53 $\\times$ 10$^{-1}$ |\n", "|6.667 | 1.14 $\\times$ 10$^{-1}$ |\n", "|13.33 | 8.64 $\\times$ 10$^{-2}$ |\n", "|26.67 | 6.45 $\\times$ 10$^{-2}$ |\n", "|66.67 | 4.33 $\\times$ 10$^{-2}$ |\n", "|133.3 | 3.02 $\\times$ 10$^{-2}$ |\n", "\n", "Assuming the reaction rate is described by power law kinetics,\n", "\n", "$$r = k \\, {C_A}^{\\alpha}$$ \n", "\n", "where $\\alpha$ is an integer, use the measured concentrations of A in the reactor effluent to determine the reaction order in A and the rate constant for this reaction. You may assume that the density of the fluid is constant." ] }, { "cell_type": "code", "execution_count": 24, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "CAf = 0.209 #mol/L\n", "tau_exp = np.array([0, 0.133333333, 0.266666667, 0.666666667, 1.333333333, 2.666666667, 6.666666667, 13.33333333, 26.66666667, 66.66666667, 133.3333333])\n", "CA_exp = np.array([0.216138658, 0.204299214, 0.198122853, 0.200721526, 0.167904995, 0.152141971, 0.12226356, 0.101508811, 0.068370453, 0.044628989, 0.033106474])\n", "\n", "plt.figure(1, figsize = (5, 5))\n", "plt.scatter(tau_exp, CA_exp, marker = 'o', color = 'none', edgecolor = 'black')\n", "plt.xlabel('tau (sec)', fontsize = 12)\n", "plt.ylabel('CA (M)', fontsize = 12)\n", "plt.xlim(0, 150)\n", "plt.ylim(0, 0.225)\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Solution to Example Problem 02\n", "\n", "Here we have what we would call an \"integral\" PFR. By that we mean the conversion, concentration, and reaction rate change across the length of the PFR. So, to predict the concentration measured at the exit of the CSTR, we have to **integrate** the PFR material balance. Once we do that, we can compare our predictions with the measurement, assess goodness of fit, and estimate important parameters like the reaction order and the rate constant.\n", "\n", "Let's start with the material balance on the PFR as usual:\n", "\n", "$$\\frac{dF_A}{dV} = R_A$$\n", "\n", "Here, we have a single reaction where the coefficient on A is -1, so $R_A = -r$:\n", "\n", "$$\\frac{dF_A}{dV} = -r$$\n", "\n", "We have to address one issue, though. The data are presented as exit concentration of A measured at various **space times**, which we define as usual:\n", "\n", "$$\\tau = \\frac{V}{Q_f}$$\n", "\n", "I am not given data at various reactor volumes. There is a good reason for this. Usually, we are stuck with one PFR that has a fixed volume. It would be difficult and expensive to change the reactor volume to try to assess how the exit concentration of A changes with increasing reactor volume, so we would usually do this type of experiment by varying residence time instead. We don't do that by changing volume--that always stays fixed--we do it by varying the feed volumetric flowrate. I know that we usually think of solving the PFR balance in terms of Volume, but for a kinetics experiment, it is more convenient to work in residence time. For that reason, we'll re-write tha balance in terms of space time. We do that by recognizing that, for a constant density system where $Q = Q_f$, $V = \\tau Q_f$. Making that substitution:\n", "\n", "$$\\frac{dF_A}{d(\\tau Q_f)} = -r$$\n", "\n", "The feed volumetric flowrate is a constant, so we can move it outside of the denominator and into the numerator:\n", "\n", "$$\\frac{d(F_A/Q_f)}{d\\tau} = -r$$\n", "\n", "And we see that this gives us the concentration of species A in the numerator:\n", "\n", "$$\\frac{dC_A}{d\\tau} = -r$$\n", "\n", "That actually looks a lot like the material balance for a constant volume batch reactor, just with residence time replacing real time. You actually can analyze an integral PFR exactly as you would a batch reactor. You can either use a differential analysis or integral analysis. As a refresher:\n", "\n", "### Differential Analysis\n", "\n", "Here, we you use finite differences (or any other reasonable method) to estimate the derivative of $C_A$ with respect to $\\tau$ from our experimental data:\n", "\n", "$$r \\approx -\\frac{\\Delta C_A}{\\Delta \\tau}$$\n", "\n", "and then linearize as usual:\n", "\n", "$$\\ln(r) = \\ln(k) + \\alpha \\ln(C_A)$$\n", "\n", "That analysis virtually identical to differential analysis of a batch reactor. It will give you a rough estimate of the reaction order and rate constant, but it can amplify noise in the data.\n", "\n", "### Integral Analysis\n", "\n", "Alternatively, you can use an integral analysis just like in a batch reactor. To this point, we've always handled an integral analysis by assuming a reaction order, e.g.:\n", "\n", "First order\n", "\n", "$$r = kC_A$$\n", "\n", "Second order\n", "\n", "$$r = k{C_A}^2$$\n", "\n", "Third order\n", "\n", "$$r = k{C_A}^3$$\n", "\n", "etc. Then we would solve the material balance by integrating. For example, for a first order process, we would solve:\n", "\n", "$$\\frac{dC_A}{d\\tau} = -kC_A$$\n", "\n", "Which would give:\n", "\n", "$$C_A = C_{A,f}\\exp{(-k \\tau)}$$\n", "\n", "Which can be linearized in a form like this one:\n", "\n", "$$\\ln \\left(\\frac{C_A}{C_{A,f}}\\right) = - k \\tau$$\n", "\n", "If we plot our data in this form, we can assess linearity/goodness of fit, and regress parameters. We can then do the same thing for a second order reaction or a third order reaction. Again, this is identical to what we've already covered in a batch reactor, we just work in $\\tau$ instead of real time. \n", "\n", "I want to instead use a method that we haven't seen before. It is an integral analysis since we'll be solving the differential equation, but we'll do it a bit differently than just guessing random reaction orders. We'll consider only two cases:\n", "\n", "**First order kinetics**\n", "\n", "As shown above, if the kinetics are first order, then we know that the following solution for exit concentration will hold:\n", "\n", "$$C_A = C_{A,f}\\exp{(-k \\tau)}$$\n", "\n", "And we know we can linearize this model by taking a natural logarithm of both sides.\n", "\n", "**Unknown order kinetics**\n", "\n", "Now we'll re-solve the material balance symbolically with an unknown reaction order, $\\alpha$:\n", "\n", "$$\\frac{dC_A}{d\\tau} = -k{C_A}^\\alpha$$\n", "\n", "This is a separable ODE:\n", "\n", "$$\\frac{1}{{C_A}^\\alpha}dC_A = -kd\\tau$$\n", "\n", "It's actually not hard to solve this symbollically. We know how to integrate both sides of that equation. Applying appropriate limits:\n", "\n", "$$\\int_{C_{A,f}}^{C_A} \\frac{1}{{C_A}^\\alpha}dC_A = \\int_0^\\tau-kd\\tau$$\n", "\n", "We can solve to get:\n", "\n", "$$C_A = \\left[ C_{A,f}^{(1 - \\alpha)} - (1 - \\alpha)k\\tau\\right]^\\left(\\frac{1}{1 - \\alpha}\\right)$$\n", "\n", "It's a bit of a cumbersome equation, but it isn't *hard* to work with. If we think about it, this is actually a nonlinear model that describes how the concentration of species A changes as a function of residence time, $\\tau$. I can therefore use that model to generate predictions of the Concentration of A at various values of $\\tau$. If I can do that, I can quantify error and calculate a residual sum of squares:\n", "\n", "$$SSE = \\sum_i \\left(C_{A_i} - \\hat{C}_{A_i}\\right)^2$$\n", "\n", "We can then use an optimization algorithm to minimze the SSE with respect to the values of $\\alpha$ and $k$. This is implemented below.\n", "\n", "Note that this model does not work for a first order reaction ($\\alpha$ = 1) since the exponent on the bracketed term goes to infinity in that situation. For that reason, we'll first test our data against a first order model to see if it is first order.\n", "\n", "We'll do this by plotting:\n", "\n", "$\\ln\\left(\\frac{C_A}{C_{A,f}}\\right)$ vs. $\\tau$. If that is linear, then kinetics are first order, and we'll work up the problem that way. If it is nonlinear, we'll go back to our model written in terms of $\\alpha$." ] }, { "cell_type": "code", "execution_count": 25, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "Y = -1*np.log(CA_exp/CAf).reshape(len(CA_exp))\n", "X = tau_exp.reshape(len(tau_exp),1)\n", "\n", "plt.figure(1, figsize = (5, 5))\n", "plt.scatter(X, Y, marker = 'o', color = 'none', edgecolor = 'black')\n", "plt.xlabel('tau (sec)', fontsize = 12)\n", "plt.ylabel('-ln(CA/CA0)', fontsize = 12)\n", "plt.xlim(0, 150)\n", "plt.ylim(0, 2)\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "That isn't even close, but if you want to see how nonlinear this data is, you can always fit a line to it using a method of your choice." ] }, { "cell_type": "code", "execution_count": 26, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "R2 = 0.690\n", "k = 0.017 plus/minus 0.005\n" ] }, { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAWUAAAFQCAYAAABnMm+lAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAAsTAAALEwEAmpwYAAAyb0lEQVR4nO3deXwV5fn//9cFBBFQQdkFhCoCgmxGIEUFqqCiSNVStS6oRcTlp/SjrbtFa39AtW6Vj5qigqK4YFUUFJGPC1K1EK0LIIosEkDCokhQ2XJ9/5hJPAlZTpJzcibk/Xw8ziNz33PPzDUHcjHcc8895u6IiEg01Ep1ACIi8jMlZRGRCFFSFhGJECVlEZEIUVIWEYkQJWURkQhRUpa9npmda2avl7L+LTMbmYDjDDCz7Apuu9LMTqhsDFL9KSlLpITJ6UczyzWzb8xsspk1rMw+3f1Jdx+cqBgryszczLaF57bGzO42s9rl3EeFE79UD0rKEkVD3b0h0APoCdyQ2nASqnt4bscDvwMuSXE8EjFKyhJZ7v4NMJsgOQNgZn3N7N9m9p2ZfWxmA2LWXWhmy81sq5mtMLNzY+rfjWk3yMw+N7MtZvYAYDHrxprZ1Jhyu/AKt05YvsjMloTHWG5ml1bw3D4H5gFdi64zs33M7F4zWxt+7g3rGgCvAq3Cq+1cM2tVkeNLdCkpS2SZWWvgZGBZWD4YmAncARwIXAs8b2ZNw4R1P3Cyu+8H/BL4bzH7bAI8D9wMNAG+AvqVI6wc4FRgf+Ai4B4z61WBczsCOBb4qJjVNwF9Cf4x6g70Bm52920E38dad28YftaW99gSbUrKEkUvmtlWYDVBEvxzWH8eMMvdZ7l7nrvPARYCQ8L1eUBXM9vX3de5+6Ji9j0EWOzu0919J3Av8E28gbn7THf/ygNvA68TJNd4fWhm3wIvA5OAx4ppcy5wu7vnuPsG4Dbg/HIcQ6oxJWWJol+HV7sDgE4EV7QAhwDDw66L78zsO+AYoGV4FXkWMBpYZ2YzzaxTMftuRZDsAfBgRq7VxbQrlpmdbGbvm9nm8PhDYuKLRy93b+zuh7r7ze6eV0KMq2LKq8I6qQGUlCWywivRycBdYdVq4Al3bxTzaeDu48P2s919ENAS+Bz4ZzG7XQe0yS+YmcWWgW1A/Zhyi5i2+xB0fdwFNHf3RsAsYvqkE2QtwT9A+dqGdQCa1nEvp6QsUXcvMMjMegBTgaFmdqKZ1TazeuEQsdZm1tzMTgv7lrcDucDuYvY3E+hiZmeEN++uIibxEvRDH2dmbc3sAAqP/KgL7ANsAHaZ2clAMobaTQNuDvvKmwC3Epw7wHrgoDA22QspKUukhX2qjwO3uPtqYBhwI0FiXA38keDvcS3gGoIrys1Af+DyYva3ERgOjAc2AR2A+THr5wDPAJ8AWcArMeu2EiTxZ4FvCYa0zUjk+YbuIOgr/wT4FPgwrMsftTENWB524ahbYy9jmuReRCQ6dKUsIhIhkUnKZvaomeWY2WclrDczu9/MlpnZJ7FjQ83sJDNbGq67vuqiFhFJrMgkZYK77CeVsv5kgv6/DsAo4EGAcO6AieH6I4BzwoH5IiLVTmSSsru/Q3CDpiTDgMfDQfvvA43MrCXB007L3H25u+8Ang7biohUO5FJynE4mMKD/LPDupLqRUSqnTqpDqAcihug76XU77kDs1EEXR80aNDgqE6dinvgS0Sk4rKysja6e9OKbl+dknI2hZ+8ak0wJrVuCfV7cPdMIBMgPT3dFy5cmJxIRaTGMrNVZbcqWXXqvpgBXBCOwugLbHH3dcACoIOZtTezusDZJGdAv4hI0kXmStnMphFMQNMkfLPCn4E0AHd/iGCOgSEE0zj+QDBtIu6+y8yuJJh3tzbwaAmzg4mIRF5kkrK7n1PGegeuKGHdLIKkLSJSrUUmKYtI8Xbu3El2djY//fRTqkORGPXq1aN169akpaUldL9KyiIRl52dzX777Ue7du0IZhqVVHN3Nm3aRHZ2Nu3bt0/ovqvTjT6RGumnn37ioIMOUkKOEDPjoIMOSsr/XpSURaoBJeToSdafiZKyiCTVyJEjWbx48R71kydP5sorr6zwfhs2bFiZsCJLfcoiexl3Z926ddSvX59GjRolfN/uTq1a8V/PTZo0KaExJMLu3bupXbt2ieXiVOTcK0JXyiJ7kTfffJNu3brRvXt32rZty/Dhw9m4cWOl9rly5Uo6d+7M5ZdfTq9evVi9ejV33nknRx99NN26dePPfw5eNr5t2zZOOeUUunfvTteuXXnmmWcAGDBgAPlPzz722GMcfvjh9O/fn/nzC174woUXXsj06dMLyvlXwbm5uRx//PH06tWLI488kpdeeqnMeKdOnUrv3r3p0aMHl156Kbt37y7Y56233kqfPn1477339ijffffddO3ala5du3LvvfeWeO5Jl5/9a9rnqKOOcpHqYPHixXG1++KLL7xJkyY+Y8YMz8vL861bt/rVV1/txx13XKWOv2LFCjczf++999zdffbs2X7JJZd4Xl6e796920855RR/++23ffr06T5y5MiC7b777jt3d+/fv78vWLDA165d623atPGcnBzfvn27//KXv/QrrrjC3d1HjBjhzz33XMG2DRo0cHf3nTt3+pYtW9zdfcOGDX7ooYd6Xl5eoTaxFi9e7Keeeqrv2LHD3d0vu+wynzJliru7A/7MM88UtI0tL1y40Lt27eq5ubm+detWP+KII/zDDz/c49yLO15RwEKvRG7SlbLIXiIzM5ORI0cydOhQzIyGDRvy97//ndWrV/PRRx9Vat+HHHIIffv2BeD111/n9ddfp2fPnvTq1YvPP/+cL7/8kiOPPJI33niD6667jnnz5nHAAYXf7frBBx8wYMAAmjZtSt26dTnrrLPKPK67c+ONN9KtWzdOOOEE1qxZw/r160tsP3fuXLKysjj66KPp0aMHc+fOZfny5QDUrl2bM888s6BtbPndd9/l9NNPp0GDBjRs2JAzzjiDefPm7XHuVUF9yiJ7ia+//ppf//rXhepq165Nly5dWLVqFT179qzwvhs0aFCw7O7ccMMNXHrppXu0y8rKYtasWdxwww0MHjyYW2+9tdD6kkYs1KlTh7y8vIL979ixA4Ann3ySDRs2kJWVRVpaGu3atSt1GJq7M2LECMaNG7fHunr16hXqN44teynvKo0996qgK2WRvUR6ejqzZhWebeD777/n3//+N7169Sphq/I78cQTefTRR8nNzQVgzZo15OTksHbtWurXr895553Htddey4cfflhouz59+vDWW2+xadMmdu7cyXPPPVewrl27dmRlZQHw0ksvsXPnTgC2bNlCs2bNSEtL480332TVqtInYDv++OOZPn06OTk5AGzevLnMbQCOO+44XnzxRX744Qe2bdvGCy+8wLHHHhv/l5JAulIW2UuMHDmS9PR0/ud//oeLL76YnJwcbrnlFs4++2zatm2bsOMMHjyYJUuWkJGRAQQ30KZOncqyZcv44x//SK1atUhLS+PBBx8stF3Lli0ZO3YsGRkZtGzZkl69ehXchLvkkksYNmwYvXv35vjjjy+4Oj333HMZ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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "A = np.linalg.solve(X.T@X, X.T@Y) #Solve for unknown coefficiens, ln(k), α, β\n", "Ypred = X@A #predicted values of Y\n", "SSE = np.sum((Y - Ypred)**2)\n", "#SSE = (Y - X@A).T@(Y-X@A) #Residual sum of squares\n", "SST = sum((Y - np.mean(Y))**2) #Total sum of squares\n", "Ypred = X@A\n", "R2 = 1 - SSE/SST #R2\n", "s2 = SSE/(len(Y) - len(A)) #Approximation for variance\n", "cov = s2*np.linalg.inv((X.T@X)) #covariance matrix\n", "se = np.sqrt(abs(cov)) #standard error matrix; diagonal elements are standard error for coeffs\n", "ci = stats.t.ppf(0.975, len(Y) - len(A))*se #confidence intervals\n", "\n", "print(f'R2 = {R2:3.3f}')\n", "print(f'k = {A[0]:3.3f} plus/minus {ci[0,0]:3.3f}')\n", "\n", "plt.figure(1, figsize = (5, 5))\n", "plt.scatter(X, Y, marker = 'o', color = 'none', edgecolor = 'black', label = 'experimental data')\n", "plt.plot(X, Ypred, color = 'blue', linestyle = 'dashed', linewidth = 1, label = 'linear fit')\n", "plt.xlabel('tau (min)', fontsize = 12)\n", "plt.ylabel('-ln(CA/CA0)', fontsize = 12)\n", "plt.title('First order fit')\n", "plt.xlim(0, 140.0)\n", "plt.ylim(0, 3.0)\n", "plt.legend()\n", "plt.show()\n", "\n", "plt.figure(2, figsize = (5, 5))\n", "plt.scatter(X, (Y - Ypred), marker = 'o', color = 'none', edgecolor = 'black', label = 'residual error')\n", "plt.hlines(0, 0, 140, color = 'blue', linestyle = 'dashed', linewidth = 1, label = 'zero error')\n", "plt.xlabel('Experiment Number', fontsize = 12)\n", "plt.ylabel('Percent Residual Error', fontsize = 12)\n", "plt.title('Residual Plot')\n", "plt.xlim(0, 140.0)\n", "plt.ylim(-1.0, 1.0)\n", "plt.legend()\n", "plt.show()\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "So, yeah. That is the \"best fit\" straight line with a zero y-intercept that goes through our data. It definitely isn't a first order reaction, so let's return to the generic model:\n", "\n", "$$C_A = \\left[ C_{A,f}^{(1 - \\alpha)} - (1 - \\alpha)k\\tau\\right]^\\left(\\frac{1}{1 - \\alpha}\\right)$$\n", "\n", "We'll write an objective function to calculate that model's prediction for $C_A$:" ] }, { "cell_type": "code", "execution_count": 27, "metadata": {}, "outputs": [], "source": [ "def CA_mod(k, alpha, tau):\n", " CAf = 0.209 #mol/L\n", " CA = (CAf**(1 - alpha) - (1 - alpha)*k*tau)**(1/(1 - alpha))\n", " return CA" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "With that, I can solve for model predictions given any value of k, alpha, and tau. Here, I'll just assume some values of k and alpha, and we'll plot the resulting model prediction for all of our experimental residence times and compare it with our measurements:" ] }, { "cell_type": "code", "execution_count": 28, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "kguess = 1\n", "aguess = 2\n", "tauset = np.linspace(0, max(tau_exp), 100)\n", "plt.figure(1, figsize = (5, 5))\n", "plt.scatter(tau_exp, CA_exp, marker = 'o', color = 'none', edgecolor = 'black', label = 'experimental data')\n", "plt.plot(tauset, CA_mod(kguess, aguess, tauset), color = 'blue', linestyle = 'dashed', linewidth = 1, label = 'nonlinear model')\n", "plt.xlabel('tau (min)', fontsize = 12)\n", "plt.ylabel('CA (mol/L)', fontsize = 12)\n", "plt.xlim(0, 140.0)\n", "plt.ylim(0, 0.25)\n", "plt.legend()\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "OK, that's not a bad fit, but it probably also isn't the best fit. We can do better if we write an objective function and use an optimization algorithm to solve for the best fit values of k and alpha. We'll do that below." ] }, { "cell_type": "code", "execution_count": 29, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " fun: 0.0003133737549242306\n", " hess_inv: array([[40254.20045605, 5056.31341237],\n", " [ 5056.31341237, 651.91562512]])\n", " jac: array([-4.24948666e-07, 2.94766869e-06])\n", " message: 'Optimization terminated successfully.'\n", " nfev: 90\n", " nit: 26\n", " njev: 30\n", " status: 0\n", " success: True\n", " x: array([3.90108785, 3.07036239]) \n", "\n", "k = 3.901, α = 3.070\n" ] } ], "source": [ "def OBJ(par):\n", " k, α = par\n", " CA_pred = CA_mod(k, α, tau_exp)\n", " SSE = np.sum((CA_exp - CA_pred)**2)\n", " return SSE\n", "\n", "par0 = [1, 3]\n", "answer = opt.minimize(OBJ, par0)\n", "print(answer, '\\n')\n", "k_opt = answer.x[0]\n", "a_opt = answer.x[1]\n", "CA_pred = CA_mod(k_opt, a_opt, tau_exp)\n", "\n", "print(f'k = {k_opt:3.3f}, α = {a_opt:3.3f}')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now that we have optimum parameters, we'll overlay the optimum fit with our experimental data and see how it does." ] }, { "cell_type": "code", "execution_count": 30, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAV0AAAFECAYAAACEUe3kAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8qNh9FAAAACXBIWXMAAAsTAAALEwEAmpwYAAAwHklEQVR4nO3deZxOdf/H8ddnxjB2soWxhsoyZIYoS4ukVKI9kVSoW/vmvitpX+8W/UTqjlLdSuVuuSl3i1CJmRCSfZtkmyI7Y76/P85lDAZjlnOuua738/G4Hub6nnOu857RfPr6nu/5HnPOISIi/ogJOoCISDRR0RUR8ZGKroiIj1R0RUR8pKIrIuIjFV0RER/5VnTNrIuZLTSzJWY2KIftPc3s59DrezNrnm3bCjOba2azzSzFr8wiIgXN/Jina2axwCLgHCANmAlc5Zz7Jds+pwELnHN/mtl5wBDn3KmhbSuAZOfcxkIPKyJSiPzq6bYGljjnljnndgNjgW7Zd3DOfe+c+zP0djqQ4FM2ERHf+FV0awKrs71PC7UdzvXAxGzvHTDJzFLNrF8h5BMR8UUxn85jObTlOK5hZmfiFd122ZpPd86tMbOqwP/M7Ffn3JQcju0H9AMoXbp00kknnZT/5CIi2aSmpm50zlXJ6/F+Fd00oFa29wnAmoN3MrNE4HXgPOdc+r5259ya0J/rzWw83nDFIUXXOTcSGAmQnJzsUlJ0zU1ECpaZrczP8X4NL8wEGppZPTMrDlwJfJJ9BzOrDXwE9HLOLcrWXtrMyu77GugMzPMpt4hIgfKlp+ucyzCzgcAXQCzwhnNuvpkNCG0fAQwGKgGvmBlAhnMuGagGjA+1FQPedc597kduEZGC5suUsSBoeEFECoOZpYY6hHni15iuSJG0Z88e0tLS2LlzZ9BRxGfx8fEkJCQQFxdXoJ+roityBGlpaZQtW5a6desSGuKSKOCcIz09nbS0NOrVq1egn621F0SOYOfOnVSqVEkFN8qYGZUqVSqUf+Go6IochQpudCqsv3cVXRE5wODBg/nyyy8L9RyjR49mzZpDpuofok+fPnzwwQdH3GfFihU0bdr0qPu8++67x5SxsKjoihSgzMxM0tLS2Lp1a9BR8mTv3r088sgjdOrUqVDPk9uiW1BUdEUi0Lhx42jQoAGtWrWiZs2a9O/fn+3bt+f7c99++21at25NixYt6N+/P3v37mXmzJkkJiayc+dOtm3bRpMmTZg3bx6TJ0+mQ4cOdO/encaNGzNgwAAyMzMBmDRpEm3btqVly5ZcdtllWf9jqFu3Lo888gjt2rVj3LhxB/Qu69atyz/+8Q/atm1LcnIyP/30E+eeey4nnHACI0aMyMr47LPP0qpVKxITE3nooYcAr9CdfPLJ3HjjjTRp0oTOnTuzY8cOPvjgA1JSUujZsyctWrRgx44dPPLII7Rq1YqmTZvSr18/jjaVNTU1lebNm9O2bVuGDRuW1b5ixQrat29Py5YtadmyJd9//z0AgwYNYurUqbRo0YIXXnjhsPv5wjkXka+kpCQnkl+//PJLrvabMmWKq1Gjhps2bZpzzrmNGze6yy+/3PXu3Tvf57/gggvc7t27nXPO3XTTTe7NN990zjl3//33u7vuusvdfPPN7oknnnDOOffNN9+4EiVKuKVLl7qMjAzXqVMnN27cOLdhwwbXvn17t3XrVuecc0899ZR7+OGHnXPO1alTxz399NNZ57z22mvduHHjsra98sorzjnnbr/9dtesWTP3119/ufXr17sqVao455z74osv3I033ugyMzPd3r17XdeuXd23337rli9f7mJjY92sWbOcc85ddtllbsyYMc455zp27OhmzpyZdc709PSsr6+55hr3ySefHJIlu2bNmrnJkyc755y7++67XZMmTZxzzm3bts3t2LHDOefcokWL3L468M0337iuXbtmHX+4/XL6+R8MSHH5qE2aMiZSAIYOHcrgwYM5/fTTAahUqRKvvfYaderUYf369VStWjVPn/vVV1+RmppKq1atANixY0fWZw0ePJhWrVoRHx/P0KFDs45p3bo19evXB+Cqq65i2rRpxMfH88svv2Tl2717N23bts065oorrjhshosuugiAZs2asXXrVsqWLUvZsmWJj49n06ZNTJo0iUmTJnHKKacAsHXrVhYvXkzt2rWpV68eLVq0ACApKYkVK1bkeI5vvvmGZ555hu3bt/PHH3/QpEkTLrzwwhz33bx5M5s2baJjx44A9OrVi4kTvUUJ9+zZw8CBA5k9ezaxsbEsWrQox8/I7X6FQUVXpACsWrWKxMTEA9rKlStHQkICa9asyXPRdc5x7bXX8uSTTx6y7Y8//mDr1q3s2bOHnTt3Urp0aeDQq+5mhnOOc845h3//+985nmffsTkpUaIEADExMVlf73ufkZGBc46///3v9O/f/4DjVqxYccD+sbGx7Nix45DP37lzJzfffDMpKSnUqlWLIUOGHHGqlnPusDMLXnjhBapVq8acOXPIzMwkPj4+X/sVBo3pihSA5ORkJkyYcEDb8uXLWbNmDQ0bNszz55599tl88MEHrF+/HvAK7cqV3iJX/fr149FHH6Vnz57cd999WcfMmDGD5cuXk5mZyXvvvUe7du1o06YN3333HUuWLAFg+/btBda7O/fcc3njjTeyxoh/++23rLyHU7ZsWbZs2QKQVWArV67M1q1bjzpboUKFCpQvX55p06YB8M4772Rt27x5M9WrVycmJoYxY8awd+/eQ853pP38oJ6uSAG46667OO2004iPj+eSSy5h8eLF3HfffQwaNOiIvcijady4MY899hidO3cmMzOTuLg4hg0bxrfffkuxYsW4+uqr2bt3L6eddhpff/01MTExtG3blkGDBjF37tysi2oxMTGMHj2aq666il27dgHw2GOP0ahRo3x/7507d2bBggVZwxVlypTh7bffJjY29rDH9OnThwEDBlCyZEl++OEHbrzxRpo1a0bdunWzhlKOZNSoUfTt25dSpUpx7rnnZrXffPPNXHLJJYwbN44zzzwz62efmJhIsWLFaN68OX369Dnsfn7QgjciR7BgwQJOPvnkXO27aNEinnjiCaZNm0b16tW5+eabueqqqwo54YEmT57Mc889x2effebreSNVTn//WvBGJEw0atSI0aNHBx1DwpyKrkgEOeOMMzjjjDOCjiFHoAtpIiI+UtEVEfGRiq6IiI9UdEVEfKSiKxIlJk+ezAUXXADAJ598wlNPPRVworwbMmQIzz33XL73CYJmL4hEoYsuuihrTYXCsnfv3iPeIBGt1NMVCWOHWx4RYPbs2bRp04bExES6d+/On3/+CXjTxu677z5at25No0aNmDp16iGfO3r0aAYOHAh4d4fdeuutnHbaadSvX/+A23BzWrIR4OKLLyYpKYkmTZowcuTIrPYyZcowePBgTj31VH744YcDznnGGWdwxx130KFDB04++WRmzpxJjx49aNiwIQ888EDWfs8//zxNmzaladOmvPjii1ntjz/+OCeeeCKdOnVi4cKFWe1Lly6lS5cuJCUl0b59e3799de8/Kh9o6IrEuYWL17M3/72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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "data": { "image/png": "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UVERd999N40bN6Zz5840adKEhx56iKo+pvvss8/SqVMnsrKy+MlPfsKePXvYs2cPw4cPp02bNrRt25Zx48Yxbdo05s+fz+DBg8nKymLHjh107dqV4kdijzzySO644w46dOhA9+7d+e9//0vXrl05+eSTmT49MiYuLy+P8847j/bt29O+ffuSZDl69Gjee+89srKyGDduHHv27OH222+nY8eOtGvXjieffBKI3OAbNWoUrVq1ok+fPmzYEHMgM127duWuu+7iggsu4OGHH2bGjBmcddZZnHnmmXTv3p3169eTl5fHE088wbhx48jKyuK9997jyy+/ZODAgXTs2JGOHTvy/vuRFxC98847ZGVlkZWVxZlnnsm2bduq9DPfL+6uJWrp0KGDi6RCbm5u3HV/97vfeZcuXXz16tXu7r5kyRJv3bq1T5w4sUrH79u3r+/atcvd3W+44QafPHmyz58/37t3715S76uvvnJ39wsuuMDnzZtXUh69DvjMmTPd3f3SSy/1Hj16+K5duzwnJ8fPOOMMd3f/9ttvfceOHe7uvnz5ci/+tzd79mzv06dPyX6ffPJJv+eee9zd/bvvvvMOHTr4qlWr/IUXXvDu3bt7YWGhr1271o855hj/5z//uc95XXDBBX7DDTeUrG/evNmLiorc3f0vf/mL33bbbe7ufvfdd/sf//jHknqDBg3y9957z93dV69e7S1atHB39759+/q///1vd3fftm2b7969O+bPsixgvlcxP+mxPpGQKSoq4uGHH+bdd9/lpJNOAqBFixY8+uij3HLLLVx77bWV7CG2WbNmsWDBAjp27AjAjh07qF+/Pv369WPVqlX89Kc/pU+fPlx0UeXvF65Tpw69evUCoG3bthx22GHUrl2btm3bkpeXB0SeOx81ahQ5OTnUrFmT5cuXx9zXG2+8waJFi0r6p7du3cqKFSt49913GTRoEDVr1qRRo0b84Ac/KDeeq666quR7fn4+V111FQUFBezatavcx+/eeuutUn3yX3/9Ndu2baNLly7cdtttDB48mAEDBpCZmVnpzyNRlLBFQmbnzp1s2bKF0047rVR5u3btWL36wOcXcneGDRvGvffeu8+2hQsX8vrrrzN+/Hief/55Jk6cWOG+ateuXfK0RI0aNTjssMNKvhf3I48bN44GDRqwcOFCioqKyMjIKDeuRx99lJ49e5YqnzlzZtxPZBxxxBEl33/6059y2223cckllzBnzhzGjBkTs01RURFz586lbt26pcpHjx5Nnz59mDlzJp07d+att94iWTN8qg9bJGQyMjI49dRTefvtt0uVz5w5s+Tq+EB069aNadOmlfQFb968mdWrV7Nx40aKiooYOHAg99xzDx9++CEARx11VJX6b7du3UrDhg2pUaMGzzzzDHv27Im53549e/L444+ze/duAJYvX863337L+eefz5QpU9izZw8FBQXMnj077uM2bhyZSn/y5Mkl5WWPe9FFF/HnP/+5ZD0nJweATz/9lLZt23LHHXeQnZ3N0qVLD+wHcAB0hS0SMmbG2LFjueaaa7j//vvp1KkTb7/9Nr/61a948cUXK99BOVq1asXYsWO56KKLKCoqonbt2owfP566dety7bXXUlRUBFByBT58+HBGjhxJ3bp1mTt37n4f78Ybb2TgwIH885//5MILLyy5Cm7Xrh21atXijDPOYPjw4dx8883k5eXRvn173J169erx0ksvcdlll/H222/Ttm1bTjvtNC644IK4jjtmzBiuuOKKkhu2n332GQD9+vXj8ssv5+WXX+bRRx/lkUce4aabbqJdu3YUFhZy/vnn88QTT/DQQw8xe/ZsatasSatWrejdu/d+n/uB0uRPZWjyJ0mVJUuW0LJly7jrv/XWWzzwwAOsWLGCdu3aMXr0aM4666xqjFDiFevPUpM/iRzCunfvTvfu3VMdhiSR+rBFREJCCVtEJCSUsEVEQkIJW0QkJJSwRURCQglbREoceeSRAKxbt47LL788qcfeuXMn3bt3Jysri6lTp5aarvX3v/99UmNJV3qsT0T20ahRoyrNLR2PwsJCatXam4I++ugjdu/eXTKiMHr+j9///vfcdddd1RpPGOgKW0T2kZeXR5s2bYDIvNcDBgygV69eNG/enF/84hcl9d544w3OPvts2rdvzxVXXME333wDwG9/+1s6duxImzZtGDFiRMm0r2WnOi22YcMGhgwZQk5ODllZWXz66acl07WOHj2aHTt2kJWVxeDBg5P4U0g/StgiUqmcnBymTp3Kxx9/zNSpU1mzZg0bN25k7NixvPXWW3z44YdkZ2fz4IMPAjBq1CjmzZvHJ598wo4dO/jXv/5Vsq8tW7bwzjvv8POf/7ykrH79+jz11FOcd9555OTkcMop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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "plt.figure(1, figsize = (5, 5))\n", "plt.scatter(tau_exp, CA_exp, marker = 'o', color = 'none', edgecolor = 'black', label = 'experimental data')\n", "plt.plot(tauset, CA_mod(k_opt, a_opt, tauset), color = 'blue', linestyle = 'dashed', linewidth = 1, label = 'nonlinear model')\n", "plt.xlabel('tau (min)', fontsize = 12)\n", "plt.ylabel('CA', fontsize = 12)\n", "plt.xlim(0, 140.0)\n", "plt.ylim(0, 0.25)\n", "plt.legend()\n", "plt.show()\n", "\n", "plt.figure(2, figsize = (5, 5))\n", "plt.scatter(tau_exp, (CA_exp - CA_pred), marker = 'o', color = 'none', edgecolor = 'black', label = 'estimated rates')\n", "plt.hlines(0, 1, ceil(max(tau_exp)), color = 'blue', linestyle = 'dashed', linewidth = 1, label = 'linear fit')\n", "plt.xlabel('τ', fontsize = 12)\n", "plt.ylabel('Residual Error', fontsize = 12)\n", "plt.title('Residual Plot')\n", "plt.xlim(0, 140.0)\n", "plt.ylim(-0.02, 0.02)\n", "plt.legend()\n", "plt.show()\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Linearizing the third order fit\n", "\n", "Looks like a great fit!!! We are thus reasonably confident that our optimized parameter values along with the nonlinear model do a good job of capturing the data. Based on that, I'd suggest that the reaction is 3rd order. In general, we have to recognize that the precision of each estimated parameter decreases when we increase the number of parameters estimated. The most precise estimate of the rate constant would be giving by then solving the material balance for third order kinetics:\n", "\n", "$$\\frac{dC_A}{d\\tau} = -k{C_A}^3$$\n", "\n", "This would give:\n", "\n", "$$\\frac{1}{2{C_A}^2} = \\frac{1}{2{C_{A,f}}^2} + k \\tau$$\n", "\n", "We could use that linearization to regress the rate constant" ] }, { "cell_type": "code", "execution_count": 31, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "R2 = 0.998\n", "k = 3.383 plus/minus 0.104\n" ] }, { "data": { "image/png": "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yHr16nHPPffQqlUr0tPT+frrr+nUqRPHHHMML7744u6Mjz/+OC1btqRJkyY88MADQFDcTjjhBPr06UOjRo3o2LEj2dnZjBo1ioyMDHr16kWzZs3Izs5m4MCBtGzZkhNPPJG+fftyoMnkMzMzadq0Ka1ateL553+7U/eiRYto06YNzZs3p3nz5vz3v/8FoH///nz++ec0a9aMp556Ks/tRJKWu6fEo0WLFr63uXPn7rMsL3369PGLLrrIV65c6e7u06ZN8zp16vinn34a8zFye/8uXbr4tm3b3N29X79+PmTIEHd3v/fee/3222/3G2+80R9++GF3d58wYYKXKVPGFyxY4Dt27PAOHTr4yJEjfdWqVd6mTRvfuHGju7s/+uij/uCDD7q7+1FHHeV///vfd79n7969feTIkbvXvfDCC+7u/oc//MEbN27s69ev95UrV3r16tXd3f2TTz7xPn36eE5Oju/cudM7d+7skyZN8oULF3rJkiV9xowZ7u7evXt3Hzp0qLu7t2vXzr/66qvd77l69erdz6+44gofPXr0PlmiNW7c2CdOnOju7nfccYc3atTI3d03bdrk2dnZ7u7+/fff+66f6YQJE7xz5867989ru9y+/yIFBWR4AetTSg/vitWvv/7KW2+9xaJFi6hUqRIAp5xyCgMHDmTQoEGcdVau11Qc0Pjx48nMzKRly5YAZGdnc/jhwQRl999/Py1btiQtLY1Bgwbt3ufkk0/m6KODe/L17NmTKVOmkJaWxty5czn99NMB2LZtG61atdq9z2WXXZZnhvPPPx+Axo0bs3HjRipUqECFChVIS0tj7dq1jB07lrFjx3LSSScBsHHjRn744Qfq1q1L/fr1adasGQAtWrRg0aJFub7HhAkTeOyxx9i8eTNr1qyhUaNGdO2a+30T161bx9q1a2nXrh0Av//97xkzZgwQjHu++eabmTlzJiVLluT777/P9RixbieSLFRogeXLl1OjRo3dRXaXJk2a8Mwzz+T7uO5O7969eeSRR/ZZt2bNGjZu3Mj27dvZsmUL5coFd8Xe+2y5meHunH322bzxxhu5vs+ufXNTpkwZAEqUKLH7+a7XO3bswN25++67uf766/fYb9GiRXtsX7JkSbKzs/c5/pYtW7jxxhvJyMjgyCOPZMCAAfsdVuXueY4IeOqpp6hRowbffPMNOTk5pKWlFWg7kWShPlqgfv36rFmzZp+W0UcffbS7NZofZ511FqNGjWLlymBSsjVr1vDTT8FEQH379uWvf/0rvXr14q677tq9z/Tp01m4cCE5OTm8+eabtG7dmlNPPZWpU6cyf/58ADZv3lxorbhOnTrxyiuv7O7zXbJkye68ealQoQIbNmwA2F1Uq1WrxsaNGw84yqBSpUpUrFiRKVOmADB8+PDd69atW0etWrUoUaIEQ4cO3X1CMvr99redSLJSi5bgcs377ruPrl278thjj9GgQQPeffddnnvuOT7//PN8H7dhw4Y89NBDdOzYkZycHEqXLs3zzz/PpEmTKFWqFJdffjk7d+7ktNNO47PPPqNEiRK0atWK/v37M2vWrN0nxkqUKMFrr71Gz5492bp1KwAPPfQQxx13XIH/7R07dmTevHm7uyLKly/PsGHDKFky7zsHXXXVVdxwww2ULVuWL774gj59+tC4cWPq1asX039Mr776Ktdccw2HHnoonTr9dju4G2+8kW7dujFy5EjOOOOM3S31Jk2aUKpUKZo2bcpVV12V53YiySplbjee23y08+bN44QTToj5GCNHjuS5555jyZIltGrVinvvvZdETiY+ceJEnnjiCT788MOEvWcqO9ifv0huzCzTf7vPYb6oRRule/fudO/ePewYIpJi1EebRNq3b6/WrEicrFkT3nur0IpISnN33n33/6hXbzldu/6JUaNG7b4QKFHUdSAiKe2qq/7O9Omv88ADd1CxYkMeeeQRRo8ezZAhQxI2+ZAKrYikrKee+plhw65lxowbadLkMAB69epF06ZNmTJlCm3atElIDnUdiEhK+te/YMCAynTr9q/dRRagbNmy9OjRg08++SRhWVRo46x8+fIALF26lEsuuSSh771161Y6dOhAs2bNePPNN7nuuuuYO3cuAA8//HBCs4gkkjvMng133/0xOTlf77N+xYoVVKxYMZGBwp8QpjAeBZ1UJl7KlSuXsPfavn37Hq+/+OILb9u2ba7bJjJXWJLh5y+JlZPj/sAD7t99F7xeu3atV6tWzceNG7d7my+//NKrVKniWVlZMR2TQphURi3aBIme4Pq1117j4osv5pxzzuHYY4/lzjvv3L1dXtMh5jUVYfv27bnnnnto167dHvMyrFy5kiuuuIKZM2fSrFkzFixYQPv27cnIyKB///5kZ2fTrFkz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5kwuueQSTjrpJJo3b77/g4lIsadCG2XcOLjmGjj6aLjsst+Wly9fnsmTJ7N582batWtH9+7dad68OSNGjAgvrIgUGZYqZ83T09M9IyMj3/uPHBl0FYwaFXQbiIgAmFmmu6cX5BjFskU7Y8YMunfvTv369TnjjDN4+umJ/OEPMHasiqyIFL5iV2i//vprOnbsSLt27Rg7dhyXXNKfp5++mv7930DntUQkHopd10G3bt0488wz6dfvJv7852DOgueey6Rbt4tYuHAhJUuWTEBaESkq1HWQD5mZmZx11jlcfTVMmxZM2t2yZQu2bNnCypUrw44nIimo2BXao446ii+++J5SpYI+2cqVISsrix07dlC5cuWw44lICipWs3etWwfVqg1m4MDzeeedmpQrdxJLlizh6quvpk+fPqSlpYUdUURSUEoWWnfnyy+/ZPr06dStW5fOnTvz66+lOeccOP304znnnDvp2rUrO3bsYNu2bVx33XX87W9/Czu2iKSolDsZtnXrVi699FLmzJlDp06dmD17Nj//vBb3r7jqqkO4//7gVuA7duxgxYoVVKlSRXPLikieCuNkWEq1aDdt2sTNN9/MkiVL+PrrrznssMPIzobnn3+CESNu54EHnt29balSpahdu3aIaUWkuEiZk2Fr167lqKOOYtSoUezcuZNjjjmGp576ggYN4PLLb2XBgmEaVSAioUiZFu2iRYuYNm0aV199NS+99BJTp5bj9tsPZ/jwddSoUZ6SJUuyY8eOsGOKSDGUMn20pUuX9lNOOYWyZctStWoNFi8eSrlyA+nWrQblypXj2WefZfr06WHHFJEipjD6aFOm0JqZlyhRgpycCyhZchzNmjXgkENKs2XLFpYuXcqYMWM46aSTwo4pIkWMrgyLUqJESapW/QclSjxJTk4V1q1by//+9z86derE3LlzVWRFJDQpU2jLlDma9evPpX79K3FfzIIFC+jVqxePPPIIVapUCTueiBRjKVNoa9Q4jCFDFnHsseUBKFu2LPfee2/IqUREUqjQVq0Kl13WkZo1awJw/PHHc+SRR4acSkQkhU6GlSxZ0itVqsSaNWsoU6YMU6dOpUWLFmHHEpEiLuVPhpnZOWb2nZnNN7P+B9p+/fr11KtXj4ULF6rIikjSSNpCa2YlgeeBc4GGQE8za5jX9rVq1WL8+PH8+OOP1KpVK1Ex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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "data": { "image/png": "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z5496dmzZ3EgTpw4kTfeeIPU1FSmTp3Kvn37+M1vfkPv3r1JSUnhwQcfBCIX1a677jq6dOnCueeey5YtZd3YCwMHDmTSpEkMGDCAv/71r7z44ov84Ac/oEePHgwePJgvv/ySrKwspk+fztSpU0lNTeWNN94gNzeXiy66iN69e9O7d2/eeivyIJrXX3+d1NRUUlNT6dGjBzt27Kj0zz0m7l4rX7169XKRRFi1alVM2+3du9c7d+7sU6ZM8d27d3tBQYHPmjXLjzvuOM/Nza3U8c877zzPz893d/drr73WZ82a5RkZGT548ODi7b766it3dx8wYIAvXbq0uD16GfC5c+e6u/sFF1zgQ4YM8fz8fM/MzPTu3bu7u/uuXbt89+7d7u6+Zs0aL/q7t2jRIj/33HOL9/vggw/6bbfd5u7ue/bs8V69evn69ev92Wef9cGDB3tBQYFv3LjRjznmGP/Xv/71ve81YMAAv/baa4uX8/LyvLCw0N3dH3roIb/xxhvd3f0Pf/iD33333cXbjRkzxt944w13d8/OzvbOnTu7u/t5553nb775pru779ixw/fu3Vvmz7I0IMMrkU0aEicSUq+++irHHnssN998c3Hb5Zdfzmuvvcbs2bP51a9+VaH9vvbaayxbtozevXsDsHv3blq1asXIkSNZv349119/Peeeey5Dhx78mbANGjRg+PDINOjJyckcccQR1K9fn+TkZLKysoDIuOzrrruOzMxM6taty5o1a8rc1/z58/nggw+K+4u/+eYbPv30U5YsWcKYMWOoW7cuSUlJnH322eXWM3r06OL3OTk5jB49ms2bN5Ofn1/u0LWFCxeW6CPfvn07O3bsoF+/ftx4441ceumlXHjhhbRr1+6gP4+qoFAWCanPPvuMlJSU77WnpKSQnV3xOW/cnSuuuII///nP31u3YsUKXn31Ve6//36eeeYZHnnkkQPuq379+sWjEOrUqcMRRxxR/L6oX3fq1Kkcd9xxrFixgsLCQho2bFhuXX//+98ZNmxYifa5c+fGPNKhcePGxe+vv/56brzxRs4//3wWL17M5MmTy/xMYWEh77zzDo0aNSrRPnHiRM4991zmzp1Lnz59WLhwIdUxs6T6lEVCKi0tjfnz57N3797iNndn7ty5xWe5FTFo0CDmzJlT3Debl5dHdnY2W7dupbCwkIsuuojbbrutuO/6qKOOqlR/6jfffEObNm2oU6cOs2fPZt++fWXud9iwYTzwwAPF33fNmjXs2rWL/v3789RTT7Fv3z42b97MokWLYj5u27aRqdVnzZpV3F76uEOHDuW+++4rXs7MzARg3bp1JCcnM2HCBNLS0li9enXFfgCHSKEsElK9e/emR48ejBo1irfffpv333+fK6+8kry8PH784x9XeL9dunRhypQpDB06lJSUFIYMGcLmzZvZuHEjAwcOJDU1lbFjxxafSY8dO5Zrrrmm+ELfoRo/fjyzZs2iT58+rFmzpvhsNiUlhXr16tG9e3emTp3KVVddRZcuXejZsyfdunVj3LhxFBQU8KMf/YhOnTqRnJzMtddey4ABA2I67uTJk7n44os588wzadGiRXH7yJEjee6554ov9P3tb38jIyODlJQUunTpwvTp0wGYNm0a3bp1o3v37jRq1IgRI0Yc8nevCIv0S9c+mk9ZEuXjjz/mtNNOi2nb/Px8pk6dyhNPPEF+fj6jRo1iwoQJNG1a5jOEpZqV9XtpZsvcPa2i+1SfskiINWjQgAkTJjBhwoRElyLVRN0XIiIholAWEQkRhbKISIgolEVEQkShLCISIgplkVqoSZMmAGzatKlSY54r4rvvvmPw4MGkpqby9NNPl5gK9I477qjWWsJIQ+JEarGkpKRKzU0ci4KCAurV2x8177//Pnv37i2+cy56voo77riDSZMmxbWesNOZskgtlpWVRbdu3YDIvMkXXnghw4cPp1OnTvz2t78t3m7+/Pn07duXnj17cvHFF7Nz504A/vSnP9G7d2+6detGeno6RTejlZ5Gs8iWLVu47LLLyMzMJDU1lXXr1hVPBTpx4kR2795Namoql156aTX+FMJFoSwixTIzM3n66af58MMPefrpp/n888/ZunUrU6ZMYeHChSxfvpy0tDTuvfdeAK677jqWLl3KRx99xO7du3nppZeK9/X111/z+uuvc9NNNxW3tWrViocffpgzzzyTzMxMTjrppOJ1d955J40aNSIzM5PHH3+8+r50yKj7QkSKDRo0iGOOOQaIzJGRnZ3N119/zapVq+jXrx8QufW7b9++ACxatIi77rqLb7/9lry8PLp27crIkSOBkt0SEjudKYsk2OTJYLb/tWxZ5BXdVjTrZFLS/rZevSJt6eklt416ctMhK5p6E6Bu3boUFBTg7gwZMoTMzEwyMzNZtWoV//znP9mzZw/jx49nzpw5fPjhh1x99dUlnu4cPY2mxC70oWxmp5pZZtRru5n9stQ2A83sm6htbk1QuSKHbPJkcN//6tUr8opuKwrlTZv2ty1bFmmbMaPktklJVVtfnz59eOutt1i7di0A3377LWvWrCkO4BYtWrBz584quWBYv379ElOV1kah775w90+AVAAzqwtsBJ4rY9M33P28aixNpFZo2bIlM2fOZMyYMXz33XcATJkyhVNOOYWrr76a5ORkOnToUKk5noukp6eTkpJCz549a22/co2autPMhgJ/cPd+pdoHAr8+lFDW1J2SKIcydaeEWzym7gx990UplwBPlrOur5mtMLNXzKxrdRYlIlJVakwom1kD4HzgX2WsXg6c4O7dgb8D/y5nH+lmlmFmGbm5uXGrVUSkompMKAMjgOXu/mXpFe6+3d13Bu/nAvXNrEUZ281w9zR3T2vZsmX8KxYROUQ1KZTHUE7XhZm1tuBxt2Z2OpHvta0aaxM5JDXpWo6ULV6/h6EffQFgZkcCQ4BxUW3XALj7dODHwLVmVgDsBi5x/amXkGrYsCHbtm2jefPmBOcSUsO4O9u2baNhw4ZVvu8aNfqiKmn0hSTK3r17ycnJKXGjhdQ8DRs2pF27dtSvX79Eux6cKlLD1K9fn44dOya6DAmpmtSnLCJy2FMoi4iEiEJZRCREFMoiIiGiUBYRCRGFsohIiCiURURCRKEsIhIiCmURkRBRKIuIhIhCWUQkRBTKIiIholAWEQkRhbKISIgolEVEQkShLCISIgplEZEQUSiLiISIQllEJEQUyiIiIaJQFhEJEYWyiEiIKJRFREJEoSwiEiI1IpTNLMvMPjSzTDPLKGO9mdnfzGytmX1gZj0TUaeISGXVS3QBh+Asd99azroRQKfg9QPggeBXEZEapUacKcdgFPCoR7wLHGtmbRJdlIjIoaopZ8oOzDczBx509xml1rcFPo9azgnaNldTfQn12Wef8a9//YvvvvuOkSNHkpycnOiSRKSCasqZcj9370mkm+LnZta/1Hor4zNeusHM0s0sw8wycnNz41FntXv88cfp0aMHa9asYdu2bQwbNoxJkyYluiwRqSBz/152hZqZTQZ2uvs9UW0PAovd/clg+RNgoLuXe6aclpbmGRnfu2ZYo2zbto2TTz6Zt956iy5duhS39erViyeffJK+ffsmuEKR2sfMlrl7WkU/H/ozZTNrbGZHFb0HhgIfldrsBeDyYBRGH+CbAwXy4WLu3LkMGjSoOJABmjdvzpVXXsmzzz6bwMpEpKJqQp/yccBzZgaRep9w93lmdg2Au08H5gLnAGuBb4GfJajWamVmFBYWfq+9sLCQ4OclIjVMjeu+qCqHQ/dFXl4eJ510EkuWLCm+uJebm0uvXr2YM2cOp59+eoIrFKl9Ktt9URPOlKUczZo1Y/r06QwYMIBRo0bRpEkTnnnmGa699loFskgNpVCu4UaPHk3//v2ZM2cOe/bs4fXXX6dz586JLktEKkihfBho06YN119/faLLEJEqEPrRFyIitYlCWUQkRBTKIiIholAWEQkRhbKISIgolEVEQkShLCISIgplEZEQUSiLiISIQllEJEQUyiIiIaJQFhEJEYWyiEiIKJRFREJEoSwiEiIKZRGREFEoi4iEiEJZRCREDhrKFnGimdWtjoJERGqzg4ayuzvwIeDxL0dEpHaLtfvifeCUeBYiIiKxP816MTDPzGYCnxN11uzuj1R9WSIitVOsodwP2AAMKNXuQFxD2czaA48CrYFCYIa7/7XUNgOB54MaAf7X3f8Uz7pEROIhplB297PiXcgBFAA3uftyMzsKWGZmC9x9Vant3nD38xJQn4hIlYn1TBkzawqMBNoCG4EX3f2reBVWxN03A5uD9zvM7OOghtKhLCJS48V0oc/M+gLrgGuAFGAcsC5orzZm1gHoAfynjNV9zWyFmb1iZl2rsy4RkaoS65nyNGC8uz9V1GBmo4G/Ab3jUNf3mFkT4Fngl+6+vdTq5cAJ7r7TzM4B/g10KmMf6UA6wPHHHx/fgkVEKsAiw5APspHZV0Bzdy+MaqsLbHX3pnGsr+hY9YGXgFfd/d4Yts8C0tx9a3nbpKWleUZGRtUVKSICmNkyd0+r6OdjHaf8KXBJqbaLiXRpxJWZGfBP4OPyAtnMWgfbYWanE/le2+Jdm4hIVYu1++KXwEtmdgOQDXQg0j1QHaMd+gE/BT40s8ygbRJwPIC7Twd+DFxrZgXAbuASj+W/ACIiIXPQUA7OQL8AOgNDgSTgRWCuu+fFtzxw9zcBO8g29wH3xbsWEZF4O2gou7ub2YfAUe7+WDXUJCJSa2nuCxGRENHcFyIiIRL6uS9ERGqTWC701QVmA0+4+574lyQiUnvFMsn9PuBeBbKISPzFeqHvRTMbGddKREQk5j7lhsAcM3uH71/ouzwehYmI1EaxhvJHweuw4e7MmTOH5cuX06FDBy655BKOPvroRJclIrVcTBMSHY4aN27sPXv2ZNiwYaxYsYK3336bBQsW0KVLl0SXJiI1WGUnJDpgKJvZr939nqjlIe6+IGr5Xne/saIHT6QWLVp4bm4uwTxG/OMf/+CZZ55h8eLFiS1MRGq0eIfydnc/Omo5z92blbe+JunatauvXLmyeDk/P58WLVqQlZVFs2bNDvBJEZHyxXvqztITAR1sucYo/Y9RYWEh7k7dunUTVJGIyMFDufRp9MGWa4zNmzezb9++4uVp06bRr18/jjnmmARWJSK13cFGX5iZdWT/GXGdUss19kx53759pKSkMGTIEFasWEFOTg4LFiw4+AdFROLoYH3KhUTOhssLX3f3Gvn//bS0NL/nnntYvnw5J5xwAiNHjqRBgwaJLktEarjK9ikf8EzZ3WO9469GGjhwIAMHDkx0GSIixQ7r0I3VggULuPjiixkwYAC33norubm5iS5JRGqpWh/K//jHP0hPT2f48OHceuutfPHFF/Tt25etW8t9ELaISNzU2jv60tLSfMmSJbRv3553332XTp06Fa+7+uqrSUpK4o9//GMCKxSRmije45QPax988AEdO3YsEcgAP/nJT1iyZEmCqhKR2qxWh3KrVq3Iyclh7969JdrXr19Pq1atElSViNRm5YaymX1uZp8d7FWdxVa1E088kZSUFCZNmkR+fj4Aq1ev5o477mDcuHEJrk5EaqMDDYm7rNqqSKDHH3+cn/70p7Rv356kpCRycnK4/fbbOfvssxNdmojUQuWGsru/Xp2FJErLli2ZN28eGzZsIDc3l+TkZBo1apToskSklop1knvMLBU4E2hB1B1+7n5r1Zf1vWMPB/4K1AUedvc7S623YP05wLfAWHdffijH6NixIx07dqyiikVEKiamC31mlg68BZwNTACSgZuAk+NXWvGx6wL3AyOALsAYMys9E/0IoFPwSgceiHddIiLxEOvoi98Cw939R8Du4NcfA3sP/LEqcTqw1t3Xu3s+8BQwqtQ2o4BHPeJd4Fgza3OgnW7YsIHbb7+dLVu2xKdqEZEKiDWUW7n7G8H7QjOr4+6vANXxhOu2RB7WWiQnaDvUbUo4+uijyc7OJjU1lTVr1lRJoSIilRVrKOeYWYfg/RpglJmdCeTHpaqSypqhrvRtiLFsg5mlm1mGmWV89VUjHnpoBps3b+LUU09h2TJYtgzM9r8mT458Lilpf1uvXpG29PSS227aBC++WLJtxoyi4+5/jQz+GRs5smQ7RLaPbnvxxch+o9vS0yPb9uq1vy0pKdI2eXLJbfWd9J30nar/O1VWTLdZm9lY4Et3f8XMRgBzgAbADe4e1/5bM+sLTHb3YcHy7wDc/c9R2zwILHb3J4PlT4CB7r65vP2mpaV5RkYGeXl5tG/fnl27dsXza4hILRHXqTuLuPvMqPevmFlToIG776zogQ/BUqBTMLn+RuAS4P+V2uYF4Dozewr4AfDNgQIZ4IsvvmD58uU0adKEo4+ukY8ZFJHDUEyhbGaluzkKgIKgb7mw6svaz90LzOw64FUiQ+IecfeVZnZNsH46MJfIcLi1RIbE/exg+927dy8XXHABdevW5fLLL4/fFxAROQSxjlMuoPzn8cX9ySPuPpdI8Ea3TY9678DPD2Wf+fn51KlTh+3bt5OSklI1hYqIVFKsF/o6AidGvfoBLxIZE1wjNWvWjNdee41p06bx/PPPJ7ocEREgxlB29+xSr3eBK4jcSFIjNW3alC5dulC3bl0KC+PaAyMiErPKTN15NNCyqgpJhD179nDfffdx4YUXJroUEREg9gt9synZp3wk0B94LB5FVYeNGzeSkpJCWloao0ePTnQ5IiJA7Bf61pZa3gVMd/eFVVxPtTEzHnnkEfr164dVxYhvEZEqEOs45T/Gu5DqlpSUxBlnnJHoMkRESig3lM3sv2LZgbs/UnXlhI+7M2PGDB566CG2bdvGWWedxS233KJpPkUkLg50pvzTqPdGZBjcF0Qm/mkPtAbeBA7rUJ44cSKLFi3irrvuon379jzxxBOcccYZLF26lKSim+RFRKpIrHNf/B1Y5+7Totp+AZzk7jfEr7z4Oe2003zlypXUqVP+AJTc3FxOOeUUPv30U1q0aFHcfsMNN9CkSRPuuOOO6ihVRGqQys59EeuQuMuAv5dqu4+SZ9M1SlZWFqeccgpLly4td5uVK1eSnJxcIpABhg8fzvLlh/RgExGRmMQayl8A55dqGwnU2Bniu3btyl/+8hdGjhxZ7gxxJ5xwAqtXr+a7774r0b5ixQo6dOhQDVWKSG0TayjfAMw0s7fN7GkzeweYBVwfv9Li76KLLiItLa3c26w7duxIv379GDduHHl5ebg78+bNY+rUqYwfP76aqxWR2iDWIXELzOwkIs/CSwJeBl52923xLK46tG/fnq1bt5a7/tFHH+UXv/gFHTp0oF69erRp04bZs2drEiMRiYuYLvQdjtLS0nzx4sWceuqpzJs3j+Tk5ANuv2vXLnbt2kXLli11s4mIlCtuk9yb2Tx3Hx68f4Nypu509/4VPXgi5eXl0b9/f0aOHHnQQAZo3LgxjRs3robKRKQ2O1D3xaNR7x+OdyHV7auvvuLPf/4zP/nJTxJdiohIsVrbfXHMMcf4ySefTP/+/fn1r39N27YHfPi1iEhMqmWcspmNMbPTgvenmtnrZvZ/Zta5ogdOtObNm3P//fdTp04d+vbty6ZNmxJdkohIzHf0rQN+6O5fmtmLwCfATqC/u58d5xrjouhp1hC5Q69Ro0b85S9/SXBVIlLTVdcdfS2DQG4InAHcDPwJSK3ogcPkwgsv5O233050GSIiMc+nnGtmJwPJwFJ3/87MjiQyUVGN98knn2hyIREJhVhD+TZgGbAPKHpMxyBgRTyKqg5Fz+XLzMxkypQpzJ49O8EViYgcwuiL4MwYd/82WG4F1HH3L+JXXvzUq1fPTzrpJLZv386dd97JFVdckeiSROQwELebR8rQCDjHzNq4+13BZyvz4NWE6tq1K0888QSdOnWiQYMGiS5HRASIfUjcACIjLi4FbgmaOwEPxKmuuKtfvz5du3ZVIItIqMR6pjwNGO3ur5nZV0Hbf4DT41JVwMzuJjJFaD6wDviZu39dxnZZwA4ifd4Flfmvg4hIIsXa/dDB3V8L3hd1QudzaN0fFbEA6ObuKcAa4HcH2PYsd09VIItITRZrKK8ys2Gl2gYDH1ZxPSW4+3x3LwgW3wXaxfN4IiKJFuuZ7k3AS2b2MtDIzB4k0q0wKm6Vfd9/AU+Xs86B+WbmwIPuPqP6yhIRqTqxTnL/rpl1J3Kh7xEiT7Q+3d1zKluAmS0k8mTs0m529+eDbW4GCoDHy9lNP3ffFAzTW2Bmq919SRnHSgfSAY4//vjKli4iUuUqPEucmaUAt7j7xVVb0veOcwVwDTCoaIz0QbafDOx093sOtF303BciIlUlrnNfmNmRZnabmb1oZvea2dFmdqKZPQe8TZwfnGpmw4EJwPnlBbKZNTazo4reA0OBj+JZl4hIvBzsQt/9RPqOVxG5sPcs8DqwksiIjJ/HtzzuA44i0iWRaWbTAcwsyczmBtscB7xpZiuA94g8O3BenOsSEYmLg/UpDwNS3X2Lmf0d+AwY4O5vxL80cPeTy2nfBJwTvF8PdK+OekRE4u1gZ8pN3H0LQHBRb2d1BbKISG10sDPlemZ2FlFTdJZedvf/i1NtIiK1zsFCeQuRIXBFtpVaduDEqi5KRKS2OmAou3uHaqpDRESowVNviogcjhTKIiIholAWEQkRhbKISIgolEVEQkShLCISIgplEZEQUSiLiISIQllEJEQUyiIiIaJQFhEJEYWyiEiIKJRFREJEoSwiEiIKZRGREFEoi4iEiEJZRCREFMoiIiGiUBYRCRGFsohIiCiURURCJNShbGaTzWyjmWUGr3PK2W64mX1iZmvNbGJ11ykiUlXqJbqAGEx193vKW2lmdYH7gSFADrDUzF5w91XVVaCISFUJ9ZlyjE4H1rr7enfPB54CRiW4JhGRCqkJoXydmX1gZo+YWdMy1rcFPo9azgnaRERqnISHspktNLOPyniNAh4ATgJSgc3Af5e1izLavJxjpZtZhpll5ObmVtVXEBGpMgnvU3b3wbFsZ2YPAS+VsSoHaB+13A7YVM6xZgAzANLS0soMbhGRREr4mfKBmFmbqMUfAR+VsdlSoJOZdTSzBsAlwAvVUZ+ISFVL+JnyQdxlZqlEuiOygHEAZpYEPOzu57h7gZldB7wK1AUecfeVCapXRKRSQh3K7v7Tcto3AedELc8F5lZXXSIi8RLq7gsRkdpGoSwiEiIKZRGREFEoi4iEiEJZRCREFMoiIiGiUBYRCRGFsohIiCiURURCRKEsIhIiCmURkRBRKIuIhIhCWUQkRBTKIiIholAWEQkRhbKISIgolEVEonz22Wf88pe/pG/fvlx00UUsWrSoWo+vUBYRCWRnZ9O3b18aNGjA3XffzYgRI7j88suZPXt2tdVg7rXzoc5paWmekZGR6DJEJETGjx9P06ZNuf3224vbli9fzsiRI8nKyqJ+/foH3YeZLXP3tIrWoDNlEZHAm2++yUUXXVSirWfPnhxxxBFs2LChWmpQKIuIBFq3bs26detKtG3fvp28vDxatGhRLTUolEVEAuPHj2fSpEmsXbsWgF27dnHDDTdw3nnn0axZs2qpoV61HEVEpAa44IILyM7Opk+fPrRp04aNGzcydOhQHnrooWqrQRf6RERK+fbbb1mzZg2tW7emdevWh/TZyl7o05myiEgpRx55JKmpqQk5dqhD2cyeBk4NFo8Fvnb31DK2ywJ2APuAgsr8KyUikkihDmV3H1303sz+G/jmAJuf5e5b41+ViEj8hDqUi5iZAT8Bzk50LSIi8VRThsSdCXzp7p+Ws96B+Wa2zMzSq7EuEZEqlfAzZTNbCJR1efNmd38+eD8GePIAu+nn7pvMrBWwwMxWu/uSMo6VDqQDHH/88ZWsXESk6oV+SJyZ1QM2Ar3cPSeG7ScDO939ngNtpyFxIhIPtWHui8HA6vIC2cwam9lRRe+BocBH1VifiEiVqQmhfAmlui7MLMnM5gaLxwFvmtkK4D3gZXefV801iohUiYT3KR+Mu48to20TcE7wfj3QvZrLEhGJi5pwpiwiUmsolEVEQkShLCISIgplEZEQUSiLiISIQjmOsrKyeOWVV773eBkRkfIolOMgPz+fyy+/nN69ezNt2jR++MMfMnr0aHbv3p3o0kQk5BTKcTBlyhS2bdtGdnY2r776KtnZ2RQUFHDLLbckujQRCbnQz30RL/Gc+6Jt27YsXLiQ0047rbgtOzub1NRU8vLyiMxEKiKHo9ow90WN8/XXX3/vuV6tW7dm+/bt1NZ/BEUkNgrlOBg8eDCzZ88u0TZ79mzOPvts6tTRj1xEyhf6uS9qojvuuINBgwaxYcMG+vfvzzvvvMPMmTOZN0/zJInIgem0LQ66du1KRkYGRx55JDNnzsTMeO+99+jZs2eiSxORkNOFPhGRKqQLfSIihxGFsohIiCiURURCRKEsIhIiCmURkRBRKIuIhIhCWUQkRBTKIiIholAWEQkRhbKISIgolEVEQiThoWxmF5vZSjMrNLO0Uut+Z2ZrzewTMxtWzuebmdkCM/s0+LVp9VQuIlL1Eh7KwEfAhcCS6EYz6wJcAnQFhgP/MLO6ZXx+IvCau3cCXguWRURqpISHsrt/7O6flLFqFPCUu3/n7huAtcDp5Ww3K3g/C7ggLoWKiFSDhIfyAbQFPo9azgnaSjvO3TcDBL+2qobaRETiolqePGJmC4HWZay62d2fL+9jZbRVavJnM0sH0oPF78zso8rsL85aAFsTXcQBqL6KC3NtoPoq69TKfLhaQtndB1fgYzlA+6jldsCmMrb70szauPtmM2sDbDlAHTOAGQBmllGZiajjTfVVTpjrC3NtoPoqy8wq9fSMMHdfvABcYmZHmFlHoBPwXjnbXRG8vwIo78xbRCT0Eh7KZvYjM8sB+gIvm9mrAO6+EngGWAXMA37u7vuCzzwcNXzuTmCImX0KDAmWRURqpIQ/zdrdnwOeK2fd7cDtZbRfFfV+GzCoAoeeUYHPVCfVVzlhri/MtYHqq6xK1VdrH5wqIhJGCe++EBGR/WpdKJvZ8OC27bVmlvC7/8ysvZktMrOPg9vNfxG0h+r2cTOra2bvm9lLYavPzI41szlmtjr4OfYNWX2/Cn5vPzKzJ82sYSLrM7NHzGxL9JDQA9UTy3QH1VDf3cHv7wdm9pyZHRum+qLW/drM3MxaVLS+WhXKwW3a9wMjgC7AmOB27kQqAG5y99OAPsDPg5rCdvv4L4CPo5bDVN9fgXnu3hnoTqTOUNRnZm2BG4A0d+8G1CUyfUAi65tJZOqCaGXWcwjTHcS7vgVAN3dPAdYAvwtZfZhZeyKDDT6Lajvk+mpVKBO5TXutu69393zgKSK3aSeMu2929+XB+x1EAqUtIbp93MzaAecCD0c1h6I+Mzsa6A/8E8Dd893967DUF6gHNDKzesCRRMbbJ6w+d18C5JVqLq+eWKc7iGt97j7f3QuCxXeJ3LcQmvoCU4HfUvImt0Our7aFcqy3bieEmXUAegD/IVy3j08j8oetMKotLPWdCOQC/xN0rzxsZo3DUp+7bwTuIXL2tBn4xt3nh6W+KOXVE8a/M/8FvBK8D0V9ZnY+sNHdV5Radcj11bZQrvJbt6uKmTUBngV+6e7bE11PETM7D9ji7ssSXUs56gE9gQfcvQewi8R39RQL+mZHAR2BJKCxmV2W2KoOSaj+zpjZzUS6/B4vaipjs2qtz8yOBG4Gbi1rdRltB6yvtoVyrLduVyszq08kkB939/8Nmr8MbhvnYLePx1k/4HwzyyLS3XO2mT0WovpygBx3/0+wPIdISIelvsHABnfPdfe9wP8CPwxRfUXKqyc0f2fM7ArgPOBS3z+WNwz1nUTkH90Vwd+TdsByM2tdkfpqWygvBTqZWUcza0CkA/6FRBZkZkakP/Rjd783alUobh9399+5ezt370Dk5/V/7n5ZiOr7AvjczIomgRlE5C7QUNRHpNuij5kdGfxeDyJy3SAs9RUpr55YpzuIKzMbDkwAznf3b6NWJbw+d//Q3Vu5e4fg70kO0DP4s3no9bl7rXoB5xC5eruOyCx1ia7nDCL/nfkAyAxe5wDNiVwF/zT4tVkIah0IvBS8D019QCqQEfwM/w00DVl9fwRWE3mgw2zgiETWBzxJpH97bxAgVx6oHiL/NV8HfAKMSFB9a4n0zRb9HZkepvpKrc8CWlS0Pt3RJyISIrWt+0JEJNQUyiIiIaJQFhEJEYWyiEiIKJRFREJEoSwiEiIKZRGREFEoi4iEiEJZpAxmdqmZ7QxehWa2O3g/PdG1yeFNd/SJHIRFnrZ+mbsvTnQtcvjTmbKISIgolEVEQkShLHJweyl7snKRKqdQFjm4DUDnRBchtYMu9IkchJkNIDIP8kp3H5HoeuTwplAWEQkRdV+IiISIQllEJEQUyiIiIaJQFhEJEYWyiEiIKJRFREJEoSwiEiIKZRGREFEoi4iEyP8HgArl2BO1ZwwAAAAASUVORK5CYII=\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "Y = (1/2/CA_exp**2)#.reshape(len(CA_exp),1)\n", "X = np.vander(tau_exp, 2)\n", "A = np.linalg.solve(X.T@X, X.T@Y) #Solve for unknown coefficiens, ln(k), α, β\n", "Ypred = X@A #predicted values of Y\n", "SSE = np.sum((Y - Ypred)**2)\n", "#SSE = (Y - X@A).T@(Y-X@A) #Residual sum of squares\n", "SST = sum((Y - np.mean(Y))**2) #Total sum of squares\n", "Ypred = X@A\n", "R2 = 1 - SSE/SST #R2\n", "s2 = SSE/(len(Y) - len(A)) #Approximation for variance\n", "cov = s2*np.linalg.inv((X.T@X)) #covariance matrix\n", "se = np.sqrt(abs(cov)) #standard error matrix; diagonal elements are standard error for coeffs\n", "ci = stats.t.ppf(0.975, len(Y) - len(A))*se #confidence intervals\n", "\n", "print(f'R2 = {R2:3.3f}')\n", "print(f'k = {A[0]:3.3f} plus/minus {ci[0,0]:3.3f}')\n", "\n", "plt.figure(1, figsize = (5, 5))\n", "plt.scatter(X[:, 0], Y, marker = 'o', color = 'none', edgecolor = 'black', label = 'experimental data')\n", "plt.plot(X[:, 0], Ypred, color = 'blue', linestyle = 'dashed', linewidth = 1, label = 'linear fit')\n", "plt.xlabel('tau (min)', fontsize = 12)\n", "plt.ylabel('1/(2CA^2)', fontsize = 12)\n", "plt.title('Third Order Fit')\n", "plt.xlim(0, 140.0)\n", "plt.ylim(0, 500)\n", "plt.legend()\n", "plt.show()\n", "\n", "plt.figure(2, figsize = (5, 5))\n", "plt.scatter(X[:, 0], (Y - Ypred), marker = 'o', color = 'none', edgecolor = 'black', label = 'estimated rates')\n", "plt.hlines(0, 0, 140, color = 'blue', linestyle = 'dashed', linewidth = 1, label = 'linear fit')\n", "plt.xlabel('τ', fontsize = 12)\n", "plt.ylabel('Residual Error', fontsize = 12)\n", "plt.title('Residual Plot')\n", "plt.xlim(0, 140.0)\n", "plt.ylim(-10, 10)\n", "plt.legend()\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Forcing the intercept to improve precision\n", "\n", "\n", "I prefer the following since it avoids estimation of a y-intercept and improves our precision on the slope.\n", "\n", "$$\\frac{1}{2{C_A}^2} - \\frac{1}{2{C_{A,f}}^2} = + k \\tau$$\n", "\n", "So in this linearization, we'd plot:\n", "\n", "$\\frac{1}{2{C_A}^2} - \\frac{1}{2{C_{A,f}}^2}$ vs. $\\tau$. The slope of that line is your rate constant." ] }, { "cell_type": "code", "execution_count": 32, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "R2 = 0.998\n", "k = 3.389 plus/minus 0.085\n" ] }, { "data": { "image/png": "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zZs3JzY2luXLl9OuXTtq1arF8OHDT8T4+uuv06RJExo2bMiLL74IOMmtTp069OzZk3r16tG2bVuOHDnCpEmTiIuLo2vXrsTExHDkyBEGDhxIkyZNqF+/Pr169SKnYvLLli2jUaNGNG/enKFDT+7UvXHjRq6++moaN25M48aN+d///gdAv379WLRoETExMbz11ltZnmdM2FLViPi47LLLNKPVq1ef1paVnj17aufOnTUpKUlVVX/66SetWrWqzpkzx+/3yOz6N9xwgx4/flxVVR9++GEdNWqUqqo+++yz+sQTT+gjjzyigwcPVlXVefPmabFixXT9+vWakpKirVu31okTJ+rOnTv16quv1oMHD6qq6quvvqovvfSSqqqef/75+tprr524Zvfu3XXixIknjg0bNkxVVR9//HFt0KCB7t+/X5OSkrR8+fKqqjpz5kzt2bOnpqWlaWpqql5//fW6YMEC3bBhgxYqVEhXrFihqqpdunTR0aNHq6pqixYtdOnSpSeuuWvXrhOPu3XrptOmTTstFl8NGjTQ+fPnq6rqk08+qfXq1VNV1UOHDumRI0dUVfWPP/7Q9O/pvHnz9Prrrz/x+qzOy+zrb0xeAXGax/wU0dO7/LVnzx4mTJjAxo0bKVOmDACXX345AwcO5J133qFVq0zXVORo7ty5LFu2jCZNmgBw5MgRKlRwCpS98MILNGnShOLFi/POO++ceE3Tpk254AJnT7677rqLxYsXU7x4cVavXs2VV14JwPHjx2nevPmJ19xxxx1ZxtCpUycAGjRowMGDB4mOjiY6OprixYuzd+9eZs2axaxZs7j00ksBOHjwIGvXrqV69erUrFmTmJgYAC677DI2btyY6TXmzZvHkCFDOHz4MLt376ZevXrceGPm+ybu27ePvXv30qJFCwDuueceZsyYATjznvv27Ut8fDyFChXijz/+yPQ9/D3PmHBhiRbYvn07FStWPJFk0zVs2JC333471++rqnTv3p3//Oc/px3bvXs3Bw8eJDk5maNHj3LWWc6u2BnvlosIqkqbNm0YN25cptdJf21mihUrBkBUVNSJx+nPU1JSUFX69+/PQw89dMrrNm7ceMr5hQoV4siRI6e9/9GjR3nkkUeIi4ujWrVqDBgwINtpVaqa5YyAt956i4oVK/LLL7+QlpZG8eLF83SeMeHCxmiBmjVrsnv3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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" }, { "data": { "image/png": "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thwRkfgV9BjmhgJNG8zsGmAZ8FSZVyUiEodK073bSUC9siokWrKyssjO1mFXESm5oLdGzjCz5/IMycByYGZkyys7a9asYdCgQVStWpVatWpx/fXXs2fPnliXJSLlSNAtzHWEHq+bM3wMXOHu4yJVWFnavXs3vXr1olevXuzbt4+0tDROOOEEBg8ejLueFCwiwQQ9hvmHSBcSSTNmzKBHjx6MHz8egOrVq/Poo49yzjnn8MEHH9CtW7cYVygi5cHRely/LsgC3P3psisnMr744gs6d+6cr83M+NnPfsaaNWsUmCISyNG2MK/K89qArsBWYCNwGvAj4AMg7gOzVatWLFq0iLFjx+a2ZWVlsWTJEm6++eYYViYi5UmRxzDdvWfOAHwO3Obup7n7ue5+GnBruD3uXXnllaSkpPC73/2OrVu3sm7dOq666irOOOMMOnXqFOvyRKScCHrS50pgaoG2v5N/KzRunXTSSbz//vt89dVXtGjRgm7dutGoUSNeffVVzKz4BYiIEDwwtwIXFWgbDGwv23Ii57TTTmPGjBns3buXf/3rX7g7v/71r0lOTiYzMzPW5YlIORA0MH8JTDezf5vZLDP7CHgWKBeXFeX11FNP0bdvX2rVqkViYiL3338/Q4cOVWiKSLEs6HWIZlYX6A80ArYAb7j7rgjWdlRJSUmekpJSovfs27ePZs2a8Z///IezzjoLgMzMTLp3784tt9zCFVdcEYlSRaQcMbPl7p5U2LTAt0a6+053n+Huf3X352IZlsfq/fffp2PHjrlhCVC5cmWuu+463njjjRhWJiLlwdGuw/yXu/cLv15CEd27ufv5EaqtzNWoUYO9e/f+oH3v3r3UqFEj+gWJSLlytOswn8vz+slIFxIN559/Ptu2beOVV15h2LBhAGzevJmHH36Y559/PsbViUi8KzIw3f2FPK+fjU45kVW5cmXmzJnDkCFDeOihh6hXrx6LFi1i0qRJnHfeebEuT0TiXNBHVIwAUt19lZn9FPgHkAWMcffVkSywrHXo0IEvv/ySd955h3379vHoo4/yox/9KNZliUg5ELTH9XuBc8OvHyDUcfAB4FGgVwTqKlPff/897777Lt9//z09e/akdu3aDBgwINZliUg5EzQw67n7NjOrCpwHXAocBnZGrLIysmTJEoYPH07z5s2pXr061157LQ8//DBXXVUu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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "Y = (1/2/CA_exp**2 - 1/2/CAf**2)#.reshape(len(CA_exp),1)\n", "X = tau_exp.reshape(len(tau_exp),1)\n", "A = np.linalg.solve(X.T@X, X.T@Y) #Solve for unknown coefficiens, ln(k), α, β\n", "Ypred = X@A #predicted values of Y\n", "SSE = np.sum((Y - Ypred)**2)\n", "#SSE = (Y - X@A).T@(Y-X@A) #Residual sum of squares\n", "SST = sum((Y - np.mean(Y))**2) #Total sum of squares\n", "Ypred = X@A\n", "R2 = 1 - SSE/SST #R2\n", "s2 = SSE/(len(Y) - len(A)) #Approximation for variance\n", "cov = s2*np.linalg.inv((X.T@X)) #covariance matrix\n", "se = np.sqrt(abs(cov)) #standard error matrix; diagonal elements are standard error for coeffs\n", "ci = stats.t.ppf(0.975, len(Y) - len(A))*se #confidence intervals\n", "\n", "print(f'R2 = {R2:3.3f}')\n", "print(f'k = {A[0]:3.3f} plus/minus {ci[0,0]:3.3f}')\n", "\n", "plt.figure(1, figsize = (5, 5))\n", "plt.scatter(X[:, 0], Y, marker = 'o', color = 'none', edgecolor = 'black', label = 'experimental data')\n", "plt.plot(X[:, 0], Ypred, color = 'blue', linestyle = 'dashed', linewidth = 1, label = 'linear fit')\n", "plt.xlabel('tau (min)', fontsize = 12)\n", "plt.ylabel('1/(2CA^2) - 1/(2CA0^2)', fontsize = 12)\n", "plt.title('Third Order Fit')\n", "plt.xlim(0, 140)\n", "plt.ylim(0, 500)\n", "plt.legend()\n", "plt.show()\n", "\n", "plt.figure(2, figsize = (5, 5))\n", "plt.scatter(X, (Y - Ypred), marker = 'o', color = 'none', edgecolor = 'black', label = 'estimated rates')\n", "plt.hlines(0, 0, 149, color = 'blue', linestyle = 'dashed', linewidth = 1, label = 'linear fit')\n", "plt.xlabel('τ', fontsize = 12)\n", "plt.ylabel('Residual Error', fontsize = 12)\n", "plt.title('Residual Plot')\n", "#plt.xlim(-14.0, 2.0)\n", "#plt.ylim(-14.0, 2.0)\n", "plt.legend()\n", "plt.show()\n" ] } ], "metadata": { "colab": { "authorship_tag": "ABX9TyP0ZJPj0jWZ7tx7s+T6+2CS", "name": "P14.ipynb", "provenance": [] }, "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.9.13" } }, "nbformat": 4, "nbformat_minor": 1 }