From 9120c72317862505264beb231f0f239a91125951 Mon Sep 17 00:00:00 2001 From: Gerardo Marx Date: Thu, 26 Mar 2026 08:01:19 -0600 Subject: [PATCH] session 4 and 5 updated --- session-4-random-vars/main.ipynb | 759 +++++++++++++++ session-5-error/main.ipynb | 469 +++++++++ .../week5_error_propagation_lab.ipynb | 900 ++++++++++++++++++ 3 files changed, 2128 insertions(+) create mode 100644 session-4-random-vars/main.ipynb create mode 100644 session-5-error/main.ipynb create mode 100644 session-5-error/week5_error_propagation_lab.ipynb diff --git a/session-4-random-vars/main.ipynb b/session-4-random-vars/main.ipynb new file mode 100644 index 0000000..b0dd4e2 --- /dev/null +++ b/session-4-random-vars/main.ipynb @@ -0,0 +1,759 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 17, + "id": "b9ba75db", + "metadata": {}, + "outputs": [], + "source": [ + "# Cell 1 - Imports and reproducibility\n", + "import numpy as np\n", + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "\n", + "rng = np.random.default_rng(2026)" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "id": "220e42d8", + "metadata": {}, + "outputs": [], + "source": [ + "# Cell 2 - Define a discrete RV with PMF table\n", + "values = np.array([0, 1, 2]) # outcomes\n", + "probs = np.array([0.2, 0.5, 0.3]) # \n", + "\n", + "assert np.all(probs>=0), \"Probabilities must be nonnegative\"\n", + "assert np.isclose(probs.sum(), 1.0), \"Probabilities must sum to 1\"" + ] + }, + { + "cell_type": "markdown", + "id": "5766655f", + "metadata": {}, + "source": [ + "$E[X]=\\sum_x x\\, p(x)$\n", + "\n", + "$\\text{Var}(X)=E[X^2]-\\mu^2$" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "id": "473ff8a8", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(np.float64(1.1),\n", + " np.float64(0.48999999999999977),\n", + " np.float64(0.6999999999999998))" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Cell 3 - Anlytical E[X], Var(X)\n", + "EX = np.sum(values*probs)\n", + "EX2 = np.sum((values**2)*probs)\n", + "VarX = EX2-EX**2\n", + "SDX = np.sqrt(VarX)\n", + "EX, VarX, SDX" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "id": "32d1a6bf", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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8uT2TKxvd2qsdemu7Xn6PWfifruLUZ87jbFLyLQxLGr/Hc1kNfU33qyMu9flSabttzu35a51mXieeLJMbXlyeybWtzs11rp01/Y8/Z4zcb/dpT63Z+fz20f9U9ewoy5rTk9Pl7i4uBrLvPTSS7J582Y5ceKEc9nvf/97+c9//iOZmZl6Xl3GHBUVJW+//baeV81PnTt3lhkzZsi8efNuuh+qe0l1DanWlsDAQPE0NWpaNY+pxNmpU6c6l3H3ujzJtP1257bctS4TzxNPlqktT27PxPp2p8Zal+7anqffcybut7vU1/bsfH7bDiylpaXOvqt77rlHFi9erC9ZbteunQ4Zqrvm3LlzsmbNGudlzX379pXp06fLU089Jdu3b5fnn39ePvvsM33psuOy5gkTJsjKlSt1cFmyZIl89NFH8s0331w3tuVWDxgAAJjBzud3M7srP3TokA4oDur+KYoKHOqGcPn5+ZKTk+N8vlu3bjqcvPDCC7J06VKdzFatWuUMK0p8fLxcvHhRkpKS9EDb/v3769aX2oQVAADg/W6pS8gUtLAAAODdn9+N8iohAADQtBBYAACA8QgsAADAeAQWAABgPAILAAAwHoEFAAAYj8ACAACMR2ABAADGI7AAAADjEVgAAIDxCCwAAMB4BBYAAGA8AgsAADAegQUAABiPwAIAAIxHYAEAAMYjsAAAAOMRWAAAgPEILAAAwHgEFgAAYDwCCwAAMB6BBQAAGI/AAgAAjEdgAQAAxiOwAAAA4xFYAACA8QgsAADAeAQWAABgPAILAAAwHoEFAAAYj8ACAAC8M7CkpqZK165dJSAgQKKjo+XgwYM1ln3wwQfFx8fnumnUqFHOMhMnTrzu+YcffrhuRwQAALxOM7svWL9+vSQkJMiKFSt0WFmyZInExsbK6dOnpWPHjteV/+STT+Tq1avO+e+//14iIyPlsccecymnAsr777/vnPf397d/NAAAwCvZbmFZvHixTJ06VSZNmiR33323Di6tWrWS1atXV1u+Xbt2EhIS4py2bt2qy/88sKiAcm25tm3b1v2oAABA0w0sqqXk8OHDEhMT878V+Prq+X379tVqHe+9956MHTtWWrdu7bJ8586duoWmV69e8swzz+iWmJpUVFRISUmJywQAALyXrcBy6dIlqayslODgYJflar6goOCmr1djXU6ePClTpky5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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/plain": [ + "(np.float64(1.0966),\n", + " np.float64(0.4897884399999999),\n", + " np.float64(0.6998488693996725))" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Cell 4 - Monte Carlo Sampling of X\n", + "# Empirical mean and variance\n", + "N = 50_000\n", + "X = rng.choice(values, size=N, p=probs)\n", + "plt.plot(X[0:50], '.k')\n", + "plt.show()\n", + "\n", + "eMean = X.mean()\n", + "eVar = X.var(ddof=0)\n", + "eSD = np.sqrt(eVar)\n", + "eMean, eVar, eSD" + ] + }, + { + "cell_type": "code", + "execution_count": 21, + "id": "0eb32f7f", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([0, 1, 1, 1, 1, 2, 2, 0, 1])" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "X[0:9]" + ] + }, + { + "cell_type": "code", + "execution_count": 22, + "id": "a2ece9c5", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkQAAAHHCAYAAABeLEexAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAQLBJREFUeJzt3QuczPX+x/HP3iwSueV+K0q5R0R1RNjk6Oic03FKEXKpdEg36kTqZKVyqRRC6sShOqFOUhurEpHrSUUUufxd14lQ7OX3f3y+22yzszO7M7tz+c38Xs/H42d2fvub+f3m992ZefvefnGWZVkCAADgYPGRPgAAAIBIIxABAADHIxABAADHIxABAADHIxABAADHIxABAADHIxABAADHIxABAADHIxABAADHIxABKJG4uDh57LHHOIsAohqBCLChuXPnmqDhWhITE6VWrVpy++23y/79+yN9eAAQcxIjfQAAfHv88celQYMG8ssvv8jnn39ugtKqVatk69atUrp0aVucup9//tkENgCIZnyKATbWvXt3adOmjfn5jjvukCpVqshTTz0l77zzjvzlL38RO7BLMAOAkqDJDIgiV199tbn97rvv8tZdc801ZvGkzWv169fPu797927T/PbMM8/IzJkz5cILL5Tk5GS5/PLL5Ysvvijw2HLlypnmuV69epmfq1atKvfff79kZ2cX2odIf9Z1O3fuNM9z3nnnSYUKFaR///5y+vTpArVLf/vb30zQO/fcc+WGG24w+/SnX9LKlSvNdm+88YaMGzfONCnqc/z5z3+W48ePy5kzZ2TEiBFy/vnnm+PX/es6T6+//rq0bt1aypQpI5UqVZK//vWvsnfv3nzbfPrpp3LTTTdJ3bp1zTmrU6eO3Hvvveb4i3vePP3+97+XCy64wOvv2rdvnxeMVVpamlx11VXm3Oo+Lr74Ynn44YelKHq+hg0bJosXL5amTZua19KkSRNZtmxZkY8FYh01REAU0VCjKlasWOznmD9/vvz0008yZMgQ8wU5ceJE+eMf/yjff/+9JCUl5W2nX+ApKSnSrl07E6I++ugjefbZZ02QuvPOO4vcj9ZgaXNfamqqbNy4UWbNmmXCidZwuQcIDTS33XabXHHFFfLxxx9Ljx49Ano9+vwaZkaNGmVC2PPPP29eR3x8vPzvf/8zwcrV3KjHM2bMmLzHPvnk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DUIjRozw+ZgzZ86YxeXEiRPmNjMzUzJ37ZLEwYMlzlsYUpYl1pAhktW5MzVFIaBl4H6LyKI87IOysA/Kwj5C/V0RVYHo4MGDUq1atXzr9L6GnJ9//lnKlClT4DGpqakybty4AuvT09Ol7nffyZW+wtCv4rKzZe28eZLRrFkQXgG8SUtL48TYCOVhH5SFfVAWkXf69OmQPn9UBaLiGD16tIwcOTLvvoanOnXqSKdOnaTyFVeINXas7xoirSRKSJB2ffpQQxSitK8fMl27dpWkpKRQ7AKUR1TivWEflIV9ZGj/3hCKqkBUvXp1OXToUL51er98+fJea4eUjkbTxZN+ASdVry4yc6bIkCEi2dkFHxwfL3EzZkhSgwbBexHwXhYEItugPOyDsrAPyiLyQv09EVWBqH379rJ06dJ867SGQdcXm3aY1g7ZO3eKnHOOyO7dv40y0+etXbvkBw4AAGwtooHo5MmTslODiNuw+s2bN0ulSpWkbt26prlr//798tprr5nf63D7F154QR588EEzVH/FihXyxhtvyHvvvVeyA9HQ4wo+l19esucCAABRJ6ITM65fv15atWplFqV9ffTnMWPGmPsHDhyQPXv25G2vQ+41/GitkM5fpMPvZ82aVbI5iAAAgONFtIbommuuEcuyfP7e2yzU+phNmzaF+MgAAICTcC0zAADgeAQiAADgeAQiAADgeAQiAADgeAQiAADgeAQiAADgeAQiAADgeAQiAADgeAQiAADgeAQiAADgeAQiAADgeAQiAADgeAQiAADgeAQiAADgeAQiAADgeAQiAADgeAQiAADgeAQiAADgeAQiAADgeAQiAADgeAQiAADgeAQiAADgeAQiAADgeAQiAADgeAQiAADgeAQiAADgeAQiAADgeAQiAADgeAQiAADgeAQiAADgeAQiAADgeAQiAADgeAQiAADgeAQiAADgeAQiAADgeAQiAADgeAQiAADgeAQiAADgeAQiAADgeAQiAADgeAQiAADgeAQiAADgeAQiAADgeBEPRNOmTZP69etL6dKlpV27drJu3bpCt58yZYpcfPHFUqZMGalTp47ce++98ssvv4TteAEAQOyJaCBauHChjBw5UsaOHSsbN26UFi1aSEpKihw+fNjr9vPnz5dRo0aZ7b/55huZPXu2eY6HH364+Aexb59IenruLQAAcKSIBqJJ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ROr55583J1fnI9Jh+DrPDYIrPT3dBCHPpV+/fnlD7x999FGrWrVqJqBee+21Zl4WdxkZGSYAlStXzgyf7N+/vwlaCIy3ctBF5yZy0SB61113mSHgZcuWtW688UYTmtzt3r3b6t69u1WmTBnzYaUfYpmZmRRHAAYMGGDVq1fPfPboB7b+3bvCEOVgv0DE+yI8evfubdWoUcO8L2rVqmXu79y5MyLlEKf/BK+yCwAAIPo4pg8RAACALwQiAADgeAQiAADgeAQiAADgeAQiAADgeAQiAADgeAQiAADgeAQiAADgeAQiAADgeAQiAADgeImOPwMAot4111wjzZs3l9KlS8usWbOkVKlSMnToUHnssccifWgAogQ1RABiwquvvirnnHOOrF27ViZOnCiPP/64pKWlRfqwAEQJLu4KICZqiLKzs+XTTz/NW9e2bVvp3LmzTJgwIaLHBiA6UEMEICZok5m7GjVqyOHDhyN2PACiC4EIQExISkrKdz8uLk5ycnIidjwAoguBCAAAOB6BCAAAOB6BCAAAOB6jzAAAgONRQwQAAByPQAQAAByPQAQAAByPQAQAAByPQAQAAByPQAQAAByPQAQAAByPQAQAAByPQAQAAByPQAQAAByPQAQAAByPQAQAAMTp/h92t26Vqnur+gAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Cell 5 - Running mean (LLN intuition):\n", + "# \\bar{X}_n vs n\n", + "rMean = np.cumsum(X) / np.arange(1,N+1)\n", + "\n", + "plt.plot(rMean, '.r', label=\"Running mean\")\n", + "plt.grid()\n", + "plt.xlim([0,500])\n", + "plt.axhline(EX, color=\"black\", label=\"E[X]\")\n", + "plt.xlabel(\"n\")\n", + "plt.ylabel(\"Runing Mean\")\n", + "plt.title(\"Running mean vs n\")\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "id": "a9fde10e", + "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", + "
nmean_hat
051.400
151.200
251.400
351.200
450.600
.........
399510001.033
399610001.132
399710001.089
399810001.129
399910001.121
\n", + "

4000 rows × 2 columns

\n", + "
" + ], + "text/plain": [ + " n mean_hat\n", + "0 5 1.400\n", + "1 5 1.200\n", + "2 5 1.400\n", + "3 5 1.200\n", + "4 5 0.600\n", + "... ... ...\n", + "3995 1000 1.033\n", + "3996 1000 1.132\n", + "3997 1000 1.089\n", + "3998 1000 1.129\n", + "3999 1000 1.121\n", + "\n", + "[4000 rows x 2 columns]" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Cell 6 - How the estimator of E[X] changes with sample size\n", + "# Cereate many repetitions for different n and store the sample mean each time\n", + "nList = [5, 10, 20, 50, 100, 200, 500, 1000]\n", + "R = 500 # repetitions per n\n", + "\n", + "rows = []\n", + "for n in nList:\n", + " # draw an R x n matrix samples\n", + " samples = rng.choice(values, size=(R,n), p=probs)\n", + " means = samples.mean(axis=1)\n", + " for m in means:\n", + " rows.append({\"n\": n, \"mean_hat\": m})\n", + "\n", + "df = pd.DataFrame(rows)\n", + "df " + ] + }, + { + "cell_type": "code", + "execution_count": 24, + "id": "ccb262d0", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/var/folders/0c/2g7zyqyd3lj21c3yr8x3168m0000gn/T/ipykernel_42855/3468306116.py:3: MatplotlibDeprecationWarning: The 'labels' parameter of boxplot() has been renamed 'tick_labels' since Matplotlib 3.9; support for the old name will be dropped in 3.11.\n", + " plt.boxplot(groups, labels=[str(n) for n in nList])\n" + ] + }, + { + "data": { + "image/png": "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yznm448/9kRERHhOnjzpcfJ9vX79ek9kZKTnzJkzOccsWrTIExcX58nMzPQ48b4Ox2uWAN3XCxcu9Nxxxx0+1/3MM8947r777oBfEyUjedAiLi0S+8UvfmESpRblucnRo0flzJkzprjPe46Bli1bSnJysjjFpUuXzLJ8+fJmqX8R6F+V3tetxb61atUK++v2d087+ZoLek/rUouwmzVrlnOMHq9zZOlfnE6+r3XZsGFDqVKlSs4x+te1/sWsf1E78b4O12sOxH2tx/zqV7+SqKgon++FVvf9+OOPEkiEET/0h6hFdRs2bJBFixaZH7bWo+nsg26hN7fy/k9qrVv7wp3OCD1y5Ehp06aNJCYmmm16bfqfUf/jOum687qnnXrNhbmndantBrwVL17cfKiHy/eisPe1LnP73lj7nHhfh+M1B+q+tvN7ERaz9tqhc+fOOV/fe++95obXerS//OUvptEPnEHr2Pfs2ePI9kAFuae1wRucg/ua+zrcUDKST5qs77rrLjl06JC4RdWqVc3yxpbnum7tC2cjRowwjbg2b94sNWvWzNmu16aN2S5evOjI687tnnbLNefnntbluXPnfPZrzwrtiRAO34vbua91mdv3xtrnxPvaCddctYjuazu/F4SRfNLuT4cPHzbdptyiTp065gbcuHFjzjatR9X6xdatW0u40vZf+gt7zZo1smnTJnOd3pKSkqREiRI+1611ploPHc7Xndc97ZZrzs89rUv98NL2Bha9T7TqQ0uTnHxf63L37t0+H1ra80K7gv7yl78UJ97XTrjmOkV0X+sx2sNG29l4fy/uvvtuueOOOwJ7EQFvIhumxowZ49myZYvn6NGjns8//9zTsWNHT8WKFU0LdSdJS0vzfPnll+aht8PcuXPN199++63Z/8c//tFTrlw5z4cffuj56quvPN27d/fUqVPHc+XKFU+4evLJJz1ly5Y1P9/Tp0/nPDIyMnKOGTZsmKdWrVqeTZs2eXbs2OFp3bq1eTj5nnbKNRfFPf3www97mjRp4vniiy88n332mad+/fqeRx991OP0+zorK8uTmJjoeeihhzy7du3ybNiwwVOpUiXPxIkTPU69r8PlmtOCcF9rD5wqVap4HnvsMc+ePXs87733nic2Ntbz2muvBfz6CCN+9O7d21OtWjVPVFSUp0aNGmb90KFDHqfZvHmzubFvfAwYMCCny9jzzz9vblDtJvbAAw949u/f7wlnuV2vPt56662cY/Q/8PDhw003N/3P+Nvf/tb8YnfyPe2Uay6Ke/rChQvml3Tp0qVNF8+BAweaDwM33NfHjh3zdO7c2RMTE2M+1PXD/tq1ax4n39fhcM2bg3Rf/+tf//Lcf//95jX0+6khJxgi9J/Alr0AAAD4R5sRAABgK8IIAACwFWEEAADYijACAABsRRgBAAC2IowAAABbEUYAAICtCCMAAMBWhBEAAGArwggAALAVYQQAANiKMAIAAMRO/w8uk/3bkPOigwAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Cell 7 - Boxplot\n", + "groups = [df.loc[df[\"n\"] == n, \"mean_hat\"].values for n in nList]\n", + "plt.boxplot(groups, labels=[str(n) for n in nList])\n", + "\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 25, + "id": "d82dbe57", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "((np.float64(-1.6999999999999997),\n", + " np.float64(4.409999999999998),\n", + " np.float64(2.0999999999999996)),\n", + " (np.float64(-1.7102), np.float64(4.40809596), np.float64(2.099546608199018)))" + ] + }, + "execution_count": 25, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Cell 8 — Verify linear transform rules: Y = a + bX\n", + "a, b = -5, 3\n", + "Y = a + b * X\n", + "\n", + "# Analytical results\n", + "EY = a + b * EX\n", + "VarY = (b**2) * VarX\n", + "SDY = np.sqrt(VarY)\n", + "\n", + "# Empirical results\n", + "emp_EY = Y.mean()\n", + "emp_VarY = Y.var(ddof=0)\n", + "emp_SDY = np.sqrt(emp_VarY)\n", + "\n", + "(EY, VarY, SDY), (emp_EY, emp_VarY, emp_SDY)" + ] + }, + { + "cell_type": "code", + "execution_count": 26, + "id": "6a6c6d13", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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Xza1SPptXWkNUEr6Ld9Dy1m/fn1TLv0277v9erlKazJutq1qwIABqbZVaY2Nv7TmSmtBdFt927No7ZNerroRTxuY1atXy++//57mMvoeuHDhgml4qpdQfKWsfdJLMil718ydO9fUolSrVs3sa8+ktVFKa9JuRPf1/Pnz5fHHHze/+66jVatWpiYwreOWFr0cpZNq2bJlhv4GuF249APchFa560k4JW3fkdYlIV96nV/bNVStWtW0U3j00UfN5ZmMhJzDhw9L2bJlTdsHX3py8zzv+ak9MypVqpRsOW33kJ6Uy6pz586Z9jSzZ882J3hfetJLqXz58ske68lfT9jaTibl/JTtXFLybEPKMuslKA07nm31h+dv9BKXL23srO1wbkSDhV660qCkl2k0sD322GPy/PPPmzKpgwcPmp8Z6aJ+1113pWr8q+FVL2vp5Zq0pDwGKWmvHO1GrJfCdMrMOjxef/110yZH31vaZkYvUen7G7ABQQXIQtouQ09oes1fx//QdhXaBmHChAnJaiRuN9/aE4+nn35a1q9fb9rAaHuYwoULm3YUGq7SGksjrR4y6fWaSdn4Nz0payLcpO07tLZC24po2yBtLKztOLR79P3333/L+1v3aa1atWTMmDFp/s3N2tB4jom2eenevXuay2QkEGvNk9Yaas2d1vrUq1dPXnvttXTDD3C7EVSALKYNN/UEoFN8fLwJL9rI1hNU0js569geK1asMJcXfGtV9u7d633e81NPWjExMclqDw4cOJDhMurljW+//dbUqLz11lve+Zm5ZJUZnm3Q1/PUGHkai2qtgWdb/V2n0nV6Lqd4GkHrvqpTp85N16GNVrVWRSddjwY47cX073//29ugVRuf3qj26kbr3rlzp0RGRt40oKX1vNbE6Pvi+vXr0qJFC8kM/VttoKs1d1r7p+vTbskanvT9+tBDD2VqvUAg0UYFyEIpL3loLYWe1Hy7n3p6V+gJ2VebNm3MieRf//pXsvlaI6MnLu1ForQ9gvroo4+SLffhhx9muJyempCUNR/jxo2T20G3Na3X89Q23KgHU3r0cp2ezLX2yjNGiKenTsp9ndY4J9pOJ2Ww0BO559hpWw59rLUsKZfNSA2S1mBp763Jkyenek67m/uOb6PvkZRl1mOmPZO0nYqGpbQuDd3MBx98YHop6U9PGNawql2ytW2PdhkH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nTx58jjvvfee89NPP5mW23nz5nV27drlXWbUqFFmHYsWLXJ++OEH07uiUqVKzqVLl7LFNmr58+XL58ybN885efKkd7pw4YJ5Xn8OHDjQ2bBhgxMTE+OsWLHCeeCBB5wqVao4ly9ftn77tOfE0qVLnYMHDzpbt251Onfu7OTPn9/Zs2ePlcfQ3+3zePjhh01vmJRsO35anu3bt5tJ/9sZM2aM+f3w4cPmed023UaPX375xSlYsKAzaNAg8xkcP368ExIS4ixZsiTD+8z2bZwxY4b5f0a3zfczqL0mPF599VVn9erV5hjq/0stWrRwSpQoYXps2L592hNt4cKFzv79+83/nf3793eCg4PNe9HGY+jv9nl069bN9IRJi03Hr0+fPqYnpJbH9/2WkJDgXcbWc2GuCCrqww8/dMqXL29OztolLjo62vtc06ZNTVdOX3PmzHGqVq1qltdukosXL072vHbLevPNN50777zTfNAiIyOdffv2OdllGytUqGA+jCknfSMqffO2bNnSKVmypHlj6vK9e/d27STg7/ZFRUV5l9Vj1KZNG2fbtm1WH0N/36N79+41x2zZsmWp1mXb8fN0VU05ebZJf+o2pvybunXrmv1RuXJl0+Xcn31m+zbq7zdaXmkILVOmjNm+u+66yzw+cOBAtti+0aNHO3fffbf5glC8eHGnWbNmzsqVK609hpl5j2qoLFCggDNp0qQ012nT8ZM0tk0n38+VrefCoP+3AQAAANbJ8W1UAABA9kVQAQAA1iKoAAAAaxFUAACAtQgqAADAWgQVAABgLYIKAACwFkEFAABYi6ACwBp6Tya9y+4TTzyRbH5sbKxERETI66+/7lrZALiDkWkBWOXnn3+WunXryuTJk6Vr165m3vPPPy87d+6UzZs33/QOtQByFoIKAOt88MEH8vbbb8uePXtk06ZN0qlTJxNS6tSp43bRANxmBBUA1tFbkP3pT3+SkJAQ2bVrl/Tr10/eeOMNt4sFwAUEFQBW2rt3r9x3331Sq1Yt2bZtm+TJk8ftIgFwAY1pAVjps88+k4IFC0pMTIwcO3bM7eIAcAk1KgCss379emnatKksW7ZMhg8fbuatWLFCgoKC3C4agNuMGhUAVklISJAePXpInz59pHnz5vLpp5+aBrUTJkxwu2gAXECNCgCr9O/fX77++mvTHVkv/aiJEyfKwIEDTcPaihUrul1EALcRQQWANdasWSORkZGyevVqefjhh5M916pVK7l27RqXgIBchqACAACsRRsVAABgLYIKAACwFkEFAABYi6ACAACsRVABAADWIqgAAABrEVQAAIC1CCoAAMBaBBUAAGAtggoAALAWQQUAAFiLoAIAAMRW/wfcuXau4qR3kwAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjcAAAHHCAYAAABDUnkqAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAO9NJREFUeJzt3Ql4U2Xa//G7FGhBbLGyQ6EgKiBQEIaKKMqIIiAMrogsBRUFwWEZcKgiyCLFhU1FEZT1RVYFZWBQZBlAtqEsIrIKWPZFpIUCBdr8r/t5/8nbtGmblKZpTr+f6zoX5OTk5MnJafLLs50Am81mEwAAAIso5OsCAAAA5CbCDQAAsBTCDQAAsBTCDQAAsBTCDQAAsBTCDQAAsBTCDQAAsBTCDQAAsBTCDQAAsBTCDfxKRESEdO3a1dfFsLwPPvhAqlWrJoGBgVKvXj2xghs3bsgbb7wh4eHhUqhQIWnXrp1YRX77uzhy5IgEBATI9OnTPX7sO++8Yx577tw5v3vdyD8IN/AZ/eDTD7GtW7e6vP/hhx+W2rVr3/TzLFu2zHxgwj0//PCDCQFNmjSRadOmyahRozLd9quvvpLx48f7xaGdOnWqCW3PPPOMzJgxQ/r16+frIiGfOHz4sBQvXlw6dOjg8v558+aZz6qJEyfmedmQM4Vz+DjAJ/bt22d+dXsabvRDiYDjnlWrVplj/OWXX0rRokWz3FbDzS+//CJ9+/YVf3hdFStWlHHjxvm6KJZXpUoVuXLlihQpUkT8QdWqVWXo0KEyaNAg6datmzz22GOO+xITE00QjoqKkp49e/q0nHAfNTfwK0FBQX7zgWmXlJQk/uTMmTNSrFixbIONp65evSqpqaniy9dVsmTJXNufvhZ9TXBu+rt27Zqp5QgODjbNmv7iH//4h9SpU0dee+01E8zs3nrrLTl79qxMnjzZ4x9W8B3eKfiV9G3s169fl2HDhsmdd95pPkxvv/12eeCBB2TFihXmft3WXpWsH7j2JW3w0A817Yehwenuu++WDz/8UGw2m9Pz6ofd3//+dylVqpTceuut0rZtWzl+/LjZV9oaIXt/gV9//VVeeOEFue2220x51M8//2zKo31ZtKzlypWTF198Uf744w+n57LvY//+/dKpUycJDQ2V0qVLy9tvv23KdfToUfnb3/4mISEhZh9jxoxx+4tnxIgRcscdd5jXqsfyzTfflOTkZMc2+rzaFKXHxX6sMus3oc2GS5culd9//92xre5TrVmzxtyeO3euDB482NSYaLW//go+f/68DBgwwHyRlChRwryOli1bys6dO532b9/H/Pnz5d1335VKlSqZ4/bII4/IwYMHnbY9cOCAPP300+Z46Da67fPPPy8JCQmO/h+rV6+W3bt3O8qq+/fkHNDH9O7dW2bPni333HOP2Xb58uWO5tX169ebc0TfKw1Rr776qvmiv3DhgnTp0sWcC7pok1/6fWtQ0uY93a+Wv2zZsubxf/75p9N2+riRI0ea16fHs1mzZuY1ZUf/TsLCwkytRHr6nuhz6nuitMxDhgyRBg0amHPvlltukQcffNAcv7Tsx1WPlZbdfl7pue+qz42757+d9rl57rnnzPmhf9d9+vRxK0zq8daaRPv7Wb16dXnvvfeyDdaFCxc2AUabqPQYq7i4OPn000/N+VG3bt1snxv5B81S8Dn9AnLVeVA/kLOjQSA2NlZefvlladSokfmg1j4827Ztk0cffdR8QZw4ccKEnVmzZmX4otCQoh/aL730kuk4+/3338vAgQNNcEnbfKEfyvol27lzZ7nvvvvkP//5j7Ru3TrTcj377LMmcGl/FfsXmZbh0KFD5gtGP9j1S0k/TPXfTZs2OYUu1b59e6lZs6aMHj3ahAj9wNUvqM8//1z++te/mg9s/aLVL6W//OUv0rRp0yyPlR4j7WuifU70w3rz5s3m2O3Zs0cWLVpkttFjpGXasmWLfPHFF2bd/fff73J/+otW37tjx445jpWGlbQ0TGkNkJZRQ5T+X7/8Fi9ebI6RNgecPn3avKaHHnrI3FehQgWnfejr11/Mug99vvfff186duxoym//Mm7RooXZ/+uvv26Orb5///rXv8wXnYYNfV0akC5dumRes9Jj68k5YG/a0vNAQ44GXQ1zO3bsMPfZn1vDtr6fehw15GzYsEEqV65szgVtItV+P9qXTAOPnZ6nGgT03NCApF+wn3zyiWzfvl1++uknR22lhg49D1q1amUWPc+1CUWPQVb08U8++aR888035linrZXT90KPnYZBpX9D+t5r/5Pu3bvLxYsXTROlHmM9L9J3MNcwrKHjlVdeMWFCz1FXQcLT81+DjR5ffb/0/o8++siEvZkzZ2b6Oi9fvmzOI33v9JjqcdfjHxMTIydP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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Cell 9 — Visual check: histograms of X and Y (discrete RVs)\n", + "plt.figure()\n", + "plt.hist(X, bins=20, density=True)\n", + "plt.xlabel(\"X\")\n", + "plt.ylabel(\"Relative frequency\")\n", + "plt.title(\"Histogram of discrete X\")\n", + "plt.show()\n", + "\n", + "plt.figure()\n", + "plt.hist(Y, bins=20, density=True)\n", + "plt.xlabel(\"Y = a + bX\")\n", + "plt.ylabel(\"Relative frequency\")\n", + "plt.title(\"Histogram of transformed variable Y\")\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 31, + "id": "4e058dd9", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "((np.float64(4.004671683485947), np.float64(1.3301885811390868)),\n", + " (4.0, 1.3333333333333333))" + ] + }, + "execution_count": 31, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Cell 10 (optional) — Continuous RV example: Uniform(a,b)\n", + "# Demonstrate: P(c < X < d) as area, and mean/variance formulas (compare with simulation).\n", + "a_u, b_u = 2.0, 6.0\n", + "N_u = 200_000\n", + "Xu = rng.uniform(a_u, b_u, size=N_u)\n", + "\n", + "# Analytical (Uniform)\n", + "EXu = (a_u + b_u) / 2\n", + "VarXu = (b_u - a_u)**2 / 12\n", + "\n", + "# Empirical\n", + "(Xu.mean(), Xu.var(ddof=0)), (EXu, VarXu)" + ] + }, + { + "cell_type": "code", + "execution_count": 32, + "id": "dba76292", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(np.float64(0.375195), 0.375)" + ] + }, + "execution_count": 32, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Cell 11 (optional) — Probability query via simulation: P(c < X < d)\n", + "c, d = 3.0, 4.5\n", + "prob_hat = np.mean((Xu > c) & (Xu < d))\n", + "\n", + "# Analytical for uniform: (d-c)/(b-a) if [c,d] subset of [a,b]\n", + "prob_true = (d - c) / (b_u - a_u)\n", + "\n", + "prob_hat, prob_true" + ] + }, + { + "cell_type": "code", + "execution_count": 33, + "id": "872ca815", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjcAAAHHCAYAAABDUnkqAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAPYQAAD2EBqD+naQAASMhJREFUeJzt3QdclfXix/EvIMMRuMW9ci/cO29pWpm3ndnQ1HLvhuOW1u2mZZlampaVDTVXrtQ0My0tywTEiXvgAlyoqIBw/q/fU/gXBQUEzvq8X69z7Tyew/k9z+9cny+/6WGz2WwCAABwEZ72LgAAAEBWItwAAACXQrgBAAAuhXADAABcCuEGAAC4FMINAABwKYQbAADgUgg3AADApRBuAACASyHcAA5o7dq18vDwsP5Mj3/961/WI7uUK1dOzz//vJzZlStX9Oqrr6p06dLy9PTUww8/bO8iyd2/t0B2IdzA7X355ZfWP8hpPf744w+3v0YZcfnyZY0fP16NGzdWQECA/Pz8VLlyZfXr10+7d++++ro33ngjxXXOkyePypQpow4dOmj69OmKi4u74WebgJVWPa1YseKm5friiy/03nvv6fHHH9dXX32lwYMHU6+Ai8pl7wIAjuK///2vypcvf8PxO++8M8fLctddd+nSpUvy8fFJ1+t//PFHOYKTJ0/qvvvuU3BwsB588EE9/fTTypcvn3bt2qXZs2fr008/VXx8fIr3TJkyxXqNCTNHjx7VypUr1a1bN02YMEFLly61Wlqu5evrq88+++yGz65Tp85Ny/bzzz+rZMmSVvAC4NoIN8A/7r//fjVo0MAhrofpNjEtHrdy8eJFq8UjvSEou5mWldDQUM2fP1+PPfZYir9766239J///OeG95iWlMKFC199PnLkSM2cOVOdO3fWE088cUPLWa5cufTss89muGxRUVHKnz9/urqvkpKSHOaaAsg4uqWAdDp48KDV/fH+++9r8uTJqlChghUs2rZtq4iICNlsNusGXqpUKeXOnVsPPfSQTp8+fcPYFdOiYVpagoKCrABTvXp1LViw4JZjF8yYmpo1a1qtIqZlx3z2iBEj0hxzY7qHTNeP6RIyn1O8eHE9+uij2rdv39XXmHNp1qyZChUqZJW5fv36VjDJjD///FPLli1T9+7dbwg2yS0u5vPS45lnntELL7xg/cxVq1YpK+ptzZo12r59+9VuLHNtr61T01JUsWJFq5w7duy42trTsmVL5c2b1wpGpk537tyZ4ucnd6+ZLjcTukxXXJEiRfT6669b3wnz3TDv8/f3V2BgoMaNG5eucpvzbtGihfW5pmWrSpUqV+vbMC1gJgiaOjOfacpoymrO017f27SYejQteqac5rNbtWql3377LcVrzp8/r0GDBlmfZeqgaNGiuvfeexUSEpKuzwCuRcsN8I+YmBirW+Va5qZgbvzXMq0K5sbSv39/6yYwduxYPfnkk7rnnnusG+bQoUO1d+9effTRR3r55ZetsR7X2rNnjzp27KhevXqpS5cu1vgS00JhxoyYf8xv5tSpU1YL01NPPWXdSIsVK5bq6xITE62b0erVq63XDhw40Lp5mBvmtm3brJu4MXHiRP373/+2woQ5J9N1ZMpiuoPat2+foe/GkiVLrD+fe+65LPlOmZ9jurHMDfX663J9PXl7e1s3ztSYoPHNN9/o7bff1oULFzRmzBjreLVq1ayuP8PUgQmDPXr0sG6sBQsW1E8//WRdaxMGTIAxrzV12rx5c+uGa27C1zJ1an7mO++8Y4W8//3vf9bP+eSTT6zvxrvvvmt9d8x3omHDhlZATYsJYab+ateubXWXmjKZ79S1geDcuXNW91ynTp304osvWvX7+eefq127dtq4caMVQhzhe2sCormOJoSNGjXKapU07zWfu27dOjVq1Mh6nfm5JlibsVkmOJnv+vr1660wWa9evTR/PpAqG+Dmpk+fbjP/V0jt4evre/V1Bw4csI4VKVLEdvbs2avHhw8fbh2vU6eOLSEh4erxTp062Xx8fGyXL1++eqxs2bLWa7/77rurx2JiYmzFixe31a1b9+qxNWvWWK8zfyZr1aqVdWzq1Kk3nIP5O/NI9sUXX1iv/eCDD254bVJS0tX/vnjxYoq/i4+Pt9WsWdN2zz33pDhuyt2lS5ebXsdHHnnE+swzZ87Y0mPUqFHW66Ojo1P9e/NzzN+bn5vMlCG1err23NNiXlOjRo0Ux5Lr1N/f3xYVFZXi74KCgmxFixa1nTp16uqxsLAwm6enp61z5843nEePHj2uHrty5YqtVKlSNg8PD9s777yT4pxy5859y2s5fvz4m16b5M+Ii4tLccz8/GLFitm6devmEN9b812rVKmSrV27djd878qXL2+79957rx4LCAiw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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Cell 12 (optional) — Empirical CDF plot (works for any sample)\n", + "# For teaching: CDF is monotone and ends at 1.\n", + "x_sorted = np.sort(Xu)\n", + "F_emp = np.arange(1, N_u + 1) / N_u\n", + "\n", + "plt.figure()\n", + "plt.plot(x_sorted, F_emp, linewidth=1)\n", + "plt.xlabel(\"x\")\n", + "plt.ylabel(\"F(x)\")\n", + "plt.title(\"Empirical CDF from samples\")\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "26fa621b", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "1bdd8294", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "85ee308a", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "737be3d6", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "aac3728f", + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 27, + "id": "687205ec", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(np.float64(1.09786), np.float64(0.4911234204), np.float64(0.7008019837300691))" + ] + }, + "execution_count": 27, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Cell 4 — Monte Carlo sampling of X, empirical mean/variance\n", + "N = 50_000\n", + "X = rng.choice(values, size=N, p=probs)\n", + "\n", + "emp_mean = X.mean()\n", + "emp_var = X.var(ddof=0) # population variance estimator\n", + "emp_sd = np.sqrt(emp_var)\n", + "\n", + "emp_mean, emp_var, emp_sd" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "id": "f225e4fc", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjcAAAHHCAYAAABDUnkqAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAPYQAAD2EBqD+naQAARYRJREFUeJzt3Ql4E+XWwPHTvRRo2SlL2RFEVkEQ8AooiogiuKGiICiK4hWBT6UuoHgVLyqiXBQ3wOUqiOKuKLIoCIqsoiiL7FAoa0sLLV3me86ryU3StLQlaZrp/+cz0kwmkzdvJpmT8y4TYlmWJQAAADYRGugCAAAA+BLBDQAAsBWCGwAAYCsENwAAwFYIbgAAgK0Q3AAAAFshuAEAALZCcAMAAGyF4AYAANgKwQ1sLSQkRB577LFAFwMlZOXKlRIZGSk7d+4s0TrXY0yPtUOHDp122wYNGsitt97qvL1kyRLzWP3XQe/X7eB/Ws9a/7rcc889xd5P27Ztnfu54oornOvnz58vFSpUkIMHD/qoxCgMghsU2axZs5wfYl3Cw8OlTp065gt579691CgC5uGHH5Ybb7xR6tevX+jHnDhxwgQnrsEFgp/rd5TnMnz4cLdt//GPf8jbb78tgwcPdq57/fXXzbZvvvlmnn2vWLFCQkND5f/+7/+c65566imzj2rVqrlte9lll0mTJk1k4sSJfnmd8C48n/XAaU2YMEEaNmwoGRkZ8uOPP5qgZ9myZfLrr79KdHR0qajBkydPmuAL9rdu3Tr59ttvZfny5UV6nAY3jz/+uPm7e/fu4m+bNm0yJ8aCvPbaa5Kbm+v3stjdJZdcIoMGDcqz/qyzznK73ahRI7n55pvd1t12220msNEARjMxVatWNeuzsrLkjjvukISEBOdxoy6//HLz7yOPPJLn+e68806zH92+YsWKPnt9yB/f+ii23r17S4cOHczft99+u/nF8u9//1s+/fRTuf7660tFzZaWIAv+N3PmTKlXr56cf/75pbq6o6KiTrtNREREiZQlmOmPKm2CLChQ1CDGM2gpLM3avPLKK6a5SQMTPb7Uc889Z37A6fdc+fLlC7Wva665Rv75z3/K3LlzZejQocUqD4qGZin4jKZ21Z9//ulcp7+Evf0a9uxTsGPHDvNl8uyzz8qrr74qjRs3NieB8847T37++ec8j9U2bG0C69evn/m7evXq5gsoJyenwD43jr4RW7duNfupVKmSxMXFyZAhQ8wveM+sz7333muCNv211bdvX/OchenH4+hH8f7775tfa9psp/u49tprJSUlRTIzM+W+++6TGjVqmPLr8+s6T++88460b99eypUrJ1WqVJEbbrhBdu/e7bbN0qVL5brrrjMndq0z/UU5atQoU/7i1psn/eWqv2696dy5szPIVQsWLJALLrjA1K0+R7NmzeShhx6S03H0efj444+lZcuW5rWcc845ps9CYejjLrroIrMfV6tWrZJevXqZ91HrUbONjhOMHndaB0rfJ0ezheP9/eWXX0y96WvXQDk+Pt489vDhw17LoH1uNLCPjY01v/RHjhxpTsIF9bnxxvPzoZ+h/JpYNGPqcOzYMXNc6TGg9afNIfqDwzMLNHv2bHNc6TGpZW3VqpW88MILBZapKJ9R9ccff5jjXY9brTs9RjQgcHXkyBFz/Onz67GiZdEfTevXr/f6edJya2ZEP08xMTGSmpoq/tSiRQu5//77TR1/9913sn37dpOxvvrqq+XKK68s9H70c966dWv55JNP/Fpe/A+ZG/iMfvmpypUrF3sf7777rhw/ftykcfXLbNKkSeaLZNu2bW6/ZvVkrCesTp06mS9bbY7QX1T6hXvXXXed9nn0BKQnOW0HX7NmjWlf1y8gPRG4nmA0OLnllltMNkC/3Pr06VOk16P71xPq2LFjTUA1depU8zr01+bRo0fNSdTRpKflGTdunPOxTz75pDz66KOmrJoZ0w6J+vgLL7xQ1q5da4IHpb8GNTDT160nVO1Uq9vt2bPH3OequPU2YMAAk97Xk5iezBy0466W/5lnnjG3f/vtNxMI6Re5ngT05Kev+4cffihUfWmz5rx58+Tuu+82J94XX3zR/OrdtWuXs1nAGw3YdJtzzz3XbX1ycrJceumlJoDR90DrTI9TfQ6l619++WXz2vv372+ONaXldwRqeuxp8KmBjb4+PbHrv/q6PQMpfa80KNH3Xe/X8uv7/NZbb8mZ9iXSY8Az8P3666/Ncav0GOjWrZupC/38aLCrTXSJiYmSlJQkU6ZMcb4m7Zd08cUXO4/333//3bxHGoz54jOq9dO1a1cThGi9a4ZDP0saVH/44YemrpU+RoNSDc71+D9w4IDJlujr2Lhxo9SuXdvtuZ944gmTrdGASH8M6N8F0cDSWydvDaJO91gHDaY0qNLXq325tJlb39ei0mBSXytKiAUU0cyZMy09dL799lvr4MGD1u7du60PPvjAql69uhUVFWVuO3Tr1s0sngYPHmzVr1/feXv79u1mn1WrVrWOHDniXP/JJ5+Y9Z999pnbY3XdhAkT3PbZrl07q3379m7rdLvx48c7b+vfum7o0KFu2/Xv3988t8Pq1avNdvfdd5/bdrfeemuefXqzePFis13Lli2tU6dOOdffeOONVkhIiNW7d2+37Tt37uxWHzt27LDCwsKsJ5980m27DRs2WOHh4W7rT5w4kef5J06caJ5n586dxao3TykpKea9HTNmjNv6SZMmuT3P888/b55Dj4ui0sdFRkZaW7duda5bv369WT916tQCH6vHoudxoj766COz/ueff873sVrW/N5Tb3X73nvvme2///77PMdV37593ba9++67zXp9HQ76Put74Xms6L/5fT48/fDDD1ZERITbcfzEE09Y5cuXtzZv3uy27dixY82xtGvXLnN75MiRVmxsrJWdnW0VRVE+oxdffLHVqlUrKyMjw7kuNzfX6tKli9W0aVPnOr0/Jycnz/PoseZ6nDrqqFGjRl7fE290+/wWfQ/zez+8+frrr52PnTJlSoHb6v769OmTZ/1TTz1lHn/gwIFClR9nhmYpFFvPnj3NL19NgWv6WX+dadq5bt26xd6nZghcMz+Opi79hefJ24gHb9t54+2x2tTgSHM7mkI0g+BK282LQrMdrhknzZjo965nu7uu1+am7Oxsc1szC9qUoJkA/eXpWDR70LRpU1m8eLHzsZoZckhPTzfbdenSxTyPZnh8UW+O5gL99f3XeeMvc+bMMVktzRIoRzZJ0+/F6RCrx5RmkRw0g6LPfbryOZqJPLOGjvJ8/vnnpiNoUbnWrSML4OjToxk/TyNGjPB6vHz55ZfiK/v37zefN+0L8tJLLznXa5ZO30utA9djRutUM3bff/+9s070ONEMjj8+o9rUtGjRInPsaobHUQ59jzRruGXLFueoSs3sOfrMaBl1G0dTprf61dFMru/J6Vx11VXmdXouPXr0KNJr1qY1Rzk1E1gcjjorzHQBOHMENyi2adOmmS+KDz74wIwU0A9tYTpLFsRxkvT8QtDUvittw3f0lXDd1nO74j6PNrfol5mmyl1pH4ai8Hwe7d+jNCD0XK/B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773nn1ICAAD4K7ipW7eurF+/XmbPni2//PKLydrcdtttMnDgQLcOxgAAAEER3JgHhYfLzTff7PvSAAAABCK40Qn7li1bJsnJyaaDsat77733TMsEAABQcsHNrFmz5M477zRDwatWrWo6FDvo3wQ3AAAgqIKbRx991FwJPDExUUJDi3X1BgAAAL8pcnRy4sQJueGGGwhsAACAPYIbHRk1d+5c/5QGAACgpJulJk6cKFdccYXMnz9fWrVqJREREW73T548+UzLBAAAULLBzddffy3NmjUztz07FAMAAATdDMUzZsyQW2+91T8lAgAAKMk+N1FRUdK1a9czeU4AAIDSE9yMHDlSpk6d6p/SAAAAlHSz1MqVK2XRokXy+eefyznnnJOnQ/G8efPOtEwAAAAlF9xUqlRJrr766uI/IwAAQGkKbmbOnOmfkgAAAPgA108AAAC2QnADAABsheAGAADYCsENAACwFYIbAABQtkdLvfjii17X63WloqOjpUmTJnLhhRdKWFiYL8oHAADg3+Dm+eefl4MHD8qJEyekcuXKZt3Ro0clJiZGKlSoIMnJydKoUSNZvHixJCQkFHX3AAAAJdss9dRTT8l5550nW7ZskcOHD5tl8+bN0qlTJ3nhhRdk165dEh8fL6NGjTqzkgEAAJRE5uaRRx6RDz/8UBo3buxcp01Rzz77rFxzzTWybds2mTRpkvkbAACg1GdukpKSJDs7O896Xbd//37zd+3ateX48eO+KSEAAIA/g5sePXrInXfeKWvXrnWu07/vuusuueiii8ztDRs2SMOGDYu6awAAgJIPbt544w2pUqWKtG/fXqKioszSoUMHs07vU9qx+Lnnnjvz0gEAAPi7z412Fl6wYIH88ccfpiOxatasmVlcszsAAABBEdw4NG/e3CwAAABBHdzk5OTIrFmzZOHChWZOm9zcXLf7Fy1a5MvyAQAA+De4GTlypAlu+vTpIy1btjQzEwMAAARtcDN79mx5//335fLLL/dZIaZNmybPPPOMGUrepk0bmTp1qnTs2DHf7adMmSIvv/yymTCwWrVqcu2118rEiRPN5R8AAEDZVuTRUpGRkWbSPl+ZM2eOjB49WsaPHy9r1qwxwU2vXr1Mk5c37777rowdO9Zs//vvv5sRWrqPhx56yGdlAgAAZSi4GTNmjLnMgmVZPinA5MmTZdiwYTJk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AADYCsENAACwFYIbAABgKwQ3AADAVghuAACArRDcAAAAWyG4AQAAtkJwAwAAbCXgl18oaY4JmXWmQwAAEBwc5+3CXFihzAU3x48fN/8mJCQEuigAAKAY53G9DENByty1pXJzc2Xfvn1SsWJFCQkJ8XlUqUHT7t27uW6VH1HPJYN6pp7thmM6uOtZwxUNbGrXru12QW1vylzmRiukbt26fn0OfTO5KKf/Uc8lg3qmnu2GYzp46/l0GRsHOhQDAABbIbgBAAC2QnDjQ1FRUTJ+/HjzL/yHei4Z1DP1bDcc02Wnnstch2IAAGBvZG4AAICtENwAAABbIbgBAAC2QnADAABsheDGR6ZNmyYNGjSQ6Oho6dSpk6xcudJXu7aF77//Xq688kozs6TODP3xxx+73a/92seNGye1atWScuXKSc+ePWXLli1u2xw5ckQGDhxoJoWqVKmS3HbbbZKWlua2zS+//CL/+Mc/zPugM2ROmjQpT1nmzp0rzZs3N9u0atVKvvzyS7GDiRMnynnnnWdm365Ro4b069dPNm3a5LZNRkaGjBgxQqpWrSoVKlSQa665Rg4cOOC2za5du6RPnz4SExNj9nP//fdLdna22zZLliyRc88914yGaNKkicyaNatMfSZefvllad26tXOSss6dO8tXX33lvJ969r2nn37afHfcd9991LOPPfbYY6ZuXRf9jgzq41lHS+HMzJ4924qMjLRmzJhh/fbbb9awYcOsSpUqWQcOHKBq//bll19aDz/8sDVv3jwdnWd99NFHbnXz9NNPW3FxcdbHH39srV+/3urbt6/VsGFD6+TJk85tLrvsMqtNmzbWjz/+aC1dutRq0qSJdeONNzrvT0lJsWrWrGkNHDjQ+vXXX6333nvPKleunPXKK684t/nhhx+ssLAwa9KkSdbGjRutRx55xIqIiLA2bNgQ9O9Vr169rJkzZ5rXvm7dOuvyyy+36tWrZ6WlpTm3GT58uJWQkGAtXLjQWrVqlXX++edbXbp0cd6fnZ1ttWzZ0urZs6e1du1a875Vq1bNSkxMdG6zbds2KyYmxho9erSpw6lTp5o6nT9/fpn5THz66afWF198YW3evNnatGmT9dBDD5njSOteUc++tXLlSqtBgwZW69atrZEjRzrXU8++MX78eOucc86xkpKSnMvBgweDup4JbnygY8eO1ogRI5y3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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Cell 5 — Running mean (LLN intuition): \\bar{X}_n vs n\n", + "running_mean = np.cumsum(X) / np.arange(1, N + 1)\n", + "\n", + "plt.figure()\n", + "plt.plot(running_mean, linewidth=1)\n", + "plt.axhline(EX, linewidth=1) # theoretical mean\n", + "plt.xlabel(\"n\")\n", + "plt.ylabel(\"Running mean\")\n", + "plt.title(\"Running mean vs n (stabilizes near E[X])\")\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 29, + "id": "c8ce1f25", + "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", + "
nmean_hat
050.8
151.2
251.0
351.2
451.0
\n", + "
" + ], + "text/plain": [ + " n mean_hat\n", + "0 5 0.8\n", + "1 5 1.2\n", + "2 5 1.0\n", + "3 5 1.2\n", + "4 5 1.0" + ] + }, + "execution_count": 29, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Cell 6 — How the estimator of E[X] changes with sample size\n", + "# Create many repetitions for different n, store the sample mean each time.\n", + "n_list = [5, 10, 20, 50, 100, 200, 500, 1000]\n", + "R = 500 # repetitions per n (adjust for speed)\n", + "\n", + "rows = []\n", + "for n in n_list:\n", + " # Draw an R x n matrix of samples\n", + " samples = rng.choice(values, size=(R, n), p=probs)\n", + " means = samples.mean(axis=1)\n", + " for m in means:\n", + " rows.append({\"n\": n, \"mean_hat\": m})\n", + "\n", + "df_means = pd.DataFrame(rows)\n", + "df_means.head()" + ] + }, + { + "cell_type": "code", + "execution_count": 30, + "id": "71b37ec4", + "metadata": {}, + "outputs": [ + { + "name": "stderr", + "output_type": "stream", + "text": [ + "/var/folders/0c/2g7zyqyd3lj21c3yr8x3168m0000gn/T/ipykernel_42855/2654198260.py:6: MatplotlibDeprecationWarning: The 'labels' parameter of boxplot() has been renamed 'tick_labels' since Matplotlib 3.9; support for the old name will be dropped in 3.11.\n", + " plt.boxplot(groups, labels=[str(n) for n in n_list], showfliers=False)\n" + ] + }, + { + "data": { + "image/png": "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b8cJmuz7SuxGefjwYTP9g46ErHk2Bw8elLfeektu3bplao7i06Yy53LCO/T9ioiISHKdli1bJvm8BrrVq1f3cMkAAMEm2cFNo0aNTDPRF198IfPnzzffsHXqBbtdu3ZJqVKlxNvu3LljEpi/+uorU1OjN9Tjx4/LkCFDXAY3WiukOT3ONTcaoMGztNZFgxNXbty4YXKktPkwc+bMSW4DAACfBTeab9OsWTN5/PHHJWvWrPL9999LhgwZ4uTCPP30027tPE+ePCZAOX36dJzl+neBAgVcvkZ7SGkNkXMTVLly5eTUqVOmRsm5TEp7U+kD3qXBblK1LrVr1+YtAACkruBGAxGdO+ry5csmuImf3zJr1iyz3B0aiGjNy/Lly6Vp06aOmhn9u0uXLoneJKdOnWrW0/wctX//fhP0xA9sAABA8HF7+oWwsDCXibu5cuVKUXChTUba40prgjThtFOnTnL9+nVH76nWrVvHSTjW57W31Ntvv22CGu1Z9dlnn5kEYwAAgHseofheNW/eXM6ePSt9+vQxTUtVq1aVpUuXOpKMjx496qihUZovs2zZMjMNhE73oOPbaKCjvaUAAABCbDabLZhOgyYUa+2TNq9lz57dp/vWHmbaDEevIAAAvHf/drtZCgAAIDUjuAEAAJZCcAMAACyF4AYAAFgKwQ0AALAUghsAAGApBDcAAMBSCG4AAIClENwAAABLIbgBAACWQnADAAAsheAGAABYCsENAACwFIIbAABgKQQ3AADAUghuAACApRDcAAAASyG4AQAAlkJwAwAALIXgBgAAWArBDQAAsBSCGwAAYCkENwAAwFIIbgAAgKUQ3AAAAEshuAEAAJZCcAMAACyF4AYAAFgKwQ0AALAUghsAAGApBDcAAMBSCG4AAIClENwAAABLIbgBAACWQnADAAAsheAGAABYCsENAACwFIIbAABgKQQ3AADAUghuAACApRDcAAAASyG4AQAAlkJwAwAALIXgBgAAWArBDQAAsJRUEdyMHj1aihcvLpkyZZKHHnpIfv3112S9bvr06RISEiJNmzb1ehkBAEBg8HtwM2PGDOnRo4f07dtXtm3bJlWqVJH69evLmTNnknxddHS0vPPOO/Loo4/6rKwAACD183twM2zYMGnfvr20bdtWypcvL+PGjZPQ0FD57rvvEn3N7du3pUWLFtK/f38pWbKk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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Cell 7 — Boxplots of \\hat{E}[X] across sample sizes\n", + "# This visually shows variability decreasing as n increases.\n", + "groups = [df_means.loc[df_means[\"n\"] == n, \"mean_hat\"].values for n in n_list]\n", + "\n", + "plt.figure()\n", + "plt.boxplot(groups, labels=[str(n) for n in n_list], showfliers=False)\n", + "plt.axhline(EX, linewidth=1) # theoretical mean\n", + "plt.xlabel(\"Sample size n\")\n", + "plt.ylabel(\"Sample mean (estimator of E[X])\")\n", + "plt.title(\"Distribution of the sample mean vs sample size\")\n", + "plt.show()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": ".venv (3.14.2)", + "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.14.2" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/session-5-error/main.ipynb b/session-5-error/main.ipynb new file mode 100644 index 0000000..7c008bd --- /dev/null +++ b/session-5-error/main.ipynb @@ -0,0 +1,469 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "806857a8", + "metadata": {}, + "source": [ + "# Week 5 Lab — Error Propagation for Engineers and Scientists\n", + "\n", + "In this lab, we will study how uncertainty in measured variables affects the uncertainty of computed quantities.\n", + "\n", + "We will work through three parts:\n", + "\n", + "1. **Repeated measurements and uncertainty estimation**\n", + "2. **Propagation of uncertainty for one variable**\n", + "3. **Propagation of uncertainty for several variables**\n", + "\n", + "At the end of the lab, you should be able to:\n", + "\n", + "- compute the mean and sample standard deviation from repeated measurements,\n", + "- report a measurement with uncertainty,\n", + "- propagate uncertainty through simple formulas,\n", + "- identify which measured variable contributes most to the final uncertainty." + ] + }, + { + "cell_type": "markdown", + "id": "243d8bd5", + "metadata": {}, + "source": [ + "## Part A — Repeated Measurements\n", + "\n", + "In real experiments, the same quantity is often measured several times. \n", + "These repeated measurements help us estimate:\n", + "\n", + "- a representative value of the quantity, using the **sample mean**,\n", + "- the variability of the measurements, using the **sample standard deviation**.\n", + "\n", + "We begin with a small set of repeated voltage measurements." + ] + }, + { + "cell_type": "markdown", + "id": "41fde6a2", + "metadata": {}, + "source": [ + "### Repeated voltage measurements\n", + "\n", + "The following values represent repeated measurements of the same voltage." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "2a424c85", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([4.98, 5.01, 5. , 5.03, 4.99, 5.02, 4.97, 5.01])" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import numpy as np\n", + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "\n", + "V_samples = np.array([4.98, 5.01, 5.00, 5.03, 4.99, 5.02, 4.97, 5.01])\n", + "\n", + "V_samples" + ] + }, + { + "cell_type": "markdown", + "id": "701cbb86", + "metadata": {}, + "source": [ + "### Compute the mean and sample standard deviation\n", + "\n", + "We will use:\n", + "\n", + "$$\\bar{x} = \\frac{1}{n}\\sum_{i=1}^n x_i$$\n", + "\n", + "and\n", + "\n", + "$$\n", + "s = \\sqrt{\\frac{1}{n-1}\\sum_{i=1}^n (x_i-\\bar{x})^2}\n", + "$$\n", + "\n", + "The mean gives a central value, while the sample standard deviation describes the spread of the repeated measurements." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "85752039", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Mean voltage = 5.0013 V\n", + "Sample standard deviation = 0.0203 V\n" + ] + } + ], + "source": [ + "V_mean = np.mean(V_samples)\n", + "V_std = np.std(V_samples, ddof=1)\n", + "\n", + "print(f\"Mean voltage = {V_mean:.4f} V\")\n", + "print(f\"Sample standard deviation = {V_std:.4f} V\")" + ] + }, + { + "cell_type": "markdown", + "id": "36199326", + "metadata": {}, + "source": [ + "### Report the measurement\n", + "\n", + "A basic engineering report format is:\n", + "\n", + "$$\n", + "V \\approx \\bar{V} \\pm s_V\n", + "$$\n", + "\n", + "This is a practical summary of the measured value and its variability." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "id": "2d3cb5e5", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Reported measurement: V = 5.0013 +/- 0.0203 V\n" + ] + } + ], + "source": [ + "print(f\"Reported measurement: V = {V_mean:.4f} +/- {V_std:.4f} V\")" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "id": "68878355", + "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", + "
trialvoltage_V
014.98
125.01
235.00
345.03
454.99
565.02
674.97
785.01
\n", + "
" + ], + "text/plain": [ + " trial voltage_V\n", + "0 1 4.98\n", + "1 2 5.01\n", + "2 3 5.00\n", + "3 4 5.03\n", + "4 5 4.99\n", + "5 6 5.02\n", + "6 7 4.97\n", + "7 8 5.01" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Table\n", + "df_voltage = pd.DataFrame({\n", + " \"trial\": np.arange(1, len(V_samples) + 1),\n", + " \"voltage_V\": V_samples\n", + "})\n", + "\n", + "df_voltage" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "id": "442f5528", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAArwAAAGJCAYAAABo5eDAAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAU2dJREFUeJzt3QuczPX+x/HPWpeVay7Lkvs1tyQdl0hFrokuii6EVE4X5VCRQio551BKKbonSZEupxROJYkUOhxRLrnfFStZYf6P9/f8Z5qdnV2z9jK7v309H49h5ze/md9vvvOd3fd85/P7/mJ8Pp/PAAAAAI/KF+0dAAAAALISgRcAAACeRuAFAACApxF4AQAA4GkEXgAAAHgagRcAAACeRuAFAACApxF4AQAA4GkEXgAAAHgagRdAnnTRRRe5S3a76aabrGrVqtm+XQDIywi8gIe88sorFhMTE7jkz5/fKlas6ELW9u3bLbdZvHixjRo1yn799dds3/by5ctdG44YMSLVdX766Se3zuDBg097O0eOHHHP8fPPP7fc1L8WLVqU4nadqb5SpUru9ssuuywq+4g/TZ8+3Z588kmaBCDwAt708MMP2+uvv27PPfecderUyaZNm2Zt2rSxo0ePWm4LvKNHj45K4G3SpInVrVvX3nzzzTQDhdxwww0ZCrx6jrkh8PrFxcUFnnuwL774wrZt22aFChWKyn4hOQIv8CdGeAEPUshVCLv55pvthRdesCFDhtiGDRvs/fffj/au5SrXX3+9bdy40ZYsWRL2doVhhWKF47ykc+fO9vbbb9vx48dTBKzzzjvPypcvb7ndb7/9Fu1dAJCJCLxAHtC6dWv3v0JvsLVr19rVV19tpUqVcqN2TZs2TRGK/V9jL1y40G699VYrXbq0FS9e3Hr37m2//PJLim19/PHHbntFihSxYsWKWZcuXey///1vsnX+85//uDKL6tWru+0qIPXr18/2798fWEdf8w8dOtT9XK1atcBX6T///HNgHY1cK2AVLlzYPYeePXva1q1bU+zTlClTrEaNGm69v/zlL/bll19GHHgl3Gjmd999Z+vWrQusI88++6zVr1/fjXBWqFDBbr/99jRHp/VcypYt637WKK//Oeq5R9pOfhoh1uun9fRcn3/+efc4erxQkbZbanr16uX2Yd68eYFlx44ds3feeceuu+66sPc5efKk+3pd7aN9LFeunOtPoX3ovffec31G7ad21HMZM2aMnThxIkU5yVVXXeXaRI931llnuedx8ODBQNvquav/hgpuY/G305o1a9z+n3nmmdaqVat0tZfqwRs0aOBeM32bcsYZZ1jNmjVdm/hHv5s1a+Yeo06dOjZ//vwU+6WyI72+ahs9d7XVSy+9lOJ11r7OnDnTHn30Ufe89fzbtm1r69evT7Y///rXv2zz5s2BfhVcO/7000+7x9d+6vmq74Tr54BX5I/2DgDIev6QqD9sfgqhF1xwgavxvf/++11A1R/R7t2726xZs+yKK65I9hh33HGHlSxZ0oUDBb3Jkye7P6b+P8CiMoo+ffpYhw4dbNy4ce7req2n8LBixYrAH1wFJY2c9u3b1wUW7YtCqf7XaKoe78orr7Qff/zRjaI+8cQTVqZMGXdff0DUH/sHH3zQrrnmGjeSvXfvXvdH/MILL3Tb0r7Kiy++6IJVy5Yt7e6773bbvfzyy11wUb1pWhS0dT+1i/YhNjY2cJs/HPgDntpFobVdu3Y2cODAQBstW7bMvvrqKytQoECKx9dz0TpaX+2t5yyNGjWKuJ1Ez7djx46WkJDg9kHhUGUt/rYKFmm7pUWvY4sWLdxro28T/B90FDYVBp966qkU99FroPCp53LXXXfZpk2bbNKkSW6bwe2jdYoWLerqovX/v//9b3vooYfs0KFD9o9//CMQrtXHkpKS7M4773Rto7D44Ycfug8YJUqUsNPRo0cPq1Wrlj322GOuHjm97aXwrtpltYEeS6+tfn7jjTdc37vttttcf9Hz0AdNhWZ9KJTdu3db8+bN3Wuq95peO7Vp//793XPX/YM9/vjjli9fPvftjdr973//u/vwtXTpUnf7Aw884JarxER9V9SeMnXqVPcaaB8GDRrkSp0U1HXf1D6wALmeD4BnvPzyy/or7Zs/f75v7969vq1bt/reeecdX9myZX2FChVy1/3atm3ra9iwoe/o0aOBZSdPnvS1bNnSV6tWrRSPed555/mOHTsWWP73v//dLX/vvffc9cTERF/JkiV9AwYMSLZPu3bt8pUoUSLZ8iNHjqTY9zfffNM93sKFCwPL/vGPf7hlmzZtSrbuzz//7IuNjfU9+uijyZavWrXKlz9//sBy7W98fLyvcePGvqSkpMB6U6ZMcY/bpk2bU7bpM88849b95JNPAstOnDjhq1ixoq9Fixbu+p49e3wFCxb0tW/f3t3mN2nSJHffl156KbCsT58+vipVqgSu63XSOiNHjkyx7UjbqWvXrr4zzjjDt3379sCyn376ybVF8K/5SNstNf6+sGzZMvfcihUrFtjHHj16+C6++GL3s55fly5dAvf78ssv3f3eeOONZI83d+7cFMvDPedbb73VPT9/X12xYoW739tvv53qvqrPaB3tc6jQ9tbPWtarV69k66WnvdSX9BjTp08PLFu7dq1bli9fPt+SJUsCy9WXQvetf//+voSEBN++ffuSbatnz57u/eNvl88++8zd9+yzz07WpydOnOiWa9/89BoE9zW/bt26+erXr59q2wFeREkD4EEaZdQIkUYwNYqj0VuVKujrTzlw4IAbOdOoVWJiou3bt89d9DW1Rs70dXHorA633HJLslFKjUpqFoiPPvooMBqp0TV93e1/PF00Kqqvcj/77LPAffW1rp9Gl7SeRrf8syOcyuzZs91X5Nr/4G1ppE8jdP5tffvtt7Znzx43slawYMHA/VUmEOko4LXXXuued/DXvfp6Wu3jL2fQ19MaddQonEbd/AYMGODKP/TV8umIpJ00mqvta2ReZQB++jrdP/qa3naLhB7j999/d6Oq6kP6P7XRQdX7qr0vvfTSZNtVmYBGHVPrG/6+qRIZfVugEhzxv3affPKJW55Z1E8y0l56LhrR9VPpgkaAzz77bPce8PP/rNF7UQbXtypdu3Z1PwdvS+9HjdSGvi80Uh7cp/1lS/7HTIv2SSO/+vYByCsoaQA86JlnnrHatWu7P5SqAVT9bfCR86r10x9WfVWrSzgKiip38NMf+NA/7voK3V8uoZAsl1xySdjHU/DzU+DWV+8zZsxw2wnmr8FMi7al/Q/dJz9/MFfJRbh91+2qi42EapYVOt59910364V/hgKFfQWh4O0o4ARTINF2/LenVyTtpOUKngq4oUKXRdpukdAHKn2wUlsodCp468NVONqu9jc+Pj7s7cHPTeUamgpOH8j0VX6456xSE5U8TJgwwZULKOypTEUHap5uOYP/cTPSXvpAGVozrf0JLZ3x76O/flllEvqwqHIVXcIJff0rV66c7Lq/XClcXX2o++67z31IUj27+kj79u3dhxWVOAFeReAFPEh/yHQQimjkTzW0+oOmulIFVY1aier/FObC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ViHwAgAA5FADBgywnTt3Bi5///vf01xftz/11FP23HPP2dKlS61IkSLWoUMHF2L9FHb/+9//2rx58+zDDz+0hQsX2i233BK4/cSJEy7E3nXXXS4wh6PHveOOO9x9f/jhBxsxYoQ9+OCD9sILL4Rd//LLL3fh+NVXX01xmx5j/fr1LnhnFQIvAADINSOed955p91999125plnWrly5Wzq1Kn222+/Wd++fa1YsWJWs2ZN+/jjj5Pdb/Xq1dapUycrWrSou8+NN95o+/btC9w+d+5ca926tZUtW9bKlCljl112mW3YsCFw+88//+xGV2fPnm0XX3yxnXHGGXbOOefY119/neXPWdsqX7584KJR2bRGd5988kkXPrt162aNGjWy1157zXbs2GFz5sxx6yic6vkqmDZr1sxatWplTz/9tM2YMcOt5w+zkydPdmFb2wzn3HPPtV69eln9+vWtatWqdsMNN7hgrZHfcAoUKODa/ZVXXklx20svveT2RY+VVfJn2SMDAIBc5YUvN9oLX2465XoNKha3F/qcn2zZza8us9XbD53yvje3rmY3t65+2vuoEcJ7773XvvnmG3vrrbds4MCB9u6779oVV1xhw4cPd1+rK1ht2bLFhcVff/3VLrnkErv55pvdbb///rvdd999ds0119i///1v95gKzPfcc4/Vq1fPjYSOHDnSPZ5OK5wv359jgw888ID985//dF+/62cFPo1M6mv/cBSyv/zyy1SfS5UqVdxIa1reeOMNmzZtmgueXbt2daOoel7hbNq0yXbt2pVsVLZEiRIuTCqc9+zZ0/2vMoamTZsG1tH6ep4aEdbzPh0rVqywxYsX2+jRo1NdRyO4EyZMcCO6F154oVumUop33nknzXKIzEDgBQAATuLR47br0J9ffacmoWRcimX7fzsW0X21jYzQyKpGMGXYsGH2+OOPu1FZjUaK6lc1Ovmf//zHmjdvbpMmTXKjkY899liyEcVKlSrZjz/+aLVr17arrrrKjY4eP37chVfdrtHeNWvWWIMGDQL3GzJkiHXp0sX9rGCnEUkFXtWvhqNRVAXs1GjUMy3XXXedC8UVKlRwz0dBfd26dW6kORyFXdEodrBy5coFbtP/8fHxyW7Xcy5VqlRgnfQ466yzbO/eva7t9EGhX79+qa6rDxR6TdS+/sA7c+ZM1/YK41mJwAsAAJxi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V9++fd1Z0O666y7LCfitEkWdOnVyF5yeuXPnJrv+yiuvuJHe7777zi688EKaNQL6hiHYo48+6n5pLVmyhMCbDocPH7brr7/epk6dao888gh9L50UcMuXL0+7nWbQqFSpkr388suBZRplQ+T0ISGYBgE0QtmmTRuaMUKLFy92gyVdunQJjJq/+eab9s0331hOQUkDPOPgwYPu/1KlSkV7V3IljXDMmDHDffOg0gZETt806Bd9u3btaLbToBFJlXZVr17dfXDYsmUL7Rih999/35o2bepGI/WB/9xzz3UfvHB6jh07ZtOmTXPfvKqsAZFp2bKlLViwwH788Ud3/fvvv7dFixblqEE9RnjhCSdPnnR1k/pqr0GDBtHenVxl1apVLuAePXrUihYtau+++67Vq1cv2ruVa+hDwvLly93Xoki/Zs2auW9n6tSpYzt37rTRo0db69at3dfKqs9H2jZu3Oi+lRk8eLAr61I/1FfIBQsWtD59+tB86aRjaX799Ve76aabaLt0uP/+++3QoUOu/j42NtYNoOgbQ32AzSkIvPDMCJv+QOoTJdJHQWPlypVuhPydd95xfyRVH03oPbWtW7faoEGDbN68eRYXF0fXOw3BI0Cqf1YArlKlis2cOdP69+9Pm0bwYV8jvI899pi7rhFe/S587rnnCLyn4cUXX3R9Ut84IHJ6v77xxhs2ffp0Vw6nvykahFI75pQPXgRe5Hp33HGHffjhh27WCx2EhfTRSFDNmjXdz+edd54bIZo4caI7AAtpU734nj17rEmTJoFlGtlQX5w0aZIlJSW50Q5ErmTJkla7dm1bv349zRaBhISEFB9Ozz77bJs1axbtl06bN292B0/Onj2btkunoUOHulHenj17uuuaKUTtqdmUCLxABmlWgTvvvNN9Bf/5559zoEYmjhgpqOHU2rZt60pCgunIZH2td9999xF2T/MAwA0bNtiNN95IF4yAyrhCp2NUHaVGyZE+OvBPddD+A68QuSNHjli+fMkPC9OHff09ySkY4Y3yL/bgUYxNmza5rwF00FXlypWjuWu5poxBX5+89957rtZv165dbrmmQdE8gDi1YcOGua/v1N8SExNde+rDwyeffELzRUD9LrRmXFPiaT5UaskjM2TIEDdbiALajh07bOTIke4PZa9eveiDEbjnnnvcAUMqabjmmmvcUfFTpkxxF0ROwUyBV6ORTIuXfnoPq2ZXf0tU0qCpLSdMmOAO/ssxfIiazz77TDMyp7j06dOHVyUC4dpOl5dffpn2i1C/fv18VapU8RUsWNBXtmxZX9u2bX2ffvop7ZcBbdq08Q0aNIg2jNC1117rS0hIcH2wYsWK7vr69etpv3T44IMPfA0aNPAVKlTIV7duXd+UKVNov3T65JNP3N+PdevW0Xan4dChQ+73XuXKlX1xcXG+6tWr+x544AFfUlKSL6eI0T/RDt0AAABAVmEeXgAAAHgagRcAAACeRuAFAACApxF4AQAA4GkEXgAAAHgagRcAAACeRuAFAACApxF4AQAA4GkEXgDIA0aNGmWNGzdO131iYmJszpw5WbZPAJBdCLwAkMsoiKZ1UbgNNWTIEFuwYEFU9hcAoi1/tHcAAJA+O3fuDPz81ltv2UMPPWTr1q0LLCtatGjgZ509/sSJE25Z8HIAyEsY4QWAXKZ8+fKBS4kSJdyorv/62rVrrVixYvbxxx/beeedZ4UKFbJFixalKGlYtmyZXXrppVamTBn3GG3atLHly5dH9XkBQFYh8AKAB91///32+OOP2w8//GCNGjVKcXtiYqL16dPHheElS5ZYrVq1rHPnzm45AHgNJQ0A4EEPP/ywG8FNzSWXXJLs+pQpU6xkyZL2xRdf2GWXXZYNewgA2YcRXgDwoKZNm6Z5++7du23AgAFuZFclDcWLF7fDhw/bli1bsm0fASC7MMILAB5UpEiRNG9XOcP+/ftt4sSJVqVKFVfr26JFCzt27Fi27SMAZBcCLwDkQV999ZU9++yzrm5Xtm7davv27Yv2bgFAliDwAkAepFKG119/3ZU+HDp0yIYOHWqFCxeO9m4BQJaghhcA8qAXX3zRfvnlF2vSpIndeOONdtddd1l8fHy0dwsAskSMT7OSAwAAAB7FCC8AAAA8jcALAAAATyPwAgAAwNMIvAAAAPA0Ai8AAAA8jcALAAAATyPwAgAAwNMIvAAAAPA0Ai8AAAA8jcALAAAATyPwAgAAwLzs/wCrQUBudCewvgAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.figure(figsize=(8, 4))\n", + "plt.plot(df_voltage[\"trial\"], df_voltage[\"voltage_V\"], marker=\"o\", linestyle=\"none\", label=\"samples\")\n", + "plt.axhline(V_mean, linestyle=\"--\", linewidth=2, label=f\"mean = {V_mean:.4f} V\")\n", + "plt.xlabel(\"Trial\")\n", + "plt.ylabel(\"Voltage [V]\")\n", + "plt.title(\"Repeated Voltage Measurements\")\n", + "plt.legend()\n", + "plt.grid(True, alpha=0.3)\n", + "plt.show()\n", + "\n", + "# Plot the repeated measurements\n", + "#The dashed line shows the sample mean. \n", + "#This helps us visualize the spread of the measurements around the central value." + ] + }, + { + "cell_type": "markdown", + "id": "b086bfda", + "metadata": {}, + "source": [ + "### Exercise A\n", + "\n", + "Using the measurements above, answer the following:\n", + "\n", + "1. What is the estimated voltage?\n", + "2. What does the sample standard deviation tell us?\n", + "3. Are the measurements relatively precise or widely scattered?\n", + "\n", + "Write a short interpretation in your own words." + ] + }, + { + "cell_type": "markdown", + "id": "420a5134", + "metadata": {}, + "source": [ + "## Part B — Propagation of Uncertainty for One Variable\n", + "\n", + "Now we consider a quantity that is not measured directly, but computed from another measured variable.\n", + "\n", + "Suppose the output quantity is:\n", + "\n", + "$$\n", + "A = \\pi r^2\n", + "$$\n", + "\n", + "If the radius \\(r\\) has uncertainty, then the area \\(A\\) also has uncertainty.\n", + "\n", + "For one variable, we use the first-order propagation formula:\n", + "\n", + "$$\n", + "\\sigma_A \\approx \\left|\\frac{dA}{dr}\\right| \\sigma_r\n", + "$$" + ] + }, + { + "cell_type": "markdown", + "id": "181c9bee", + "metadata": {}, + "source": [ + "### Example: Area of a circle\n", + "\n", + "Let:\n", + "\n", + "- $r = 10.0$ mm\n", + "- $\\sigma_r = 0.2$ mm\n", + "\n", + "Then:\n", + "\n", + "$$\n", + "A = \\pi r^2\n", + "$$\n", + "\n", + "and\n", + "\n", + "$$\n", + "\\frac{dA}{dr} = 2\\pi r\n", + "$$\n", + "\n", + "So the propagated uncertainty is:\n", + "\n", + "$$\n", + "\\sigma_A \\approx |2\\pi r| \\sigma_r\n", + "$$" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "98397e2f", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Radius: r = 10.000 ± 0.200 mm\n", + "Area: A = 314.159 ± 12.566 mm^2\n" + ] + } + ], + "source": [ + "r = 10.0\n", + "sigma_r = 0.2\n", + "\n", + "A = np.pi * r**2\n", + "sigma_A = abs(2 * np.pi * r) * sigma_r\n", + "\n", + "print(f\"Radius: r = {r:.3f} ± {sigma_r:.3f} mm\")\n", + "print(f\"Area: A = {A:.3f} ± {sigma_A:.3f} mm^2\")" + ] + }, + { + "cell_type": "markdown", + "id": "d46b4d65", + "metadata": {}, + "source": [ + "### Observe how the output uncertainty changes\n", + "\n", + "We now vary the uncertainty in the radius and observe how the area uncertainty changes.\n", + "\n", + "This helps us see that larger uncertainty in the input produces larger uncertainty in the output." + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "c3e0fb2f", + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "sigma_r_values = np.linspace(0.01, 0.5, 100)\n", + "sigma_A_values = abs(2 * np.pi * r) * sigma_r_values\n", + "\n", + "plt.figure(figsize=(8, 4))\n", + "plt.plot(sigma_r_values, sigma_A_values)\n", + "plt.xlabel(\"Uncertainty in radius, sigma_r [mm]\")\n", + "plt.ylabel(\"Uncertainty in area, sigma_A [mm^2]\")\n", + "plt.title(\"Propagation of Uncertainty: A = pi r^2\")\n", + "plt.grid(True, alpha=0.3)\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "id": "c1736d7c", + "metadata": {}, + "source": [ + "### Exercise B\n", + "\n", + "Answer the following:\n", + "\n", + "1. If the uncertainty in radius doubles, what happens to the uncertainty in area?\n", + "2. Why does the derivative appear in the propagation formula?\n", + "3. For this example, is the relation between \\(\\sigma_r\\) and \\(\\sigma_A\\) linear?\n", + "\n", + "Write a brief explanation." + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": ".venv (3.14.2)", + "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.14.2" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/session-5-error/week5_error_propagation_lab.ipynb b/session-5-error/week5_error_propagation_lab.ipynb new file mode 100644 index 0000000..a839b24 --- /dev/null +++ b/session-5-error/week5_error_propagation_lab.ipynb @@ -0,0 +1,900 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Week 5 Lab — Error Propagation for Engineers and Scientists\n", + "\n", + "In this lab, we will study how uncertainty in measured variables affects the uncertainty of computed quantities.\n", + "\n", + "We will work through three parts:\n", + "\n", + "1. **Repeated measurements and uncertainty estimation**\n", + "2. **Propagation of uncertainty for one variable**\n", + "3. **Propagation of uncertainty for several variables**\n", + "\n", + "At the end of the lab, you should be able to:\n", + "\n", + "- compute the mean and sample standard deviation from repeated measurements,\n", + "- report a measurement with uncertainty,\n", + "- propagate uncertainty through simple formulas,\n", + "- identify which measured variable contributes most to the final uncertainty." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Part A — Repeated Measurements\n", + "\n", + "In real experiments, the same quantity is often measured several times. \n", + "These repeated measurements help us estimate:\n", + "\n", + "- a representative value of the quantity, using the **sample mean**,\n", + "- the variability of the measurements, using the **sample standard deviation**.\n", + "\n", + "We begin with a small set of repeated voltage measurements." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "import pandas as pd\n", + "import matplotlib.pyplot as plt" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Repeated voltage measurements\n", + "\n", + "The following values represent repeated measurements of the same voltage." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([4.98, 5.01, 5. , 5.03, 4.99, 5.02, 4.97, 5.01])" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "V_samples = np.array([4.98, 5.01, 5.00, 5.03, 4.99, 5.02, 4.97, 5.01])\n", + "\n", + "V_samples" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Compute the mean and sample standard deviation\n", + "\n", + "We will use:\n", + "\n", + "\\[\n", + "\\bar{x} = \\frac{1}{n}\\sum_{i=1}^n x_i\n", + "\\]\n", + "\n", + "and\n", + "\n", + "\\[\n", + "s = \\sqrt{\\frac{1}{n-1}\\sum_{i=1}^n (x_i-\\bar{x})^2}\n", + "\\]\n", + "\n", + "The mean gives a central value, while the sample standard deviation describes the spread of the repeated measurements." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Mean voltage = 5.0013 V\n", + "Sample standard deviation = 0.0203 V\n" + ] + } + ], + "source": [ + "V_mean = np.mean(V_samples)\n", + "V_std = np.std(V_samples, ddof=1)\n", + "\n", + "print(f\"Mean voltage = {V_mean:.4f} V\")\n", + "print(f\"Sample standard deviation = {V_std:.4f} V\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Report the measurement\n", + "\n", + "A basic engineering report format is:\n", + "\n", + "\\[\n", + "V \\approx \\bar{V} \\pm s_V\n", + "\\]\n", + "\n", + "This is a practical summary of the measured value and its variability." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Reported measurement: V = 5.0013 ± 0.0203 V\n" + ] + } + ], + "source": [ + "print(f\"Reported measurement: V = {V_mean:.4f} ± {V_std:.4f} V\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Organize the measurements in a table" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "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", + "
trialvoltage_V
014.98
125.01
235.00
345.03
454.99
565.02
674.97
785.01
\n", + "
" + ], + "text/plain": [ + " trial voltage_V\n", + "0 1 4.98\n", + "1 2 5.01\n", + "2 3 5.00\n", + "3 4 5.03\n", + "4 5 4.99\n", + "5 6 5.02\n", + "6 7 4.97\n", + "7 8 5.01" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "df_voltage = pd.DataFrame({\n", + " \"trial\": np.arange(1, len(V_samples) + 1),\n", + " \"voltage_V\": V_samples\n", + "})\n", + "\n", + "df_voltage" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Plot the repeated measurements\n", + "\n", + "The dashed line shows the sample mean. \n", + "This helps us visualize the spread of the measurements around the central value." + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAArwAAAGJCAYAAABo5eDAAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAU2dJREFUeJzt3QuczPX+x/HPWpeVay7Lkvs1tyQdl0hFrokuii6EVE4X5VCRQio551BKKbonSZEupxROJYkUOhxRLrnfFStZYf6P9/f8Z5qdnV2z9jK7v309H49h5ze/md9vvvOd3fd85/P7/mJ8Pp/PAAAAAI/KF+0dAAAAALISgRcAAACeRuAFAACApxF4AQAA4GkEXgAAAHgagRcAAACeRuAFAACApxF4AQAA4GkEXgAAAHgagRdAnnTRRRe5S3a76aabrGrVqtm+XQDIywi8gIe88sorFhMTE7jkz5/fKlas6ELW9u3bLbdZvHixjRo1yn799dds3/by5ctdG44YMSLVdX766Se3zuDBg097O0eOHHHP8fPPP7fc1L8WLVqU4nadqb5SpUru9ssuuywq+4g/TZ8+3Z588kmaBCDwAt708MMP2+uvv27PPfecderUyaZNm2Zt2rSxo0ePWm4LvKNHj45K4G3SpInVrVvX3nzzzTQDhdxwww0ZCrx6jrkh8PrFxcUFnnuwL774wrZt22aFChWKyn4hOQIv8CdGeAEPUshVCLv55pvthRdesCFDhtiGDRvs/fffj/au5SrXX3+9bdy40ZYsWRL2doVhhWKF47ykc+fO9vbbb9vx48dTBKzzzjvPypcvb7ndb7/9Fu1dAJCJCLxAHtC6dWv3v0JvsLVr19rVV19tpUqVcqN2TZs2TRGK/V9jL1y40G699VYrXbq0FS9e3Hr37m2//PJLim19/PHHbntFihSxYsWKWZcuXey///1vsnX+85//uDKL6tWru+0qIPXr18/2798fWEdf8w8dOtT9XK1atcBX6T///HNgHY1cK2AVLlzYPYeePXva1q1bU+zTlClTrEaNGm69v/zlL/bll19GHHgl3Gjmd999Z+vWrQusI88++6zVr1/fjXBWqFDBbr/99jRHp/VcypYt637WKK//Oeq5R9pOfhoh1uun9fRcn3/+efc4erxQkbZbanr16uX2Yd68eYFlx44ds3feeceuu+66sPc5efKk+3pd7aN9LFeunOtPoX3ovffec31G7ad21HMZM2aMnThxIkU5yVVXXeXaRI931llnuedx8ODBQNvquav/hgpuY/G305o1a9z+n3nmmdaqVat0tZfqwRs0aOBeM32bcsYZZ1jNmjVdm/hHv5s1a+Yeo06dOjZ//vwU+6WyI72+ahs9d7XVSy+9lOJ11r7OnDnTHn30Ufe89fzbtm1r69evT7Y///rXv2zz5s2BfhVcO/7000+7x9d+6vmq74Tr54BX5I/2DgDIev6QqD9sfgqhF1xwgavxvf/++11A1R/R7t2726xZs+yKK65I9hh33HGHlSxZ0oUDBb3Jkye7P6b+P8CiMoo+ffpYhw4dbNy4ce7req2n8LBixYrAH1wFJY2c9u3b1wUW7YtCqf7XaKoe78orr7Qff/zRjaI+8cQTVqZMGXdff0DUH/sHH3zQrrnmGjeSvXfvXvdH/MILL3Tb0r7Kiy++6IJVy5Yt7e6773bbvfzyy11wUb1pWhS0dT+1i/YhNjY2cJs/HPgDntpFobVdu3Y2cODAQBstW7bMvvrqKytQoECKx9dz0TpaX+2t5yyNGjWKuJ1Ez7djx46WkJDg9kHhUGUt/rYKFmm7pUWvY4sWLdxro28T/B90FDYVBp966qkU99FroPCp53LXXXfZpk2bbNKkSW6bwe2jdYoWLerqovX/v//9b3vooYfs0KFD9o9//CMQrtXHkpKS7M4773Rto7D44Ycfug8YJUqUsNPRo0cPq1Wrlj322GOuHjm97aXwrtpltYEeS6+tfn7jjTdc37vttttcf9Hz0AdNhWZ9KJTdu3db8+bN3Wuq95peO7Vp//793XPX/YM9/vjjli9fPvftjdr973//u/vwtXTpUnf7Aw884JarxER9V9SeMnXqVPcaaB8GDRrkSp0U1HXf1D6wALmeD4BnvPzyy/or7Zs/f75v7969vq1bt/reeecdX9myZX2FChVy1/3atm3ra9iwoe/o0aOBZSdPnvS1bNnSV6tWrRSPed555/mOHTsWWP73v//dLX/vvffc9cTERF/JkiV9AwYMSLZPu3bt8pUoUSLZ8iNHjqTY9zfffNM93sKFCwPL/vGPf7hlmzZtSrbuzz//7IuNjfU9+uijyZavWrXKlz9//sBy7W98fLyvcePGvqSkpMB6U6ZMcY/bpk2bU7bpM88849b95JNPAstOnDjhq1ixoq9Fixbu+p49e3wFCxb0tW/f3t3mN2nSJHffl156KbCsT58+vipVqgSu63XSOiNHjkyx7UjbqWvXrr4zzjjDt3379sCyn376ybVF8K/5SNstNf6+sGzZMvfcihUrFtjHHj16+C6++GL3s55fly5dAvf78ssv3f3eeOONZI83d+7cFMvDPedbb73VPT9/X12xYoW739tvv53qvqrPaB3tc6jQ9tbPWtarV69k66WnvdSX9BjTp08PLFu7dq1bli9fPt+SJUsCy9WXQvetf//+voSEBN++ffuSbatnz57u/eNvl88++8zd9+yzz07WpydOnOiWa9/89BoE9zW/bt26+erXr59q2wFeREkD4EEaZdQIkUYwNYqj0VuVKujrTzlw4IAbOdOoVWJiou3bt89d9DW1Rs70dXHorA633HJLslFKjUpqFoiPPvooMBqp0TV93e1/PF00Kqqvcj/77LPAffW1rp9Gl7SeRrf8syOcyuzZs91X5Nr/4G1ppE8jdP5tffvtt7Znzx43slawYMHA/VUmEOko4LXXXuued/DXvfp6Wu3jL2fQ19MaddQonEbd/AYMGODKP/TV8umIpJ00mqvta2ReZQB++jrdP/qa3naLhB7j999/d6Oq6kP6P7XRQdX7qr0vvfTSZNtVmYBGHVPrG/6+qRIZfVugEhzxv3affPKJW55Z1E8y0l56LhrR9VPpgkaAzz77bPce8PP/rNF7UQbXtypdu3Z1PwdvS+9HjdSGvi80Uh7cp/1lS/7HTIv2SSO/+vYByCsoaQA86JlnnrHatWu7P5SqAVT9bfCR86r10x9WfVWrSzgKiip38NMf+NA/7voK3V8uoZAsl1xySdjHU/DzU+DWV+8zZsxw2wnmr8FMi7al/Q/dJz9/MFfJRbh91+2qi42EapYVOt59910364V/hgKFfQWh4O0o4ARTINF2/LenVyTtpOUKngq4oUKXRdpukdAHKn2wUlsodCp468NVONqu9jc+Pj7s7cHPTeUamgpOH8j0VX6456xSE5U8TJgwwZULKOypTEUHap5uOYP/cTPSXvpAGVozrf0JLZ3x76O/flllEvqwqHIVXcIJff0rV66c7Lq/XClcXX2o++67z31IUj27+kj79u3dhxWVOAFeReAFPEh/yHQQimjkTzW0+oOmulIFVY1aier/FObC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ViHwAgAA5FADBgywnTt3Bi5///vf01xftz/11FP23HPP2dKlS61IkSLWoUMHF2L9FHb/+9//2rx58+zDDz+0hQsX2i233BK4/cSJEy7E3nXXXS4wh6PHveOOO9x9f/jhBxsxYoQ9+OCD9sILL4Rd//LLL3fh+NVXX01xmx5j/fr1LnhnFQIvAADINSOed955p91999125plnWrly5Wzq1Kn222+/Wd++fa1YsWJWs2ZN+/jjj5Pdb/Xq1dapUycrWrSou8+NN95o+/btC9w+d+5ca926tZUtW9bKlCljl112mW3YsCFw+88//+xGV2fPnm0XX3yxnXHGGXbOOefY119/neXPWdsqX7584KJR2bRGd5988kkXPrt162aNGjWy1157zXbs2GFz5sxx6yic6vkqmDZr1sxatWplTz/9tM2YMcOt5w+zkydPdmFb2wzn3HPPtV69eln9+vWtatWqdsMNN7hgrZHfcAoUKODa/ZVXXklx20svveT2RY+VVfJn2SMDAIBc5YUvN9oLX2465XoNKha3F/qcn2zZza8us9XbD53yvje3rmY3t65+2vuoEcJ7773XvvnmG3vrrbds4MCB9u6779oVV1xhw4cPd1+rK1ht2bLFhcVff/3VLrnkErv55pvdbb///rvdd999ds0119i///1v95gKzPfcc4/Vq1fPjYSOHDnSPZ5OK5wv359jgw888ID985//dF+/62cFPo1M6mv/cBSyv/zyy1SfS5UqVdxIa1reeOMNmzZtmgueXbt2daOoel7hbNq0yXbt2pVsVLZEiRIuTCqc9+zZ0/2vMoamTZsG1tH6ep4aEdbzPh0rVqywxYsX2+jRo1NdRyO4EyZMcCO6F154oVumUop33nknzXKIzEDgBQAATuLR47br0J9ffacmoWRcimX7fzsW0X21jYzQyKpGMGXYsGH2+OOPu1FZjUaK6lc1Ovmf//zHmjdvbpMmTXKjkY899liyEcVKlSrZjz/+aLVr17arrrrKjY4eP37chVfdrtHeNWvWWIMGDQL3GzJkiHXp0sX9rGCnEUkFXtWvhqNRVAXs1GjUMy3XXXedC8UVKlRwz0dBfd26dW6kORyFXdEodrBy5coFbtP/8fHxyW7Xcy5VqlRgnfQ466yzbO/eva7t9EGhX79+qa6rDxR6TdS+/sA7c+ZM1/YK41mJwAsAAJxi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V9++fd1Z0O666y7LCfitEkWdOnVyF5yeuXPnJrv+yiuvuJHe7777zi688EKaNQL6hiHYo48+6n5pLVmyhMCbDocPH7brr7/epk6dao888gh9L50UcMuXL0+7nWbQqFSpkr388suBZRplQ+T0ISGYBgE0QtmmTRuaMUKLFy92gyVdunQJjJq/+eab9s0331hOQUkDPOPgwYPu/1KlSkV7V3IljXDMmDHDffOg0gZETt806Bd9u3btaLbToBFJlXZVr17dfXDYsmUL7Rih999/35o2bepGI/WB/9xzz3UfvHB6jh07ZtOmTXPfvKqsAZFp2bKlLViwwH788Ud3/fvvv7dFixblqEE9RnjhCSdPnnR1k/pqr0GDBtHenVxl1apVLuAePXrUihYtau+++67Vq1cv2ruVa+hDwvLly93Xoki/Zs2auW9n6tSpYzt37rTRo0db69at3dfKqs9H2jZu3Oi+lRk8eLAr61I/1FfIBQsWtD59+tB86aRjaX799Ve76aabaLt0uP/+++3QoUOu/j42NtYNoOgbQ32AzSkIvPDMCJv+QOoTJdJHQWPlypVuhPydd95xfyRVH03oPbWtW7faoEGDbN68eRYXF0fXOw3BI0Cqf1YArlKlis2cOdP69+9Pm0bwYV8jvI899pi7rhFe/S587rnnCLyn4cUXX3R9Ut84IHJ6v77xxhs2ffp0Vw6nvykahFI75pQPXgRe5Hp33HGHffjhh27WCx2EhfTRSFDNmjXdz+edd54bIZo4caI7AAtpU734nj17rEmTJoFlGtlQX5w0aZIlJSW50Q5ErmTJkla7dm1bv349zRaBhISEFB9Ozz77bJs1axbtl06bN292B0/Onj2btkunoUOHulHenj17uuuaKUTtqdmUCLxABmlWgTvvvNN9Bf/5559zoEYmjhgpqOHU2rZt60pCgunIZH2td9999xF2T/MAwA0bNtiNN95IF4yAyrhCp2NUHaVGyZE+OvBPddD+A68QuSNHjli+fMkPC9OHff09ySkY4Y3yL/bgUYxNmza5rwF00FXlypWjuWu5poxBX5+89957rtZv165dbrmmQdE8gDi1YcOGua/v1N8SExNde+rDwyeffELzRUD9LrRmXFPiaT5UaskjM2TIEDdbiALajh07bOTIke4PZa9eveiDEbjnnnvcAUMqabjmmmvcUfFTpkxxF0ROwUyBV6ORTIuXfnoPq2ZXf0tU0qCpLSdMmOAO/ssxfIiazz77TDMyp7j06dOHVyUC4dpOl5dffpn2i1C/fv18VapU8RUsWNBXtmxZX9u2bX2ffvop7ZcBbdq08Q0aNIg2jNC1117rS0hIcH2wYsWK7vr69etpv3T44IMPfA0aNPAVKlTIV7duXd+UKVNov3T65JNP3N+PdevW0Xan4dChQ+73XuXKlX1xcXG+6tWr+x544AFfUlKSL6eI0T/RDt0AAABAVmEeXgAAAHgagRcAAACeRuAFAACApxF4AQAA4GkEXgAAAHgagRcAAACeRuAFAACApxF4AQAA4GkEXgDIA0aNGmWNGzdO131iYmJszpw5WbZPAJBdCLwAkMsoiKZ1UbgNNWTIEFuwYEFU9hcAoi1/tHcAAJA+O3fuDPz81ltv2UMPPWTr1q0LLCtatGjgZ509/sSJE25Z8HIAyEsY4QWAXKZ8+fKBS4kSJdyorv/62rVrrVixYvbxxx/beeedZ4UKFbJFixalKGlYtmyZXXrppVamTBn3GG3atLHly5dH9XkBQFYh8AKAB91///32+OOP2w8//GCNGjVKcXtiYqL16dPHheElS5ZYrVq1rHPnzm45AHgNJQ0A4EEPP/ywG8FNzSWXXJLs+pQpU6xkyZL2xRdf2GWXXZYNewgA2YcRXgDwoKZNm6Z5++7du23AgAFuZFclDcWLF7fDhw/bli1bsm0fASC7MMILAB5UpEiRNG9XOcP+/ftt4sSJVqVKFVfr26JFCzt27Fi27SMAZBcCLwDkQV999ZU9++yzrm5Xtm7davv27Yv2bgFAliDwAkAepFKG119/3ZU+HDp0yIYOHWqFCxeO9m4BQJaghhcA8qAXX3zRfvnlF2vSpIndeOONdtddd1l8fHy0dwsAskSMT7OSAwAAAB7FCC8AAAA8jcALAAAATyPwAgAAwNMIvAAAAPA0Ai8AAAA8jcALAAAATyPwAgAAwNMIvAAAAPA0Ai8AAAA8jcALAAAATyPwAgAAwLzs/wCrQUBudCewvgAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.figure(figsize=(8, 4))\n", + "plt.plot(df_voltage[\"trial\"], df_voltage[\"voltage_V\"], marker=\"o\", linestyle=\"none\", label=\"samples\")\n", + "plt.axhline(V_mean, linestyle=\"--\", linewidth=2, label=f\"mean = {V_mean:.4f} V\")\n", + "plt.xlabel(\"Trial\")\n", + "plt.ylabel(\"Voltage [V]\")\n", + "plt.title(\"Repeated Voltage Measurements\")\n", + "plt.legend()\n", + "plt.grid(True, alpha=0.3)\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Exercise A\n", + "\n", + "Using the measurements above, answer the following:\n", + "\n", + "1. What is the estimated voltage?\n", + "2. What does the sample standard deviation tell us?\n", + "3. Are the measurements relatively precise or widely scattered?\n", + "\n", + "Write a short interpretation in your own words." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Part B — Propagation of Uncertainty for One Variable\n", + "\n", + "Now we consider a quantity that is not measured directly, but computed from another measured variable.\n", + "\n", + "Suppose the output quantity is:\n", + "\n", + "\\[\n", + "A = \\pi r^2\n", + "\\]\n", + "\n", + "If the radius \\(r\\) has uncertainty, then the area \\(A\\) also has uncertainty.\n", + "\n", + "For one variable, we use the first-order propagation formula:\n", + "\n", + "\\[\n", + "\\sigma_A \\approx \\left|\\frac{dA}{dr}\\right| \\sigma_r\n", + "\\]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Example: Area of a circle\n", + "\n", + "Let:\n", + "\n", + "- \\(r = 10.0\\) mm\n", + "- \\(\\sigma_r = 0.2\\) mm\n", + "\n", + "Then:\n", + "\n", + "\\[\n", + "A = \\pi r^2\n", + "\\]\n", + "\n", + "and\n", + "\n", + "\\[\n", + "\\frac{dA}{dr} = 2\\pi r\n", + "\\]\n", + "\n", + "So the propagated uncertainty is:\n", + "\n", + "\\[\n", + "\\sigma_A \\approx |2\\pi r| \\sigma_r\n", + "\\]" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Radius: r = 10.000 ± 0.200 mm\n", + "Area: A = 314.159 ± 12.566 mm^2\n" + ] + } + ], + "source": [ + "r = 10.0\n", + "sigma_r = 0.2\n", + "\n", + "A = np.pi * r**2\n", + "sigma_A = abs(2 * np.pi * r) * sigma_r\n", + "\n", + "print(f\"Radius: r = {r:.3f} ± {sigma_r:.3f} mm\")\n", + "print(f\"Area: A = {A:.3f} ± {sigma_A:.3f} mm^2\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Observe how the output uncertainty changes\n", + "\n", + "We now vary the uncertainty in the radius and observe how the area uncertainty changes.\n", + "\n", + "This helps us see that larger uncertainty in the input produces larger uncertainty in the output." + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAq8AAAGJCAYAAACkfNorAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAaDBJREFUeJzt3Qd4U9X7B/C3e9FF6W7pLnvvDS2CgkwZAiIiP1SmLPdARAH5q2wBZYmiAjJEQVYpe2+Q1cUqLR3QCd35P+9JE9LSQtMmbXLz/TxPaHuT3Jzck5Bvzn3vuUYymUxGAAAAAAB6wLiqGwAAAAAAUFYIrwAAAACgNxBeAQAAAEBvILwCAAAAgN5AeAUAAAAAvYHwCgAAAAB6A+EVAAAAAPQGwisAAAAA6A2EVwAAAADQGwivAKB1N2/eJCMjI1qzZo1Ob+2dO3dS48aNydLSUrQ3JSWlqpuk0zp37iwuoHn79+8Xr0H+CQBFIbwCVACHMf6AUVw49AQHB9P48ePp/v37Brdtf/vtN5o/fz7po+TkZBo0aBBZWVnRkiVL6JdffiEbG5sSb/vFF1+I/k5KSirx+vr16+t8qDt69Kh4HlUV0KvitfL++++Lfhs8eDAZop9++kk8fycnJ7p+/Xqpt9u8ebPYRv7+/mRtbU21atWiqVOn4ssc6AwjmUwmq+pGAOhzeB05ciR9+eWX5OfnR1lZWXT48GERfHx8fOjy5cviP39D8fLLL4vnzCOtqvi/mezsbDIzMyMTExPS1VHXl156ifbs2UNdu3Z95m059M2YMYMSExOpRo0aJYZXXq7Lo2bffvstvffeexQTE0O+vr7lWkdOTo74aW5urrHXirbwa7BmzZpkamoqvljyxdbWlnRVQUGB2L68bY2NKz7OtGPHDurduze1bNmSbty4QXZ2dnTs2DFydXV96rb82vXw8KC+ffuKbXbp0iVatmyZCLNnz54VX/AAqpJplT46gERw6GnevLn4/X//+58Y2fj+++/pr7/+oiFDhpR4n8zMzFJH9qRGMSqtyxISEsRPBwcHkjJNvu7KE1qrCn+RuHv3Lu3bt4+6d+8uRhdHjBhBuooDa3nfM8X7+MyZM2KvQseOHemff/6hiIgICg0NFV8geLsUfz38+eefT+05aNasmdhe69atE//HAVQllA0AaEFISIj4yaNa7I033qBq1apRVFQU9ejRQ4z4DBs2TPlBw7vkvL29ycLCQuyi41Gx4jtFOAByOQJ/ePBt+IONP1AOHjxY5Ha3bt2isWPHitvwCAkH6YEDB5Y4wnXx4kXq1KmTuJ2Xlxd99dVXtHr1avFYqrfnEN6zZ08xGsNtDAgIoJkzZ1J+fr7yNvxht337dvH4ijIKxYheaTWvHCQ6dOggPjw5NPbp04euXr1a4i76yMhIsR35dvb29mLE+9GjR2Xqj40bN4ptxc+TR5Vee+01io2NLdJ2RZBp0aKFeDx+LE3XL27YsIG+/vprsa25/zhA8PMq7sSJE+J14ujoKLZNw4YNacGCBUVuc+3aNRowYABVr15drIu/PG3btq3EspYDBw6I14SLi4t4bN6mPOrKeI+Bor8Ufc6vAX4N8+25v+vWrUtLly59bs1rWZ9naa+VjIwM8Xzffffdpx6LgyeP2s+ePZtyc3PF84+LiytzH/D7hp9Hly5dxMg6/10V+HlyaNy9e7eyvprbxWG6PDWvivfHlStXaOjQoeI10759e+X1/H8Qv3dbtWolgivvCWrUqJF473F/c3mA6vuYlVTy0q9fP/Gz+PsToCpg5BVACzikMg6OCnl5eWLEhz9YOJzyhwgHVN6VFx4eTqNGjRIfZrt27RLBgsPVvHnziqyXQ8j69etp4sSJIlT88MMP9OKLL9LJkyfFrmp26tQpUc/46quvivDAH1AcPPgDiT/gFGUMvH7+IOcPvo8++kiEhhUrVoj1FschiMP3lClTxE/+4Pv8888pLS2N/u///k/c5pNPPqHU1FQRMhTt5tuWZu/evWLEmndF8gfw48ePadGiRdSuXTuxa7L4rmweOeKgxeGFr+e2crj65ptvylTawaGU78u7izkIHjlyhM6dOyfCMLedw/6PP/6oLAHhgK5pc+bMESNq06ZNE9tq7ty54ksMh1UFLlvgcOPu7i5CnJubmwgMHDwUoe6///4T28nT05M+/PBD0XccGHk376ZNm5RBQ4GDq7Ozs+gz/rLE2513Hf/++++irxSlD3wbxq+XevXqidcm72b/+++/xTp4V/a4ceMq/DxLe63whdvOr3Hec6FaYsJt5fcLr4dfu3Xq1BFfOMpyECCXrPB24S+JjPeG8GsiPj5ebN/n4bZyYH4eDqLPes0r8Mgnh8Z33nlHPAf+ssBfMLl05YUXXqDy4PsHBQXRrFmzlF98Hzx4IPq6QYMG4ouN6u5+/kIUFhYmvliMGTNGvPafhbcVK6lMBqDScc0rAJTP6tWr+VNCtnfvXlliYqLszp07sj/++EPm5OQks7Kykt29e1fcbsSIEeJ2H374YZH7b926VSz/6quviiwfMGCAzMjISBYZGalcxrfjy+nTp5XLbt26JbO0tJT169dPuezRo0dPtfPYsWPivmvXrlUumzBhgniMc+fOKZclJyfLqlevLm4bExPzzHW+/fbbMmtra1lWVpZyWc+ePWU+Pj5P3ZbXxevk7aXQuHFjmYuLi3hMhQsXLsiMjY1lr7/+unLZ9OnTxX3ffPPNIuvk58zb+VlycnLEY9SvX1/2+PFj5fJ//vlHrPPzzz9/qi9PnTr1zHWqton7vCT16tWTderUSfl3eHi4uH2dOnVk2dnZyuULFiwQyy9duiT+zsvLk/n5+Ylt+PDhwyLrLCgoUP4eGhoqa9CgQZFtz9e3bdtWFhQU9NRzat++vVi3qv/7v/97qp+f1d/du3eX+fv7F1nGz7E8z/NZr5Vdu3aJ2/77779Fljds2FD5WIrXE7+vyuLPP/8Ut4+IiBB/p6WliffNvHnzynR/flzF++9Zl7K0h58z33bTpk3KZampqTJ3d3dZkyZNntqW/LMsr8UhQ4bItGnUqFEyExMT2Y0bN7T6OABlgbIBAA3g3ZA8asW7/nnEk0dftmzZIkbGVPEIR/GDKHh0iUdSVfEIEefVf//9t8jyNm3aiN3fCnwwBe9q59Faxa4/1dEVHi3io+gDAwPFCCOPWCrwKA+vj0d7FXgXtKKcQZXqOtPT08VR9ry7n3fb8+5bdfHu3vPnz4td8/yYqqNBPPLE26U4HqVSxY/Pz41Hf0tz+vRpUcvKo4aq9YO8G7V27dpi13Vl4tE+1TpRfg4sOjpa/OSRYN7NO2nSpKdqb3mEXDGaxiPfPBKt6Au+8LbgkX0e1VMtiWCjR49W60A51f7mUUdeP5eXcDv574o+z+e9l7g8RXW3Ph/YxSUuXO7BeFSe3x9lnXqN18VlFfw+YFy2w6+BspYOfPfdd2JE/HkXns2gLPj5qY6O88FTr7/+uuh/xQinuoq/PzQ9M8TKlSvF/0s8ugtQ1VA2AKABPLUST5HFu1j56F3eBV38CGG+jnfjq+KaP/4gK37UM+8SVVyvqqQPDn5cDpF85DvvAuXd77x7nHdFcohRrZ1VDR68bg6vxSk+4FXxbupPP/1UhKbiYbEsYaY4xfPi7VQcP3cO48UPOuGgropr+9jDhw/Fh7+6j8PhlWeG0BZF2FT1rOegWm6iKAEpCdeOcp9+9tln4lISDuyqX5y4DEIdXFIxffp0cTR68bpi7m+uOX6W5z3PZ+H3DX+B4tIFfmwuc+GQyV8+eNe4ungqMP4yxPXiqnW3XHbBpQRcPsHvoWdR/cKoCfweK/76ULSBy3zKUspQnLp9XFaHDh0SJU38xYjrmAF0AcIrgAbw9DOK2QZKw7Wkmpjy5nkmTJgggiuP3nE45aDBH5Q8Isw1i+X58OdRNw6IXA/KtaAcJHgU94MPPijXOsujtJHDqpjtTzGKy18USsKhq6QjxTXxHBTbm+tJOVCUpPgXEHWmNuIAzXWQHO657pT3JvAoKgdArk8tS39X9HnyKCTXUm/dulXUp/LIH9cBPy80l3awHte88ugpX4rjYMzTnj0Lj3YrpgV7Ft7O5WmjJmhj+qoLFy6Iumf+MsUzEPAXcABdgFciQBXiuWD5wCXe/as6+qrYFc/Xq+JdwsXxyBGPTikOtuEPGT4IRPWDmuefLT4ZPa+7pCPdiy/jo515lzQfDc1T7SgoZlJ43mhjac+blTRROj93PihEE9M5qT6OYgYIBV5WfPuWZ70c7ooH1zt37lC3bt3UXq/iIDHeTV7aXLN8gBvjOXOfNx/ts5TWV3xwFoc9PsBHdQSVDyrUpGe9VjgsNWnSRARL3ltx+/ZtcTBfefA6eH08klzc8uXLRTB+Xnjt37+/OFjyecp6AJli9Fx1G/D7mJV3zl1N4y8xfDAoHxTJX1zKciAaQGVBzStAFeLpkLhWdfHixUWW8wgXf7DxkcKqeDeuat0qhySexoqDkmK0i38WH+HiD/7i0+HwqB2vj2tPVUeYitcBKtaruk4eheKZDorjwFmWMgI+kp5rbX/++ecioZpDG08hxNtFE3g0nD98eYJ1DmQKXEvMR/Bz3WN58Mgkj0byru3iI5F81DbPLFG878qiadOmYvcvn3mq+JcNxfbn58MzR3DwKmmqKC4fKQvFl4Pij1NSf3Of8mi+Jj3vtTJ8+HDxWuBtwbN2qG7Psk6Vxe8PnkqO64N5WrHiF67N5SCpOttDZdS83rt3T9TEK3Apztq1a8V7ojwlA5rGdbf8fwrvKeISHsUXYwBdgZFXgCrUq1cvMV0VTx3EtW48/yJ/YHMg5d3+xadr4hEkDp2qU2Ux1ZEj3r3KZ/ji3Zc8fyQHVB7dVZ22i/EH7a+//ioOkOJSA8VUWTzaxiFWMSrUtm1bUbPIo0r8uLyc11/SLmCuDeRpjnhKLZ6aikdr+DmWhHcLcyDh0gauqVNMlcXt5qmzNIFHJ3kqLQ4pXPrAu6AVU2XxCNfkyZPLtV4OkDztFNcB82g071rl0W+eooyndOIP/tKe97NwWOBAzPflIMPt5qDPQY3rjjlIKGqseco1ngKJD8bi0Vh+XtzXPP0U7+59HkUdJ7/2uKSEtxU/Lredgzn//vbbb4u5V/m0ovyc1ZlXtSyP/6zXCs9Zyq9RDnl8oCO3T6GsU2XxqKpiOrqS8Jck3hXOX9h4HtRntVWTuL6VX/M8rR3XyK9atUr0n6a/IJQXj7jywXW8/bkuXLU2nNtb3um8ADSmTHMSAECJyjq9Ek+hY2NjU+J16enpssmTJ8s8PDxkZmZmYqojnsZIdWokxo8zbtw42a+//ipuY2FhIabWKT6VDk+xNHLkSFmNGjVk1apVE1McXbt2TUzRU3wqH54mq0OHDmJdXl5estmzZ8sWLlwoHis+Pl55uyNHjshat24tpv/idr7//vvKKY1UHz8jI0M2dOhQmYODg7hOMRVSSVNlMZ5irF27dmK9dnZ2sl69esmuXLlSpmmpFNu+pKmeilu/fr3YVvw8eSqwYcOGKacxK89UWQrcF7xduG953bVr15bNmDGjyBRWqtMebdy4scjy0rbL4cOHZS+88ILM1tZWrJuniVq0aFGR20RFRYkpxdzc3MTrxtPTU/byyy+LaaHK+pxmzpwp7sfTk6luy23btonH5OmkfH19Zd98841s1apVT23v0qbKKsvzLO21oqpHjx7iuqNHj5a4vudNTcXTidWsWfOZt+ncubOYTi03N1dWGfh58jRh/P7hbax43RTfZupOlVXatG3l8azpwFT7G6CqGPE/movCAKAtPOLJE8QXLzHQNB7x5V3SPOKmzvRKAJrG00ldunSpxNpsfcUj/rwHhU86AQDlg5pXAANW/Gh5PjCLSwJ4lzSCK1QlLlHgeXi59hUAQBVqXgEMGNeb8sE/XD/INXc8ETkfPFLa/KEA2sazWPA8s1x/zXWuXHcLAKAK4RXAgPEBKzy1Fh8hz2UJfLQ7B1jVKbEAKhNPScUHqvGBgzwbhS4cfQ8AugU1rwAAAACgN1DzCgAAAAB6A+EVAAAAAPSG5Gte+ew3fDYTPvVmWU9dCQAAAACVh2du5VOle3h4iBO2GHR45eBa/NzjAAAAAKB7+LTOXl5ehh1eecRVsTHs7OzKPXrL5wvn8zs/79sA6Db0pXSgL6UDfSkd6EvpKKjk7MPTNPJgoyK3GXR4VZQKcHCtSHjNysoS90d41W/oS+lAX0oH+lI60JfSUVBF2acsJZ4YRgQAAAAAvYHwCgAAAAB6A+EVAAAAAPQGwisAAAAA6A2EVwAAAADQGwivAAAAAKA3EF4BAAAAQG8gvAIAAACA3kB4BQAAAAC9gfAKAAAAAErZefm07sRt2nQhkXSR5E8PCwAAAABlC60bTt2hpfuj6F5qFtlZmNBrHYLJ3tqCdAnCKwAAAIABy8rNpw2n79AP4VEUn5YllrnaWdCwpi5kbqJ7O+kRXgEAAAAMNLT+cfI2LT0QRffTssUyNztLGtslgAY29aTUh8lkYWZCugbhFQAAAMDAQutvJ27TsgNRlJAuD63u9pY0tnMADWrhTRamJlRQUEC6CuEVAAAAwEBC67rC0JpYGFo9OLR2CaSBzb1EaNUHCK8AAAAAEvY4h0PrLVp2IJqSMuSh1dPBSpQHDGimP6FVAeEVAAAAQIIe5eTRr8dv0Y8HObTmiGVejlY0rksgvdLUi8xNde9grLJAeAUAAACQWGj95Zg8tCZnPgmt47sEUn89Dq0KCK8AAAAAEpCZnUdrj92inw5F04PC0FqzurUIrf2aepKZDk57VR4IrwAAAAB6LCM7j34+epNWHIqmh49yxTIfJ3lo7dtEOqFVoUqfzdKlS6lhw4ZkZ2cnLm3atKF///1XeX1WVhaNGzeOnJycqFq1avTKK6/Q/fv3q7LJAAAAADohPSuXloRHUvtv9tH/7bougquvkzV9O7ARhU3pRAObe0suuJZ55LV///5qr3jZsmXk4uLyzNt4eXnRnDlzKCgoiGQyGf3888/Up08fOnfuHNWrV48mT55M27dvp40bN5K9vT2NHz9etOXIkSNqtwcAAABACtKycunnIzdpxeEYSn0sH2n1r2FD40MCqXcjDzKVYGBVO7xu3bqVBg0aRFZWVmVa6W+//UYZGRnPDa+9evUq8vfXX38tRmOPHz8ugu3KlSvFukJCQsT1q1evpjp16ojrW7duXeI6s7OzxUUhLS1N/OTJdss74S7fj8O1Lk/YC2WDvpQO9KV0oC+lA32p/dC65shNWnXkJqVl5amE1gDq1dCDTIyNlP2gb32pzuOUueZ14cKFzw2jCn/++SepKz8/X4ywZmZmivKBM2fOUG5uLnXt2lV5m9q1a1PNmjXp2LFjpYbX2bNn04wZM55anpiYKMoQyrtBU1NTRScaG0v724zUoS+lA30pHehL6UBfakd6Vh6tP59A688lUHp2vljm42hJo1q5U2iwowityUmJet2X6enpmg2v4eHhVL169TKvlOtWPT09y3TbS5cuibDKwZLrWrds2UJ169al8+fPk7m5OTk4OBS5vaurK8XHx5e6vo8++oimTJlSZOTV29ubnJ2dRV1teTvQyMhIrAPhVb+hL6UDfSkd6EvpQF9qFpcE8CjrmqM3RYBlQS7VaHyXAOrRwF050iqFvrS0tNRseO3UqZNaDWjfvn2Zb1urVi0RVDnd84jtiBEj6MCBA1ReFhYW4lIcb/iKbHzuwIquA3QD+lI60JfSgb6UDvRlxaU8yqFVh2No9ZGblJ4tD63BrtVoYmgQ9ajvTsZaDK1V1ZfqPEaVT5XFo6uBgYHi92bNmtGpU6dowYIFNHjwYMrJyaGUlJQio68824Cbm1sVthgAAABA8x5m5tDKwzFipJWnv2K13WxFaH2xnlulhVZdV+aYy/Wn77//vgiaLVu2pFWrVhW5nkOliYmJRoap+YArDrJmZmYUFhamvO769et0+/ZtUWYAAAAAIAV8QoG5O6+JKa8Wh0eK4MqhddlrTWnHxA6iRADBtRwjrzwTwNq1a2natGliNJTrSk+cOEHLly9X3oaLetXB9akvvfSSOAiLC3V5ZoH9+/fTrl27xNRYo0aNEo/D9bZcrzphwgQRXEs7WAsAAABAn0Irnw1r7dGblJkjPxCrjrsdvRsaRN3quiKwVjS8rlu3jlasWEEvv/yy+PuNN94QwXPkyJHKUViujVBHQkICvf766xQXFyfCKp+wgIPrCy+8IK6fN2+eqIHgkxPwaGz37t3phx9+UOsxAAAAAHRJckY2/Xgomn45doseFYbWeh7y0PpCXVe185ShKXN4jY2Npfr16yv/5vIBHiXlOViHDx9Oc+fOVfvBeR7X5x15tmTJEnEBAAAA0GdJHFoPykPr41x5aK3vyaE1mLrWcUFo1XR45YOkoqKiyNfXV7mMp8PiabS6dOkiRmIBAAAAoKjE9GxRHqAaWht42ouR1lCEVu2FVx5h5ZrU0NDQIss9PDxo37591LlzZ/UfHQAAAECiEtKzaPmBaFp34hZl5crPINXIy57e7RpEXWphpFXr4fWzzz6ja9eulXgdj8Dy3Kx79uwpd0MAAAAApCAhLYuWHoii307cpuw8eWht7O0gQmvnYGeUB1RWePXx8RGX0vAILJ9gAAAAAMAQ3U/LomXFQmvTmhxag6ljUA2EVg1R+yQFPB0WjoIDAAAAkItPzaKl+yPp91N3KKcwtDbzcaRJXYOofSBCa5WGVz7j1dChQ8VpXAEAAAAMWVzqY1q6P4r+OHmHcvLlobWFr6OYPaBdoBMG+6o6vGZkZFCfPn3I1tZWW20BAAAA0Hn3UuShdf2pJ6G1pV91mhQaRG0CEFp1IrwmJSWJEwQ4OTnRxo0btd4oAAAAAF0Tm/KYfgiPpA2n71Buvvysoq04tHYNFqEVdCi8tm/fnlxcXGjr1q1kZmam/VYBAAAA6Ii7Dx/RkvAo+vPMk9Daxt9JzB7Q2h+hVSfDK5+cgE/jam1trf0WAQAAAOiAOw84tEbSn2fuUl6BPLRyLSvXtHKZAOhweN2wYQMNGzaMnJ2dafTo0dpvFQAAAEAVuZ38iBaHR9Dms7HK0MqzBvBIawtfhFa9CK/9+vWj7du3U//+/cnGxkbMOAAAAAAgJbeSM2nxvkjafC6W8gtDa4egGmLKq2Y+CK16N9tAly5daO/evdS7d2+EVwAAAJCMmCR5aN16/klo7RjsTO+Gcmh1rOrmQUXmeW3WrBmFh4ercxcAAAAAnRSdmKEMrYWZlTrXcqaJoUHUtCZCq2TOsBUcHKydlgAAAABUgqjC0PqXSmjtUhhamyC0Si+8AgAAAOijyIR0WrQvkv6+cE8ZWrvWcRGhtaGXQ1U3D7QVXrOysmjRokWifCAhIYEKCuRnllA4e/asuqsEAAAA0JqI++m0cF8k/XPxHskKQ+sLdV1FTWt9T3tseamH11GjRtHu3btpwIAB1LJlS5y3FwAAAHQ2tC4Ii6Dtl+KUobVbXVcx0orQakDh9Z9//qEdO3ZQu3bttNMiAAAAgAq4Hs8jrRG0QyW0vljPTYTWuh522LaGFl49PT3J1tZWO60BAAAAKKercWm0MCyC/r0cr1zWo4EbTQgJojruCK0GG16/++47+uCDD2jZsmXk4+OjnVYBAAAAqBFaF+yNoJ3/yUOrkRFRj/ruNCE0kGq7IbSSoYfX5s2bi4O2/P39ydramszMzIpc/+DBA022DwAAAKBEl2NTadG+CNr1331laO3ZwF2UBwS7Yi+xVKkdXocMGUKxsbE0a9YscnV1xQFbAAAAUOmhdf7eCNp79Ulo7dXQgyaEBFIQQqvkqR1ejx49SseOHaNGjRppp0UAAAAAJbh0N5UWhN2gvVcTxN/GHFobyUNroAtGWg2F2uG1du3a9PjxY+20BgAAAKCYC3dSxIFYYdeehNY+jT1pfEggBThXw/YyMGqH1zlz5tDUqVPp66+/pgYNGjxV82pnh8JoAAAAqLhztx+KeVr3X09Uhta+TTxpfJdA8kdoNVhqh9cXX3xR/AwNDS2yXCaTifrX/Px8zbUOAAAADDK0ck3rgRvy0GpibER9C0da/WrYVHXzQN/CK58WFgAAAEDTztySj7QeVAmt/Zt40rgugeSL0ArlDa+dOnVS9y4AAAAApTp184GYp/VwZJL425RDa1N5aPVxwkgrVDC8Mp7n9eLFi5SQkEAFBQVFruvdu3d5VgkAAAAGGFrn771BRyKTlaF1QDMvEVq9q1tXdfNAKuF1586d9Prrr1NSkvzbkSrUvAIAAMDzHI9OFrMHHI16EloHNveisZ0RWkEL4XXChAk0cOBA+vzzz8VJCgAAAADK4lhUshhpPREjPxunmQmPtHrT2M4BGGkF7YXX+/fv05QpUxBcAQAA4Ll4NiIRWsMi6KRKaB3cwpvGdA4kTwcrbEXQbngdMGAA7d+/nwICAtS9KwAAABhQaD1aONJ66uZDsczcxLgwtAaQB0IrVFZ4Xbx4sSgbOHToUIknKZg4cWKZ1zV79mzavHkzXbt2jaysrKht27b0zTffUK1atZS36dy5Mx04cKDI/d5++21atmyZuk0HAACASgithyKSaNG+SDp9qzC0mhrTkBbe9E7nAHK3x0grVHJ4/f3332n37t1kaWkpRmD5IC0F/l2d8MqhdNy4cdSiRQvKy8ujjz/+mLp160ZXrlwhG5snU2OMHj2avvzyS+Xf1tY4AhEAAEDXQivPz/rdrut0KS5TGVqHtqxJ73QKIDd7y6puIhhqeP3kk09oxowZ9OGHH5KxsXGFHpxnLlC1Zs0acnFxoTNnzlDHjh2LhFU3N7cKPRYAAABoJ7TymbD4jFjn76SIZRYcWlvJQ6urHUIrVHF4zcnJocGDB1c4uJYkNTVV/KxevXqR5evWraNff/1VBNhevXrRZ599Vuroa3Z2trgopKWliZ88H23xOWnLiu/Hb87y3h90B/pSOtCX0oG+1E/8ubj/RiItDIukC3dTlaG1b/0a9G73uuRWWB6Az079VFDJ2Uedx1E7vI4YMYLWr18vdvFrutGTJk2idu3aUf369ZXLhw4dSj4+PuTh4SFOjPDBBx/Q9evXRa1saXW0PDJcXGJioji5QnnbxsGaO1EboR0qD/pSOtCX0oG+1C/8WXgkJpVWnoijq/cfiWUWpkbUv6EzDW3iQqZ5j4gep1JCdnpVNxX06H2Znl7214uRjFulBq5pXbt2LTVq1IgaNmz41AFb33//PZXHmDFj6N9//6XDhw+Tl5dXqbfbt28fhYaGUmRkZIkzHpQ08urt7U0PHz4kOzu7cncgh19nZ2eEVz2HvpQO9KV0oC/1A8eFfdcSaMG+SLocK9+raWVmQq+1rkn/a+9HzrYW6EsJKajk7MN5zdHRUQTm5+U1tUdeL126RE2aNBG/X758uch1qgdvqWP8+PH0zz//0MGDB58ZXFmrVq3Ez9LCq4WFhbgUxxu+Ihufn1tF1wG6AX0pHehL6UBf6nZo3XPlPi3cF6EMrdbmJjS8jQ+N7uBPNaoV/cxFX0qHUSVmH3UeQ+3wGh4eTpp8Q/AZu7Zs2SJmLvDz83vufc6fPy9+uru7a6wdAAAAUFRBgYx2c2gNi6ArcU9C6+ttfGl0Bz9yKhZaASqL2uFVk3iarN9++43++usvsrW1pfj4eLHc3t5ezPsaFRUlru/Rowc5OTmJmtfJkyeLmQi4ZAEAAAC0EVrjaUFYJF0tDK025iY0oq0v/a+DP1W3MccmhypVpjHa/v37K4/aL4thw4ZRQkLCc2+3dOlSUdvAJyLgkVTFhQ8IY+bm5rR3714x92vt2rVp6tSp9Morr9Dff/9d5rYAAABA2ULrv5fiqMfCQ/TOr2dFcK1mYUrjuwTS4Q9C6P0XayO4gv6MvPLIKBftlrUUgMPlzJkzxZytz7vts/CBVsXPrgUAAACaDa07LsfRorBIun5ffsS3rYUpjWznS2+29yMHa4y0gh6GVw6ZwcHB2m8NAAAAVFpo3X4pTtS0RiRkiGW2lhxa/WhUOz+yty46mxCAXoXX8hyk5enpWZ72AAAAgBblF4bWRcVC66j2fiK42lshtIIEwmunTp203xIAAADQamj9+8I9WrQvgqISM8UyOxFa/emNdr4IraA3qnS2AQAAANB+aN12IVbUtEYnyUMrj67ySCuHVjtLjLSCfkF4BQAAkKC8/ALaduEeLd73JLQ6WJuJs2HxtFe2CK2gpxBeAQAAJBZat5yLpSXhkXQz+ZFY5sihtYO/CK08/RWAPsMrGAAAQAJyC0Mrj7TefvAktI7u6C/OioXQClKhkfDKJzBYt24drVy5kk6fPq2JVQIAAEBZQ+vZWFoc/iS08lmw3uroT8Nb+5ANRlpBYioUXnkKrVWrVtHmzZvFKV379eunuZYBAABAqXLyCmjT2buiPODuw8diWY1q8tD6WmsfsjbHzlWQJrVf2bGxsbRmzRpavXo1paSk0MOHD+m3336jQYMGkZGRkXZaCQAAAEVCK5cHxKY8Ca1vdwygYa1rIrSC5JU5vG7atEmUBRw8eJBeeukl+u6778RPGxsbatCgAYIrAACAFmXn5dOfZ+7SD+FRytDqbGtBb3f0p2GtfMjK3ATbHwxCmcPr4MGD6YMPPqD169eTra2tdlsFAAAAytC64dQdWro/iu6lZollLrYW9E6nABraqiZZmiG0gmEpc3gdNWoULVmyhPbv30/Dhw8XYdbR0VG7rQMAADDg0Lr+1B0x0hqfJg+trnYWNKZTAL3aEqEVDFeZw+vy5ctp/vz5tGHDBnGQ1qRJk6h79+4kk8mooKBAu60EAAAwEFm5+fTHydu07EC0MrS62VnS2C4BNKi5N0ZaweCpdcCWlZUVjRgxQlwiIiLEQVs8NVa7du2oZ8+eNGDAAOrfv7/Bb1QAAIDyhNbfTnBojaKE9GyxzN3eksZ2DqBBLbzJwhTlAQCs3PNoBAUF0axZs+irr76i7du3i4O5hgwZQtnZ8jccAAAAlC20risMrYmFodWDQ2uXQBrY3AuhFaCYCk8CZ2xsTL169RKXhIQE5XIeiV2xYgW5u7tX9CEAAAAk53EOh9ZbojwgKUMeWj0drGhcl0Aa0MyLzE2Nq7qJADpJozMYu7i4KH/nKbUeP5ZP5QEAAAByj3LyaN3x27T84JPQ6uUoD62vNEVoBXgenH4DAACgkkLrr8dv0Y8itOaIZd7VrWh8l0Dq39SLzEww0gpQFgivAAAAWpSZnUdrj92inw5F04NMeWitWd2axocEUr8mngitAGpCeAUAANCCjOw8+vnoTVpxKJoePsoVy3ycrMVIa1+EVoByQ3gFAADQoPSsXOVIa0phaPWrYSNCa5/GHmSK8gCACkF4BQAA0IC0rFxac+QmrTwcQ6mP5aHVv4YNTQgNpF4NEVoBdD68fvzxx1S9enVtrR4AAEAncFCVh9ZoSsvKE8v8nW1oYkgQ9WrkQSbGRlXdRABJKXd4vXLlCt2+fZtycuTF5wq9e/cWPz/66KOKtw4AAECHQ+vqIzG06nCMMrQGulSjCSGB9HJDhFYAnQmv0dHR1K9fP7p06RIZGRmRTCYTy/l3lp+fr/lWAgAA6IjUR7m08kiMCK7phaE1yKUaTQwNoh4N3DHSCqBr4fXdd98lPz8/CgsLEz9PnjxJycnJNHXqVPr222+100oAAIAqlvIoR4yyrj5yk9Kz5aE12LUwtNZ3J2OUBwDoZng9duwY7du3j2rUqCFODcuX9u3b0+zZs2nixIl07tw57bQUAACgikLrikMxtOboTTH9FavtZitC64v13BBaAXQ9vHJZgK2trfidA+y9e/eoVq1a5OPjQ9evX9dGGwEAACrdw8wcMd0Vz9WamZOvDK2TugZRt7oIrQB6E17r169PFy5cECUDrVq1orlz55K5uTn9+OOP5O/vr51WAgAAVBI+C9aKYqG1rrudGGntVtcVI60A+hZeP/30U8rMzBS/f/nll/Tyyy9Thw4dyMnJidavX6+NNgIAAGhdckY2/Xgomn45doseFYbWeh529G5oEL1Q11V5YDIA6Fl47d69u/L3wMBAunbtGj148IAcHR3xxgYAAL2TlJFNPx2Mpl+OPwmt9T05tAZT1zou+GwDkOJJCnAyAgAA0DeJ6dmippVHWh/nykNrQy97MdIaUhuhFUAy4TUrK4sWLVpE4eHhlJCQQAUFBUWuP3v2rCbbBwAAoFEJ6Vm0/EA0rTtxi7Jy5Z9hjbzsaVLXYOpcyxkjrQBSC6+jRo2i3bt304ABA6hly5Z4kwMAgF5ISMuiZYWhNTtPHlobezvQu12DqHMwQiuAZMPrP//8Qzt27KB27dpV+MF5btjNmzeLulkrKytq27YtffPNN2LqLdWRXj4Bwh9//EHZ2dmi5vaHH34gV1fXCj8+AABI330RWqPotxO3laG1SU0HMdLaMagGBmEApB5ePT09lfO8VtSBAwdo3Lhx1KJFC8rLy6OPP/6YunXrRleuXCEbGxtxm8mTJ9P27dtp48aNZG9vT+PHj6f+/fvTkSNHNNIGAACQpvjULFq6P5J+P3WHcgpDazMfR1HT2gGhFcBwwut3331HH3zwAS1btkycmKAidu7cWeTvNWvWkIuLC505c4Y6duxIqamptHLlSvrtt98oJCRE3Gb16tVUp04dOn78OLVu3fqpdfLoLF8U0tLSxE+uzS1en1tWfD+ZTFbu+4PuQF9KB/pSOjTdl/dSHovygA2n71BOvkwsa+7jSBNCAql9oJMYaeXH4wtoFt6X0lFQydlHncdRO7w2b95c7MrnExJYW1uTmZlZket52qzy4rCqOnsBh9jc3Fzq2rWr8ja1a9emmjVritPUlhReuRRhxowZTy1PTEwU7S7vBuW2cSfy6XBBf6EvpQN9KR2a6sv4tBxaezqe/v4viXILQ2sTz2o0qrU7NfOyJSOjAvFZANqD96V0FFRy9klPT9deeB0yZAjFxsbSrFmzRN2ppiZt5o00adIkUUvLZ/Fi8fHx4uxdDg4ORW7Lj8vXleSjjz6iKVOmFBl59fb2JmdnZ7Kzsyt32/h58joQXvUb+lI60JfSUdG+jH34mH44EEV/nrmrDK2t/arTxNBAau3vpIUWQ2nwvpSOgkrOPpaWltoLr0ePHhWjno0aNSJN4trXy5cv0+HDhyu0HgsLC3Epjjd8RTY+d2BF1wG6AX0pHehLw+7LOw8e0Q/7ObTeUYbWtgFOoqa1FUJrlcH7UjqMKjH7qPMYaodX3m3/+PFj0iQ+CItnMTh48CB5eXkpl7u5uVFOTg6lpKQUGX29f/++uA4AAAwPh9Yl4ZFipDWvQB5a2wVyaA2mln7ysjMAkC61w+ucOXPE1FVff/01NWjQ4KmaV3V2zXMdxYQJE2jLli20f/9+8vPzK3J9s2bNxPrDwsLolVdeEcuuX79Ot2/fpjZt2qjbdAAA0GO3kx/R4vAI2nQ2lvILQyvPGsAjrc19EVoBDIXa4fXFF18UP0NDQ58Kojy8nJ8vP8VeWUsFeCaBv/76S0y/pahj5SmxeN5X/sknReAaVj6Ii4Mxh10OriUdrAUAANJzKzmTFu+LpM3niobWSV2DqJkPQiuAoVE7vPJpYTVl6dKl4mfnzp2LLOfpsN544w3x+7x580QdBI+8qp6kAAAApO1mUiYtDo+kLSqhtVOwszgjVtOajlXdPADQl/DaqVMnjT14WebY46PPlixZIi4AACB90YkZYqR16/lYKsys1LmWsygPaILQCmDw1A6vFy9eLHE5lwxw0OQ5WEs62h8AAOBZopMyaUl4FP2lElpDarvQxNAgauxddMpEADBcaofXxo0bP3NuVz7AavDgwbR8+XK15uwCAADDFJWQQd/ujKE91x8oQ2vXOvLQ2tALoRUAilJ74i6eGSAoKIh+/PFHOn/+vLjw77Vq1RIHX/HpXPft20effvqpuqsGAAADEnE/nSb8fo66LThEu67Jg2vXOq709/j2tGJECwRXANDMyCtPkbVgwQJx4JQCT5nF87N+9tlndPLkSbKxsRHTaX377bfqrh4AAAwgtC4Ii6Dtl+JIcehDpwAHmvZSXWrghQOxAEDD4fXSpUvk4+Pz1HJextcpSgvi4uLUXTUAAEjY9fh0WrgvgnaohNYX67nR+C4BVMM0i1xc7Ku6iQCgB8p1hi0+UQGXCpibm4tlubm5Yhlfx2JjY8nV1VXzrQUAAL1zNS6NFoZF0L+X5XN5s5fqu4ma1jruduIc6gkJWVXaRgCQcHjlKat69+4tygQaNmwolvGIK5+cgE/xyqKjo2ns2LGaby0AAOiNK/fkoXXnf/LQysf69qjvThNCA6m2W9nPxggAUKHw2rZtW4qJiaF169bRjRs3xLKBAwfS0KFDxVmy2PDhw9VdLQAASMTl2FQRWndfua8MrT0buIuR1mBX+ecEAEClhVfGIfWdd94p94MCAIA0Q+v8vRG09+qT0PpyQw+aEBKI0AoAlRtet23bRi+99JKYw5V/fxYuKQAAAMNx6W4qLQi7QXuvJoi/jY2IejWSh9ZAF4y0AkAVhNe+fftSfHw8ubi4iN9Lwycv4NpXAACQvvN3UkR5wL5rT0Jrn8aeND4kkAKcq1V18wDAkMMrHwla0u8AAGB4zt1+KOZp3X89URla+zb2pHEIrQCgqzWvxaWkpJCDA07hBwAgZWc5tO6NoAM35KHVxNhIhFYeafWrYVPVzQMAA6F2eP3mm2/I19eXBg8erJxpYNOmTeTu7k47duygRo0aaaOdAABQRc7ceiAOxDoUkaQMrf2beNK4LoHki9AKALoeXpctWyamyWJ79uyhvXv30s6dO2nDhg303nvv0e7du7XRTgAAqGSnb8pD6+HIJ6H1laby0OrjhJFWANCT8MoHbnl7e4vf+aQEgwYNom7duonR2FatWmmjjQAAUIlOidB6g45EJou/TY2NaGBzLxrbOZC8q1ujLwBAv8Kro6Mj3blzRwRYHnH96quvxHKZTIaZBgAA9Njx6GQxe8DRKIRWAJBQeO3fv784m1ZQUBAlJyeL+V/ZuXPnKDAwUBttBAAALToWlSxGWk/EPBB/m5nwSKs3je0cQF6OGGkFAD0Pr/PmzRMlAjz6OnfuXKpWTT6XX1xcHI0dO1YbbQQAAA3jvWXHopPF7AGK0GpuYkyDWnjRmM6B5OlghW0OANIIr3yWrWnTpj21fPLkyZpqEwAAaDG0Hi0caT1186EytA5u4U1jOgeQB0IrABjCPK8AAKD7oZUPwOLQevrWk9D6akt5aHW3x0grAOgHhFcAAImHVp6flc+IdUYRWk2NaWjLmvROpwBys7es6iYCAKgF4RUAQKKhlc+ExfO0nr+TIpZZcGhtJQ+trnYIrQCgnxBeAQAkFlr330gUB2KphtZhrXzonU7+5ILQCgB6DuEVAEAioTX8egItCIukC4Wh1dLMmIa39qHRHf3JxRYjrQAgDRoNr35+fhQSEkIzZ84kDw8PTa4aAABKCa37rnFojaCLd1PFMiszExrexodGd/AnZ1sLbDcAkBSNhtcRI0bQzZs3qV27dhQTE6PJVQMAQLHQuvcqh9YbdDk2TSyzNn8SWmtUQ2gFAGnSaHj94osvNLk6AAAopqBARnuu3hencf3vnjy02pib0Ii2vvS/Dv5U3cYc2wwAJA01rwAAehJad1+JF7MHXItPF8sQWgHAEJUrvN69e5e2bdtGt2/fppycnCLXff/995pqGwCAwePQuvO/eDHSqgit1SxM6Y22vjSqvR85YqQVAAyM2uE1LCyMevfuTf7+/nTt2jWqX7++qHPl+qumTZtqp5UAAAYYWndcjqNFYZF0/b48tNpamNLIdr70Zns/crBGeQAAGCa1w+tHH31E06ZNoxkzZpCtrS1t2rSJXFxcaNiwYfTiiy9qp5UAAAYin0PrpTgx0hqRkCGW2VpyaPWjUe38yN7arKqbCACgX+H16tWr9Pvvv8vvbGpKjx8/pmrVqtGXX35Jffr0oTFjxmijnQAAkg+t/1y8R4v2RVKkSmjl0gAOrvZWCK0AAOUKrzY2Nso6V3d3d4qKiqJ69eqJv5OSkrBVAQDUDK1/X+DQGkFRiZlimZ0Irf70RjtfhFYAgGKMSU2tW7emw4cPi9979OhBU6dOpa+//prefPNNcZ06Dh48SL169RInNDAyMqKtW7cWuf6NN94Qy1UvKE0AACnIyy+gLefu0gvfH6BJ68+L4Mqjq1NfCKbDH4bQu12DEFwBADQx8sqzCWRkyHdpcd0r/75+/XoKCgpSe6aBzMxMatSokQi+/fv3L/E2HFZXr16t/NvCAhNvA4B+h9ZtYqQ1kmKS5COtDtZm4sQCr7fxIVtLlAcAAGg0vPIsA6olBMuWLaPyeumll8TlWTisurm5lfsxAAB0JbRuPX+PFu+LoJvJj8QyR2szcWIBPsEAT38FAADPV67/LVNSUujPP/8U9a7vvfceVa9enc6ePUuurq7k6elJmrR//34xm4GjoyOFhITQV199RU5OTqXePjs7W1wU0tLkZ6ApKCgQl/Lg+/FUYOW9P+gO9KV06Etf5haG1iXhkXT7wWOxrLoIrX40vLUP2RSGVl1/HtqkL30Jz4e+lI6CSn5fqvM4aofXixcvUteuXcne3l7M7zp69GgRXjdv3ixOWrB27VrSFC4Z4HICPz8/EZQ//vhjMVJ77NgxMjExKfE+s2fPFuUMxSUmJlJWVla5N2hqaqroRGNjtcuEQYegL6VD1/syL19G/15LptUn4uhemvwgV0crUxrazJVeaehM1uYmlJn6gOSFA4ZN1/sSyg59KR0Flfy+TE+Xz2ddFkYybpUaOLjyyQjmzp0r5nm9cOGCKCU4evQoDR06VATa8uCDsbZs2UJ9+/Yt9TbR0dEUEBBAe/fupdDQ0DKPvHp7e9PDhw/Jzs6u3B3I4dfZ2Rn/seo59KV06Gpf5uTxgVix9MP+KLrzUD7S6mRjTm919KNhrWqStTnKA/SlL0F96EvpKKjk9yXnNd7LzoH5eXlN7f9FT506RcuXL39qOZcLxMfHkzZxSK5RowZFRkaWGl65Rrakg7p4w1dk43O4rug6QDegL6VDl/qSQ+ufZ+6K8oDYFHlorVHNgt7p5E/DWvmQlXnJe4tA9/oSKgZ9KR1Glfi+VOcx1A6vHAwVdaSqbty4IdK5Nt29e5eSk5PF/LIAALqAQ+vGM3foh/AoZWh1trWgMZ0CaGirmmRphtAKAKBJaofX3r17i7NpbdiwQZnKudb1gw8+oFdeeUWtdfE0WzyKqhATE0Pnz58XNbR84dpVXifPNsA1r++//z4FBgZS9+7d1W02AIBGZefl04bTd2lpeCTdS5XX07vY8kgrQisAgE6F1++++44GDBggZgDgU8N26tRJlAu0adNGnKxAHadPn6YuXboo/54yZYr4OWLECFq6dKk4OOznn38WsxvwiQy6detGM2fOxFyvAFBlsnI5tMpHWuPT5KHV1U4+0vpqS4y0AgDoXHjlWQb27NlDR44cEQdr8egpH8DFB3Kpq3PnzuIottLs2rVL7XUCAGgrtP5x8jYtPRBF99PkB4W621vS2M4BNLC5N8oDAAB0Mbzm5uaSlZWV2LXfrl07cQEAkHpo/f3kbVqmElo97C1pTJdAGtjMC6EVAECXw6uZmRnVrFmT8vPztdciAAAdCa2/nZCH1oT0J6F1XEggDWjmRRamOBALAEAvygY++eQTcbKAX375RRxUBQAgJY9z8mndiVu07EA0JWXIQ6ungxWN6yIPreammMoJAECvwuvixYvFDAF8AJWPjw/Z2NgUuZ5PEwsAoG8e5eTRr8dv0Y8HObTmKEPr+JBAeqUpQisAgN6G12edAQsAQB9D6y/H5KE1OVMeWr2rW9H4LoHUrwlCKwCA3ofX6dOna6clAACVKDM7j9Yeu0U/HYqmB4WhtWZ1azHS2q+JJ5mZoDwAAEAX4STbAGBQMrLz6OejN2nFoWh6+ChXLPNxshYjrX0RWgEApBdeeaaBefPmiTNs8Zm1cnLkIxYKDx480GT7AAC0Flr9atiI0NqnsQeZYqQVAECa4ZVP2bpixQqaOnUqffrpp2L2gZs3b9LWrVvp888/104rAQDKKS0rl9YcuUkrD8dQ6mN5aPXn0BoSSL0bIbQCAEg+vK5bt45++ukn6tmzJ33xxRc0ZMgQCggIoIYNG9Lx48dp4sSJ2mkpAICaofXnIzdphWpodbahiSFB1KuRB5kYG2F7AgAYQniNj4+nBg0aiN+rVatGqamp4veXX36ZPvvsM823EABADRxU5SOt0ZSWlSeWBbpUowkhgfRyQ4RWAACDC69eXl4UFxcnzrTFI667d++mpk2b0qlTp8jCwkI7rQQAeI7UR7m08kgMrT4SQ+mFoTWIQ2toEPVs4I6RVgAAQw2v/fr1o7CwMGrVqhVNmDCBXnvtNVq5cqU4eGvy5MnaaSUAwDNGWlcfvUWrD8dQerY8tAa7VqOJoUHUo747GaM8AADAsMPrnDlzlL8PHjxYnGXr6NGjFBQURL169dJ0+wAASpTyKIeWH42ljRcuiJkEWG03WxFaX6znhtAKACBRFZ7ntXXr1uICAFAZ+IQCPN0VT3uVmZOvDK3vhgZRd4RWAADJw0kKAEBvQiufDWutSmgNdraiyd1qU/d6KA8AADAUCK8AoNOSM7Lpp0MxtPbYTXpUGFrredjRxJBAauhE5OrqihIBAAADgvAKADopKSObfjwYTb8cu0WPc+Whtb6nHb0bGkxd67iQTCajhISEqm4mAABUMoRXANApiek80lo0tDb0shc1rSG1XcjISH5yAQ6vAABgeModXnNycsSoR0FBQZHlPP8rAIC6EtKz6McD0fTriVuUlSv/f6WRlz1N6hpMnWs5K0MrAAAYNrXDa0REBL355ptieixVPArCHy75+fKREgCAskhIy6KlB6LotxO3KTtPHlobezvQu12DqHMwQisAAFQwvL7xxhtkampK//zzD7m7u2M0BAA0Flqb1HQQI60dg2rg/xYAANBMeD1//jydOXOGateure5dAQAoPjWLlnFoPXmbcgpDa3MfRzHS2j4QoRUAADQcXuvWrUtJSUnq3g0ADFxc6mP6ITyK1p+6Qzn58tDawtdRjLS2DXDCSCsAAGgnvH7zzTf0/vvv06xZs6hBgwZkZmZW5Ho7Ozt1VwkAEnYv5TEt3V80tLb0q06TQoOoDUIrAABoO7x27dpV/AwNDS2yHAdsAYCquw8fidC68fRdZWhtxaG1a7AIrQAAAJUSXsPDw8v1QABgOKF1SXgU/XnmDuXmy+dibePvJGpaW/sjtAIAQCWH106dOlXwIQFAiu48eEQ/7I8UI615BfLQyrWsfHKBVgitAABQmeH14sWLVL9+fTI2Nha/P0vDhg011TYA0AO3k3mkNZI2nX0SWnnWAB5pbeFbvaqbBwAAhhheGzduTPHx8eTi4iJ+55MRlHRqRpykAMBw3ErOpMX7ImnzuVjKLwytHYJqiJHW5gitAABQleE1JiaGnJ2dlb8DgOG6mZRJi8MjaYtKaO0Y7CxCazMfx6puHgAASFyZwquPj0+JvwOA4YhOzBCh9a/z95ShtXMtZ5oYGkRNayK0AgCAjh6wBQCGJYpD6z4OrbFUmFkppLaLCK2NvR2qunkAAGBgEF4BoESRCRxaI2jbhXvK0BpaGFobIbQCAEAVQXgFgCIi7qfTon2R9PfFe6Q4LrNrHVdR09rAyx5bCwAAqpRxVT74wYMHqVevXuTh4SFmKti6dWuR63lGg88//5zc3d3JyspKnN0rIiKiytoLIPXQOuH3c9Rt/kEx2srBtVtdV/pnQntaMaI5gisAAOhneB0xYoQInZqQmZlJjRo1oiVLlpR4/dy5c2nhwoW0bNkyOnHiBNnY2FD37t0pKytLI48PAETX49Np3G9nRWj9uzC0dq/nStsntqcfX29O9T0x2goAAHpcNpCamipGQHnWgZEjR4ow6+npWa4Hf+mll8SlJDzqOn/+fPr000+pT58+YtnatWvJ1dVVjNC++uqrJd4vOztbXBTS0tLEz4KCAnEpD74ft6e89wfdgb584lp8ujgQa8fleOWyF+u50oSQQKrjbqfcXroKfSkd6EvpQF9KR0ElZx91Hkft8MrBMTExkX755Rf6+eefafr06SLMjho1SoRMMzMz0gSeT5ZPjMDrVrC3t6dWrVrRsWPHSg2vs2fPphkzZjy1nNtc3hFb3qAc2rkT+SxjoL/Ql0QRiY9o1Yk4Co9MUW6XkCAHGtnSnYKcrYkoixISdH/vBvpSOtCX0oG+lI6CSs4+6enp2j1gi09YMGXKFHE5e/YsrV69moYPH07VqlWj1157jcaOHUtBQUFUERxcGY+0quK/FdeV5KOPPhLtUh159fb2Fm22s5OPJpWnA7kml9eB8KrfDLkvr8al0cJ9kbTrv/vibyMjoh713Wh8l0Cq5WZL+saQ+1Jq0JfSgb6UjoJK/j/W0tKycmYbiIuLoz179oiLiYkJ9ejRgy5dukR169YV9aqTJ0+mymZhYSEuxfGGr8jG5w6s6DpANxhaX16OTaWFYRG0+8qT0PpyQw9RHhDsqn+h1ZD7UsrQl9KBvpQOo0r8P1adx1A7vObm5tK2bdvEaOvu3bupYcOGNGnSJBo6dKhyZHPLli305ptvVii8urm5iZ/3798Xsw0o8N+NGzcu93oBDMWlu6m0ICyC9l59Elp7N5KH1kAX/Q6tAABguNQOrxwkeSh5yJAhdPLkyRKDZJcuXcjBoWJn3vHz8xMBNiwsTPkYXALAsw6MGTOmQusGkLKLd1Nowd4ICruWIP42Lgyt40OCKNClWlU3DwAAoHLD67x582jgwIHPrE3g4MoHXD1PRkYGRUZGKv/m+5w/f56qV69ONWvWFCO6X331laif5TD72WefiTlh+/btq26zASTv/B0OrTco/HqiMrT2bexJ40ICKcAZoRUAAAw0vIaHh4vwWDy88pytEyZMoFWrVpV5XadPnxajtAqKA614+q01a9bQ+++/L9b71ltvUUpKCrVv35527typVlEvgNSdu/1QlAfsLwytJsZGIrSODwkkvxo2Vd08AAAAjTKS8RwIauADs/hALRcXlyLLk5KSxG7+vLw80iVcasBTbPF0DxWZbSAhIUE8ZxwYot+k1JdnbslD68EbT0JrvyaeYvYAXwMIrVLqS0OHvpQO9KV0FFTy/7Hq5DVTdVbKOZcvPBeX6uhnfn4+7dix46lACwCad+bWA5q/N4IORSSJv02Njah/U08a1yWQfJykH1oBAMCwlTm8ch0rT5nAl+Dg4Keu5+UlnRwAADTj1M0H4kCsw5FPQuuAZl4itHpX55MLAAAASJ+pOrWuPOoaEhJCmzZtEgdVKZibm4vTxfLBVACgWSeik0V5wNGoZPmb1tiIBjb3prGdAxBaAQDA4JQ5vHbq1Ek5IwCfsQo1ZgDadTw6mebvvUHHox+Iv81MnoRWL0eMtAIAgGFSe7YBHmHlI/95jlcu5OWCXlWvv/66JtsHYFB478YxHmndG0EnYuSh1dzEmAa18KIxnQPJ08GqqpsIAACgX+H177//pmHDhok5WvloMK51VeDfEV4ByhdauSyAR1pP3XyoDK2DW3jTmM4B5IHQCgAAUL7wOnXqVHHq11mzZpG1NXZdAlQ0tPIBWDzSevpWYWg1NaYhLbzpnc4B5G6PkVYAAIAKhdfY2FiaOHEigitABUPrwQgOrTfo7O0UZWgd2rImvdMpgNzscSIOAAAAjYTX7t27izNj+fv7q3tXAIPHofXAjUQxTyufzpVZcGhtJQ+trnYIrQAAABoNrz179qT33nuPrly5Qg0aNCAzM7Mi1/fu3VvdVQIYRGjl07fOD4ugC4Wh1dLMmIa18qG3O/qTC0IrAACAdsLr6NGjxc8vv/zyqev4gC0+2xYAPAmt+64l0EIOrXdTlaF1eGsfeqtjADnbWmBTAQAAaDO8Fp8aCwBKDq1hVxPEyQUuxcpDq5WZCQ1v40OjO/gjtAIAAFRWeAWAZ4fWPVfu08J9EXQ5Nk0ZWl/n0NrRn2pUw0grAACA1sPrwoUL6a233iJLS0vx+7PwTAQAhqagQEa7ObSGRdCVOHlotTbn0OpLozv4kRNCKwAAQOWF13nz5okTE3B45d9LwzWvCK9geKE1XswecC0+XSyzMTehEW196X8d/Km6jXlVNxEAAMDwwmtMTEyJvwMYcmjd+V+8GGlVhNZqFqb0RltfGtXejxwRWgEAALQCNa8AaobWHZfjaFFYJF2/Lw+tthxa28lDq4M1RloBAAB0LrzevXuXtm3bRrdv36acnJwi133//feaahuAzsgvkNH2SxxaIygiIUMZWke296NR7fzI3rrofMcAAACgI+E1LCxMnIiAz7B17do1ql+/Pt28eVMcZd20aVPttBKgCkPrPxfv0aJ9kRSpCK2WpvRmOz9xQWgFAADQ8fD60Ucf0bRp02jGjBlka2tLmzZtIhcXF3FA14svvqidVgJUQWj9+wKH1giKSswUy+wsTWlUe39RImBvhZFWAAAAvQivV69epd9//11+Z1NTevz4MVWrVk2ccatPnz40ZswYbbQToFLk5RfQtgv3aPG+SIpOkodWDqr/a+9HI9r5kp0lQisAAIBehVcbGxtlnau7uztFRUVRvXr1xN9JSUmabyFAJYXWv87fo8XhkRRTGFodrAtDa1tfskVoBQAA0M/w2rp1azp8+DDVqVOHevToQVOnTqVLly7R5s2bxXUA+hZat5yLpSXhkXQz+ZFY5sihtYO/CK08/RUAAADoDrU/mXk2gYwM+YErXPfKv69fv56CgoIw0wDojVweaT0rD623VELrWx0DaHgbH4RWAAAAqYRXnmVAtYRg2bJlmm4TgFZD67bLSfTLmSt05+FjsYzPgvVWR38a3tqHbDDSCgAAIL3weurUKXJyciqyPCUlRUyVFR0drcn2AWhETl4BbTp7V4y03i0MrTWqyUPra619yNoc5QEAAAD6QO1PbJ7TNT8//6nl2dnZFBsbq6l2AWgstP55Rh5aY1PkodXR2pTGdAqk19ogtAIAAEg2vPIZtRR27dpF9vb2yr85zPLJC3x9fTXfQoByyM7Lp42n79LS/VHK0Opsa0FvdfCjF/ysqKanGxkbG2PbAgAASDW89u3bV/n7iBEjilxnZmYmgut3332n2dYBlCO0bjh1h37YH0VxqVlimYutBb3TKYCGtqpJ5iZGlJCQgO0KAAAg9fBaUFAgfvr5+dHp06efqnkFqEpZufm0/tQdMdIanyYPra52FjSmUwC92rImWZqZFHkdAwAAgAHUvObm5ooDth48eIDwCjoTWn8/eZuWHYii+2nZYpmbnSWN7RJAg5p7K0MrAAAAGGB45fKAixcvaq81AGqE1t9OyENrQro8tLrbW9LYzgE0qIU3WZgitAIAAEiR2rMNvPbaa7Ry5UqaM2eOdloE8AyPc/Jp3YlbtPxgNCUWhlYPDq1dAmlgcy+EVgAAAIlTO7zm5eXRqlWraO/evdSsWTNxooLiZ+AC0FZoXXYgmpIy5KHV08GKxnUJpAHNvMjcFDMHAAAAGAK1w+vly5fFyQjYjRs3ilxnZGREmvbFF1+I09CqqlWrFl27dk3jjwW651FOHq07fpuWH4yipIwcZWgdHxJIrzRFaAUAADA0aofX8PBwqmz16tUTI70KpqY4G5IhhNZfjt2iHw9GU3KmPLR6OVrRhJBA6t/Ui8xMMNIKAABgiMqdAiMjIykqKoo6duxIVlZWJJPJtDLyqgirbm5uWlk36JbM7Dz65fgt+kkltNasbk3juwRSv6aeCK0AAAAGTu3wmpycTIMGDRIjsBxWIyIixPRZo0aNIkdHR62cqIAfw8PDgywtLalNmzY0e/ZsqlmzZom35dPU8kUhLS1NOb9neef45PtxOMccodqTURhaVxyKoYePcsUyn+rWYsqrvo09lKG1on2AvpQO9KV0oC+lA30pHQWVnH3UeRy1w+vkyZPFlFm3b9+mOnXqKJcPHjyYpkyZovHw2qpVK1qzZo2oc42LixP1rx06dBC1t7a2tk/dnoNt8RpZlpiYSFlZ8snry7NBU1NTRSfilKKalZmdTxsvJNBvZ+9TWla+WOblYEEjW7pT99rVydTYiB4mJ2ns8dCX0oG+lA70pXSgL6WjoJKzT3p6eplvayTjVqmBd9/v2rWLGjVqJMLjhQsXxMhrdHQ0NWzYkDIyMkibUlJSyMfHR8xqwKO9ZRl59fb2pocPH5KdnV25O5DDr7OzM8KrhqRn5dLPR2/RqiM3KeWxfKTVr4YNje8SQL0aupOplmpa0ZfSgb6UDvSldKAvpaOgkrMP5zXeg8+B+Xl5Te2R18zMTLK2tn5qOZ91y8LCgrTNwcGBgoODRc1tSbgNJbWDN3xFNj6XSFR0HUCUlpVLa47cpJWHYyi1MLT6O9vQxJAg6tXIg0yMtVM3rQp9KR3oS+lAX0oH+lI6jCox+6jzGGqHV95lv3btWpo5c6byiXE6nzt3LnXp0oW0jUd2+UCx4cOHa/2xQHM4qK4+EkOrDsdQWlaeWBboUk3MHvByw8oJrQAAAKD/1A6vHFJDQ0Pp9OnTlJOTQ++//z79999/YuT1yJEjGm/gtGnTqFevXqJU4N69ezR9+nQyMTGhIUOGaPyxQPNSH+XSyiMxIrimF4bWIJdqNDE0iHo0cEdoBQAAAO2G1/r164uTEyxevFjUvPJIaP/+/WncuHHk7u5Omnb37l0RVHmWA667aN++PR0/flz8Dror5VGOGGVdfeQmpWfLQ2uwa2Fore9OxhhpBQAAgMqa59Xe3p4++eQTqgx//PFHpTwOaMbDzBxRz7rm6E0x/RWr5WpL73YNohfruSG0AgAAQOWG19WrV1O1atVo4MCBRZZv3LiRHj16RCNGjKhYi0AvPcjMoRWHounnozcpM0c+5VVtN1t6NzSIuiO0AgAAQFWFV55Hdfny5U8td3Fxobfeegvh1QBD60+HommtSmit424nQmu3uq4YaQUAAICqDa98cgI/P7+nlvMBVXwdGIbkjGz68VA0/XLsFj0qDK31POSh9YW6rlo7VTAAAAAYNrXDK4+wXrx4kXx9fYss55MVODk5abJtoIOSOLQelIfWx7ny0Frfk0NrMHWt44LQCgAAALoVXvnI/4kTJ4qZBjp27CiWHThwgN5991169dVXtdFG0AGJ6Rxao+jX47eVobWhl70YaQ2pjdAKAAAAOhpe+eQEN2/eFHO9mprK784nKXj99ddp1qxZ2mgjVKGE9CxafiCa1p24RVm5BWJZIy97mtQ1mDrXcsZIKwAAAOh2eDU3N6f169eLEMulAlZWVtSgQQNR8wrSkZCWRcsKQ2t2njy0NvZ2EFNedQ5GaAUAAAA9mueVBQcHiwtIy/20LFq6P4p+P3lbGVqb1uTQGkwdg2pgpBUAAAD0K7zm5+fTmjVrKCwsjBISEkTJgKp9+/Zpsn1QSeJTObRG0u+n7lBOYWht5uNIk7oGUftAhFYAAADQ0/DKB2ZxeO3Zs6c4VSymRNJvcamPxUjrHyfvUE6+PLS28HUUswe0C3RC/wIAAIB+h1c+XeuGDRuoR48e2mkRVIp7KY/ph/2RtOHUXWVobelXnSaFBlGbAIRWAAAAkNABW4GBgdppDWjd3YeP6If9UbTx9B3KzZeJZa04tHYNFqEVAAAAQFLhderUqbRgwQJavHgxdinrkTsP5KH1zzNPQmsbfycxe0Brf4RWAAAAkGh4PXz4MIWHh9O///5L9erVIzMzsyLXb968WZPtAw2E1iXhkfTnmbuUVyAPrW0DnMTJBVohtAIAAIDUw6uDgwP169dPO60BjbmdLA+tm84+Ca08awCPtLbwrY4tDQAAAIYRXlevXq2dloBG3EzKpMXhkbTlXCzlF4bWDkE1xJRXzXwQWgEAAMBAT1IAuiUmKZMW7Yugv87fU4bWjsHOojyA52sFAAAAMKjw6ujoWOIBWvb29uJMW9OmTaMXXnhB0+2D54hOzKDF+yJp6/lYKsys1LmWPLQ2qYnQCgAAAAYaXufPn1/i8pSUFDpz5gy9/PLL9Oeff1KvXr002T4oRWQCh9YI2nbhnjK0htR2oYmhQdTY2wHbDQAAAAw7vI4YMeKZ1zdu3Jhmz56N8KplkQnptGhfpAitssLQGloYWhshtAIAAIDEaazmlUdev/rqK02tDoqJuJ9OC/dF0j8Xn4TWrnVcRXlAAy97bC8AAAAwCBoLr9nZ2eLsW6BZ1+M5tEbQjktxytDara6rGGmt74nQCgAAAIZFY+F15cqVonQANONafBotCouk7ZfilMu615OH1noeCK0AAABgmMocXqdMmVLi8tTUVDp79izduHGDDh48qMm2GaSrcWm0MCyC/r0cr1z2Un03EVrruNtVadsAAAAA9Ca8njt3rsTldnZ2YoosPi2sn5+fJttmUP67lypC667/7iuX9WjgRhNCEFoBAAAA1A6v4eHhZb0pqOFyrDy07r4iD608lW6PBu40MSSIarnZYlsCAAAAqMAZtqowtM7fG0F7rz4JrS839KAJIYEU7IrQCgAAAFAShNdKduluKi0Iu0F7ryYoQ2uvwtAahNAKAAAA8EwIr5Xkwp0UWhAWQfuuyUOrsRFR70YeND4kiAJdqlVWMwAAAAD0GsKrlp3n0Lr3BoVfT1SG1r6NPWlcSCAFOCO0AgAAAKgD4VVLzt5+SAv2RtCBG/LQamJsRH0ae9D4LoHkj9AKAAAAUC4Irxp25tYDcSDWoYgkZWjt18RThFbfGjaafjgAAAAAg4LwqkGPc/LpzTWnKfVxLpkaG1H/pp40rksg+TghtAIAAABoAsKrBlmZm9A7nQLoVnKmCK3e1a01uXoAAAAAg4fwqmFjOgcY/IsKAAAAQFuMSQ8sWbKEfH19ydLSklq1akUnT56s6iYBAAAAQBXQ+fC6fv16mjJlCk2fPp3Onj1LjRo1ou7du1NCgny+VAAAAAAwHDpfNvD999/T6NGjaeTIkeLvZcuW0fbt22nVqlX04YcfPnX77OxscVFIS0sTPwsKCsSlPPh+Mpms3PcH3YG+lA70pXSgL6UDfSkdBZWcfdR5HJ0Orzk5OXTmzBn66KOPlMuMjY2pa9eudOzYsRLvM3v2bJoxY8ZTyxMTEykrK6vcGzQ1NVV0Ij8+6C/0pXSgL6UDfSkd6EvpKKjk7JOeni6N8JqUlET5+fnk6upaZDn/fe3atRLvw0GXywxUR169vb3J2dmZ7Ozsyt2BRkZGYh0Ir/oNfSkd6EvpQF9KB/pSOgoqOfvwcU2SCK/lYWFhIS7F8YavyMbnDqzoOkA3oC+lA30pHehL6UBfSodRJWYfdR5Dp5NYjRo1yMTEhO7fv19kOf/t5uZWZe0CAAAAgKqh0+HV3NycmjVrRmFhYUWGsfnvNm3aVGnbAAAAAKDy6XzZANevjhgxgpo3b04tW7ak+fPnU2ZmpnL2AQAAAAAwHDofXgcPHixmCvj8888pPj6eGjduTDt37nzqIC4AAAAAkD6dD69s/Pjx4gIAAAAAhk0vwmtF8PxkqicrKA+us+X5x3gaB8w2oN/Ql9KBvpQO9KV0oC+lo6CSs48ipylym0GHV8WktzzXKwAAAADodm6zt7d/5m2MZGWJuHr+zeHevXtka2sr5isrD8WJDu7cuVPuEx2AbkBfSgf6UjrQl9KBvpSOtErOPhxHObh6eHg8d6RX8iOvvAG8vLw0si7uPIRXaUBfSgf6UjrQl9KBvpQOu0rMPs8bcdWLeV4BAAAAAFQhvAIAAACA3kB4LQMLCwuaPn26+An6DX0pHehL6UBfSgf6UjosdDj7SP6ALQAAAACQDoy8AgAAAIDeQHgFAAAAAL2B8AoAAAAAegPhFQAAAAD0BsJroSVLlpCvr684h2+rVq3o5MmTz9xwGzdupNq1a4vbN2jQgHbs2FEZ/QUa7sv//vuPXnnlFXF7PgPb/PnzsY31tC9/+ukn6tChAzk6OopL165dn/s+Bt3sy82bN1Pz5s3JwcGBbGxsqHHjxvTLL7+gu/T081Lhjz/+EP/P9u3bV+ttBM335Zo1a0T/qV74flUB4ZWI1q9fT1OmTBFTQpw9e5YaNWpE3bt3p4SEhBI32tGjR2nIkCE0atQoOnfunHgj8uXy5cuV3X9Qwb589OgR+fv705w5c8jNzQ3bU4/7cv/+/eJ9GR4eTseOHROnNezWrRvFxsZWetuhYn1ZvXp1+uSTT0Q/Xrx4kUaOHCkuu3btwqbVs75UuHnzJk2bNk18wQT97Us7OzuKi4tTXm7dukVVgqfKMnQtW7aUjRs3Tvl3fn6+zMPDQzZ79uwSbz9o0CBZz549iyxr1aqV7O2339Z6W0GzfanKx8dHNm/ePGxiCfQly8vLk9na2sp+/vlnLbYSKqMvWZMmTWSffvopNrge9iW/F9u2bStbsWKFbMSIEbI+ffpUUmtBk325evVqmb29vUwXGPzIa05ODp05c0bsYlQwNjYWf/O3/pLwctXbM/62UtrtQXf7EqTblzyqnpubK0bxQH/7kqciDwsLo+vXr1PHjh213FrQRl9++eWX5OLiIvZWgn73ZUZGBvn4+Ig9W3369BGld1XB4MNrUlIS5efnk6ura5ENw3/Hx8eXuNF4uTq3B93tS5BuX37wwQfk4eHx1BdN0I++TE1NpWrVqpG5uTn17NmTFi1aRC+88EIltBg02ZeHDx+mlStXipp00O++rFWrFq1atYr++usv+vXXX6mgoIDatm1Ld+/epcpmWumPCACgZVzDzAeHcB1sVR1QABVja2tL58+fFyM9PPLKtXlcn965c2dsWj2Rnp5Ow4cPF8G1Ro0aVd0cqKA2bdqIiwIH1zp16tDy5ctp5syZVJkMPrzyG8rExITu379fZMPw36UdwMPL1bk96G5fgvT68ttvvxXhde/evdSwYUMttxS01Ze8CzMwMFD8zrMNXL16lWbPno3wqkd9GRUVJQ7U6tWrl3IZj9YxU1NTUQoSEBBQCS0HbXxempmZUZMmTSgyMpIqm8GXDfAuqWbNmolv9qpvLv5b9RuGKl6uenu2Z8+eUm8PutuXIK2+nDt3rhgB2Llzp5hqCaTzvuT7ZGdna6mVoI2+5OkkL126JEbQFZfevXtTly5dxO9cNwn6+77Mz88X/evu7k6VrqqPGNMFf/zxh8zCwkK2Zs0a2ZUrV2RvvfWWzMHBQRYfHy+uHz58uOzDDz9U3v7IkSMyU1NT2bfffiu7evWqbPr06TIzMzPZpUuXqvBZQHn6Mjs7W3bu3DlxcXd3l02bNk38HhERgQ2qZ305Z84cmbm5uezPP/+UxcXFKS/p6elV+CygPH05a9Ys2e7du2VRUVHi9vx/Lf+f+9NPP2GD6llfFofZBvS3L2fMmCHbtWuXeF+eOXNG9uqrr8osLS1l//33X6W3HeG10KJFi2Q1a9YUH348fcTx48eVG6lTp07iDadqw4YNsuDgYHH7evXqybZv3165PQca6cuYmBgZf4crfuHbgX71JU91VlJf8pdL0K++/OSTT2SBgYHig9HR0VHWpk0b8UEL+vl5qQrhVX/7ctKkScrburq6ynr06CE7e/ZslbTbiP+p/PFeAAAAAAD1GXzNKwAAAADoD4RXAAAAANAbCK8AAAAAoDcQXgEAAABAbyC8AgAAAIDeQHgFAAAAAL2B8AoAAAAAegPhFQAAAAD0BsIrAOg0X19fmj9/fqU/7s2bN8nIyEicg11XdO7cmSZNmlTl26Yk+/fvF9srJSWFpEDxfPjSt2/fKmnDG2+8oWzD1q1bq6QNALoI4RVAAoqHGoU1a9aQg4MD6YLyfgCfOnWK3nrrrUoPUd7e3hQXF0f169cnXaXuttGmtm3biu1lb29PUnL9+nXxPqoKCxYsENsUAIoyLfY3AIBG5eTkkLm5ebnv7+zsTFXBxMSE3NzcNL7e3NxcMjMz08i6qmrblIT7WBvbS9vy8/PFlx1j45LHclxcXKrsCyB/EZDalwEATcDIK4AB4d2QvAv022+/JXd3d3JycqJx48aJQKWQnZ1NH3zwgRh5tLCwoMDAQFq5cqXy+suXL9NLL71E1apVI1dXVxo+fDglJSUVGQUeP368GAmuUaMGde/eXezeZv369RNBQfF3VFQU9enTR6yH19eiRQvau3dvkTYX3zXO91+xYoVYl7W1NQUFBdG2bduUu/q7dOkifnd0dBS35ee8du1a8Vz5uanibcHtL0vZgGJENywsjJo3by4em0cbeWSuNIp1rF+/njp16kSWlpa0bt06Sk5OpiFDhpCnp6dYT4MGDej3338vct/MzEx6/fXXxXbhvvruu++eWr/qtimpzIFHn3kZt509fPiQhg0bJkKvlZWV2HarV6+msrp16xb16tVLbFsbGxuqV68e7dixo9QR759++km8jvg5cn99//33RYLgF198QY0bN6ZVq1ZRzZo1xXMdO3asCJRz584VYZjD49dff12kHbwe3mbcBl4/3ycjI6NMz0GxN4JfM3Xr1hWv8du3b5d5G/Dre8KECeL1zduBX7v8PLm/Ro4cSba2tuI98++//yrvo9g2u3btoiZNmohtHxISQgkJCeJ2derUITs7Oxo6dCg9evSozG0BMFQIrwAGJjw8XIRG/vnzzz+LD3PV3aIcmDhILVy4kK5evUrLly8XoYJxMOEPXf4APn36NO3cuZPu379PgwYNKvIYvF4eiTty5AgtW7ZM7N5mHJR4N6jibw4cPXr0EIHw3Llz9OKLL4pw9LwwMWPGDPGYFy9eFPfnQPbgwQMRZDZt2iRuw6GSH4t3vQ4cOFAEIkXIZRwctm/fTm+++aZa2++TTz4RQZKfv6mpaZnu/+GHH9K7774rtieH+aysLGrWrJl4fP4ywLv+OUSfPHlSeZ/33nuPDhw4QH/99Rft3r1bBKCzZ89SRXz22Wd05coVEZi4LUuXLhVfMMqKv+jwF4CDBw/SpUuX6JtvvlG+Norjvn/nnXfE8+ZA/cILLzwVQhm/Frk9/Fri1x1/UerZsyfdvXtXPH9+jE8//ZROnDihvA+PkvLr87///hOvtX379tH7779f5ufBAZHXy1+CeB0ckNXBj8nbjfuLg+yYMWPEa4y/zHAfdevWTfRn8SDKYX3x4sV09OhRunPnjngN85eP3377TbwWuJ8XLVqkVlsADJIMAPRep06dZO++++5Ty1evXi2zt7dX/j1ixAiZj4+PLC8vT7ls4MCBssGDB4vfr1+/LuP/Fvbs2VPi48ycOVPWrVu3Isvu3Lkj7sP3VbSlSZMmT92Xb7Nly5bnPpd69erJFi1apPyb2ztv3rwi6/n000+Vf2dkZIhl//77r/g7PDxc/P3w4cMi6x0zZozspZdeUv793Xffyfz9/WUFBQUltiMmJkas59y5c0XWu3fvXuVttm/fLpY9fvz4meuYP3/+c593z549ZVOnThW/p6eny8zNzWUbNmxQXp+cnCyzsrIq0s+q26Z4exlvA17GbWe9evWSjRw5UlZeDRo0kH3xxRclXld8u/Nrip+TqmHDhhV5PU6fPl1mbW0tS0tLUy7r3r27zNfXV5afn69cVqtWLdns2bNLbdfGjRtlTk5OZXoO/J7gdp4/f/6ZtyvtdcSv7/bt2yv/5veSjY2NbPjw4cplcXFx4r7Hjh0r9bXDz4eXRUVFKZe9/fbb4vmX970DYCgw8gpgYHhXL9dzKvAuaR6FZDxCxtfxLu6SXLhwQYzY8mib4lK7dm3lCJoCjyqWBY+8Tps2Tew25V25vD4eEXzeyGvDhg2Vv/OuY97lqngOpRk9erQY2YqNjRV/82iz4mhudag+Nm879rzH5jIDVTwKPHPmTLHru3r16uJ58y5lxfPmbcm1wq1atVLeh29Xq1YtqggeIfzjjz/ErnoeqeQRQHVMnDiRvvrqK2rXrh1Nnz5djHyXhke+W7ZsWWRZ8b8VpQ+8q12Bd8Pz7nzVGlReprqNubQkNDRUlF3wfXmUk0sxyrrLnfcKqPajulTvy+8XLknhvlRtb0mvC9X78W24nMLf37/Isue9lgAAZQMAksDhLTU19anlvJu/+AEfxQ8W4vBWUFAgfudavOeFTd6tzyFX9RIREUEdO3YsEijLgoPrli1baNasWXTo0CGxLg4BHNye5VnPoTRc6tCoUSNR/3rmzBmxu5jDq7pUH1sRfJ/32MW3x//93/+JcgauLeYvA/y8uZzgec/7WRRhTz5QJ6day8y4VpnrVidPnkz37t0TAZD7oKz+97//UXR0tAiLXDbAobyiu7lL6stn9S/X9r788ssiCHKJCPflkiVLxHVl3X78Olf3S4s6bS7tdVH8NuV5HQMAwiuAJPCIXEn1kLwsODi4zOvh4MgfnlxrWJKmTZuK0MejZXxQiurleYGVP6h5xLF4XSQHSD6Yhx+bD9DhcFIRipkNij+WInzxiCvX3nbt2lXUyFYFft58oNprr70mAjWPvt24cUN5fUBAgNheqnWefLCV6m1Km3lAdWqlkuao5duNGDGCfv31V1Fv+eOPP6rVdt5mXMu6efNmmjp1qjhYqbTXpKK2WaH43+XBYZVfo1x33Lp1a/H65iAOAIYDZQMAEsC7gznY8G5d3pXLu2z5iGw+AIYDRllxKOVgwwch8ZysMTEx4kChDRs2KA/Y4QOj+Eh5DiK8e5t3d/NR1iWFxeLr5gOz4uPjRRBjfLQ7hyAOWVySwEdbV3TkycfHR4xg/fPPP5SYmFjkKHRePx8IxIFL3QO1NImf9549e8Ruey6TePvtt8WBbwpcRjBq1Chx0BYfjMQHdXHIL206J8VoIoe5OXPmiHXyFxA+0EnV559/Lg4Ai4yMFF9CeBtxyUZZ8RH23N/8uuAvRjxqXNr9+UAmnomAX4c8Ms8H/vGBWRUZ8WT8RYlHlHnEl0eBf/nlF3FQIAAYDoRXAAngkTs+AvzatWtiRJFrJTlwbty4URzBrw4+An3AgAFi+iGuZ+VaUZ4GiHl4eIhRQw6qfEQ1j5ZyoOF61WcFK8YjZRzYeOSOd+EzDjY83RAfpc3lCLzrnEd3K4LrIHk2Aj7Cn2sIedouBS6heOWVV0Q4rKqzJjEOlfw8+fny1Es84ly8PVxa0KFDB7FduE/bt2//3FpinnIqLy9P3I77hetTi49Kf/TRR2KXO5d5cL0m18AqcFueVUrB/c5fYDiw8uuKRz1/+OGHEm/LdbEcKrmPeXSZZxPgcgWeLqwieF28Tp4tgE8gwVOPzZ49u0LrBAD9YsRHbVV1IwAAKgvXefJBazzVEjw9as3Bvzy1wGXBX4T4CxbXN+s63uPAcwbzXoKqPksdj1ZzbXhVfuEC0CUYeQUAg8AhhAMAhxIePYSiuIyAR6Z5nl9N4ZNhcDkIlynwbn6eH5XLUvSJl5eXKJOpClxbXNo8ugCGDCOvAGAQuOaWAyxP1K/OEfZQfjwJP39ZSE9PF6UtXAfLgUybeEaF0kZ2P/74Y3Epi8ePHyunVeMAWRWnvuVps9LS0pTTspV1Fg8AqUN4BQAAyeDAycGzJDxXLl8AQL8hvAIAAACA3kDNKwAAAADoDYRXAAAAANAbCK8AAAAAoDcQXgEAAABAbyC8AgAAAIDeQHgFAAAAAL2B8AoAAAAApC/+H2gUJR4xtoqJAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "sigma_r_values = np.linspace(0.01, 0.5, 100)\n", + "sigma_A_values = abs(2 * np.pi * r) * sigma_r_values\n", + "\n", + "plt.figure(figsize=(8, 4))\n", + "plt.plot(sigma_r_values, sigma_A_values)\n", + "plt.xlabel(\"Uncertainty in radius, sigma_r [mm]\")\n", + "plt.ylabel(\"Uncertainty in area, sigma_A [mm^2]\")\n", + "plt.title(\"Propagation of Uncertainty: A = pi r^2\")\n", + "plt.grid(True, alpha=0.3)\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Exercise B\n", + "\n", + "Answer the following:\n", + "\n", + "1. If the uncertainty in radius doubles, what happens to the uncertainty in area?\n", + "2. Why does the derivative appear in the propagation formula?\n", + "3. For this example, is the relation between \\(\\sigma_r\\) and \\(\\sigma_A\\) linear?\n", + "\n", + "Write a brief explanation." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Part C — Propagation of Uncertainty for Several Variables\n", + "\n", + "Now we study a quantity that depends on more than one measured variable.\n", + "\n", + "Consider resistance:\n", + "\n", + "\\[\n", + "R = \\frac{V}{I}\n", + "\\]\n", + "\n", + "If both voltage and current are uncertain, then the resistance will also be uncertain.\n", + "\n", + "For independent variables, we use:\n", + "\n", + "\\[\n", + "\\sigma_R \\approx \\sqrt{\n", + "\\left(\\frac{\\partial R}{\\partial V}\\sigma_V\\right)^2 +\n", + "\\left(\\frac{\\partial R}{\\partial I}\\sigma_I\\right)^2\n", + "}\n", + "\\]\n", + "\n", + "For this case:\n", + "\n", + "\\[\n", + "\\frac{\\partial R}{\\partial V} = \\frac{1}{I},\n", + "\\qquad\n", + "\\frac{\\partial R}{\\partial I} = -\\frac{V}{I^2}\n", + "\\]" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Example: Resistance from voltage and current\n", + "\n", + "Let:\n", + "\n", + "- \\(V = 12.0 \\pm 0.2\\) V\n", + "- \\(I = 2.0 \\pm 0.05\\) A\n", + "\n", + "We first compute the resistance, and then propagate the uncertainty." + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Voltage: V = 12.000 ± 0.200 V\n", + "Current: I = 2.000 ± 0.050 A\n", + "Resistance: R = 6.000 ± 0.180 ohm\n" + ] + } + ], + "source": [ + "V = 12.0\n", + "sigma_V = 0.2\n", + "\n", + "I = 2.0\n", + "sigma_I = 0.05\n", + "\n", + "R = V / I\n", + "\n", + "sigma_R = np.sqrt(\n", + " (sigma_V / I)**2 +\n", + " ((V * sigma_I) / (I**2))**2\n", + ")\n", + "\n", + "print(f\"Voltage: V = {V:.3f} ± {sigma_V:.3f} V\")\n", + "print(f\"Current: I = {I:.3f} ± {sigma_I:.3f} A\")\n", + "print(f\"Resistance: R = {R:.3f} ± {sigma_R:.3f} ohm\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Contribution of each variable\n", + "\n", + "The total propagated variance is the sum of separate terms. \n", + "This allows us to estimate which measurement contributes more to the final uncertainty.\n", + "\n", + "That is important in engineering because it helps decide which sensor or measurement process should be improved first." + ] + }, + { + "cell_type": "code", + "execution_count": 10, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Contribution from voltage uncertainty: 30.77%\n", + "Contribution from current uncertainty: 69.23%\n" + ] + } + ], + "source": [ + "term_V = (sigma_V / I)**2\n", + "term_I = ((V * sigma_I) / (I**2))**2\n", + "total = term_V + term_I\n", + "\n", + "percent_V = 100 * term_V / total\n", + "percent_I = 100 * term_I / total\n", + "\n", + "print(f\"Contribution from voltage uncertainty: {percent_V:.2f}%\")\n", + "print(f\"Contribution from current uncertainty: {percent_I:.2f}%\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Visualize the contribution of each source of uncertainty" + ] + }, + { + "cell_type": "code", + "execution_count": 11, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAhwAAAF2CAYAAAAleUHdAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjgsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvwVt1zgAAAAlwSFlzAAAPYQAAD2EBqD+naQAAQBJJREFUeJzt3QncjPX+//EPWbOTPdmSLXtlKxGlTbbz61DnRDmcOrJFTsquojqkxZEUWkiFOnW0iLIcyU7KEiFKlmNXdvN/vL+//8xvZu65mbnvudzLvJ6Px3DPdV1zzXeu9XN91yw+n89nAAAAHsrq5coBAAAIOAAAwEVBDgcAAPAcAQcAAPAcAQcAAPAcAQcAAPAcAQcAAPAcAQcAAPAcAQcAAPAcAUcGliVLFnv44YcvuNyUKVPcstu3b49p/U2bNrWrr746FSkELj4d5zreddwnGs7Zi0vH2dChQy/yt2ZcBBxp4L333nMH6gcffJBkXq1atdy8r776Ksm8K664who1amQZRbly5dxvadGiRcT5EydOdPP1WrFixUVPH/7Prl273IVzzZo1UW0WfxDrf+XKlctKlSplLVu2tBdffNGOHj2a6Tfv008/bR9++GG631cXO7D573//myFuxNOmTbOxY8dm2OPn66+/tv/5n/9x94W8efO6e8OCBQssPSPgSAPXX3+9+/8///lPyPQjR47Yd999Z9myZbPFixeHzNu5c6d7+T8biz//+c92/PhxK1u2rF1suhEpeNq9e3eSeVOnTnXzkfZ0Exs2bFjMN7Hhw4fbW2+9ZePHj7cePXq4ab1797YaNWrYt99+a2lBx7mOdx33mTXgSMm+QvwDDh1nAwcOTJPj595777X9+/dbv3797KmnnnKB3q233mobN2609IqAIw3oSbB8+fJJAo4lS5aYxtJT1Bo+z/8+JQHHJZdc4m7seuq42Bo3buyi73fffTdk+s8//2yLFi2yO+64wzK6c+fO2YkTJywR3XbbbfanP/3J7r//fhswYIB9/vnnNnfuXNu7d6/ddddd7oJ8sflzXHTcA+F+++23uG0UHWd6QEwL06dPty+//NJ69uxpvXr1sn//+9/uOjRz5kxLrwg40ogCh9WrV4dckJWrUb16dXcR/+abb9yNLHieLqS6gYdTlKzszZw5c7rPf/bZZ1HV4fj000/txhtvtHz58ln+/Pnt2muvdVF/uPXr11uzZs3s0ksvtdKlS9uzzz4b0wnZrl27JOt95513rFChQi4LPhJF6X/4wx+scOHCbh3XXHONffTRRyHLHDhwwEX3eppWUKPfoG23du3aJOt76aWX3LbRb9D3an3BaercubMrAgqnbOHwQM1fd0Y5NFqntrt/m//yyy/2wAMPWPHixQP7Y9KkSSGfnz9/vluHitb0pKptqn2g33v48GE7efKkyyUoVqyY+126mWtauLffftvq1atnuXPndtupQ4cOLhcsUtb3+fah0qN9L/oufzFJSutA3HTTTTZo0CD76aefXBqD6QJ5ww03WJ48eaxgwYLWunVr27BhQ8Rt/sMPP7hgpkCBAla0aFG3TgXk+o36nPZ3iRIlbPTo0Resw6H9q22p/dOmTRv3t9ap4+fs2bMhn//HP/7hsqeLFCnitq228YwZM0KW0fp143rjjTcC20vf4RfNcRDNcRku2n0VzTmrY2rIkCF25ZVXujSWKVPG+vfvH/FYSy3/Pt2yZYvbTtr32q/6Db///nuS5XXcXHfddYHt0qRJE5szZ06S65f/WNL5o4eX77//PmQZ/37/8ccf7fbbb3fLKWdA58Xs2bPdMerfhv7z/9SpUzZ48GC335VGrV/fE6mYO7zoKNrfmSWZ40ffkVxxu44LzdODqdSvXz9kvj+3WOlPrwg40jDgOH36tC1dujQkqNCFTi/deFS8EjyvSpUq7iIYnvPxt7/9zd1sdFFRhNu+fXuX1XY+ukDpBNVNW0+mo0aNstq1aycJVg4ePOiy6VS3RBd2peHvf/+7O9mjdc8999iyZcvcSR988ugGmz179iTL66LRoEEDdyN67LHH3PfqpNeNIvhE3Lp1qwu27rzzThszZow9+uijtm7dOhdEKds5uK6IngKqVavmslB1k9dvDd72sdKNs0+fPvbHP/7RXnjhBXex2rNnj0u3nvAVkGi6LuZdunSJmHU7cuRIlyOg36ib06xZs+zBBx90f+tmq4uXgjXtq2eeeSbks8pCve+++6xSpUrutytAmTdvnrswHzp0KKZ9WLVqVVc0It26dXNFJHppXSnlL84IvklouyjAVO6HftsjjzziyqEVREeq0Kxtq6Bbx6Yurk8++aTbjjfffLO7iWqbaPsqaFi4cOEF06TAQt+vc0hBhY4TbY9XX301ZDnttzp16rhtomxvPcEq11E3KD9tH92kdSPyb6+//vWvbl60x0FKjsto9lU056y2q3KgtB1atWrlAh+dX88//7zb7l65++67Xf0eHfv6W8e2fncwvdfxo2uDfqveKxjSOeen36zrl4IJHQcKRhVk6boafiydOXPG7XcF8Pq9uj4+8cQTbltfdtllgW3o3zcq2n7ttddcUKJ161jdt2+fW0e0xVgX+p1vJXP86Dv1W/UwE07TKlasaA0bNkwyT/uzb9++bp0KqNItH9LE999/79PmHzFihHt/+vRpX548eXxvvPGGe1+8eHHfuHHj3N9HjhzxXXLJJb6uXbuGrEOfz5Ejh2/Lli2BaWvXrnXTX3rppcC0yZMnu2nbtm1z7w8dOuTLly+fr379+r7jx4+HrPPcuXOBv2+88Ub3uTfffDMw7eTJk74SJUr42rdvf8HfWLZsWd8dd9zhO3PmjPuM/7euX7/erXfBggWBtC1fvjzwuebNm/tq1KjhO3HiREi6GjVq5KtUqVJgmuafPXs25Dv1G3PmzOkbPnx4YFrr1q191atXP29aO3Xq5NIbbsiQIS59wfQ+a9asbh8G69Kli69kyZK+//73vyHTO3To4CtQoIDv999/d++/+uort46rr77ad+rUqcByHTt29GXJksV32223hXy+YcOGIWnbvn27Ox6eeuqpkOXWrVvny5YtW8j0aPehtr+W0/6IRqT9Fk6/uU6dOoH3tWvX9hUrVsy3f//+kONV2/K+++5Lss27desWmKZj6PLLL3fbZ9SoUYHpBw8e9OXOndvtv+BjIPy3aL6mBR8XovTVq1cvZJp/P/lpH2lf3XTTTSHTdb4Gf2+sx0E0x2Uk59tX0e7vt956y233RYsWhXz+lVdecZ9fvHjxedOg70ku7fv27XPr0H4M36cPPPBAyLJt27b1FSlSJPB+8+bNLl2aHn5u+69NR48e9RUsWDDJ9XD37t1u+wZP9+/3xx57LEk6dW2KdM7rWNM2C6bjTNfk8PSn9Hee7/gZMGCAu4bpOu23d+9ed24Hf1cwnSs6N6ZNm+ZLz8jhSCN6UtGTlr9uhooBlMXmb4Wi//0VR5WFpqezSPU31AJEUa9fzZo1XVaznv6T88UXX7joW0/W4ZU2w4sP9AShbG2/HDlyuKzO860/nMrSFeWrGMUfqSuKV3QfTjkuepLxPyGoIpReyrHRE8bmzZtddrUoms+a9X8PYW0fLaP0Vq5c2VatWhVYp7I1VWdk+fLlFi96OtaTqZ+uPSo71dOi/vanWy+lWzlWwWkS5VAE5/DoKV6fVQ5HME1XMYKe1EQ5IXqi0TYK/h4VLyjHIzzrNx77MCX0vf7WKr/++qt7OlS2sYp/go9X5Vh88sknST7/l7/8JeQYUnGDto9yCoL3rfZ3tL9FOUjBdAyGf1bFKMG5Bdp3Wi58/0USy3HgxXEZ7f5+//333TVIuR/BaVRxmEQqPoiHSNtf561yFUQ5ljq2VaThP7fDr026fikXr2PHjiFp1zGicyVS2h966KGo06j1aJuJ0qJrks49HX/RHAPR/M7z0XVBxVrBxXiqA6c0BO9Xv9dff93l0ik3S9skPSPgSCM6eRRU+OtqKLhQlp+yXsMDDv//kQIONYkKpzJPXSiT4y/aiKaPjcsvvzxJEHKh9SdXrKIsTwVWKk5REVCkSqwq+9SFWlmkKmMPfqm8WZQlL9puygLWTVbBh7JHtZxaR+jC7qfsZF2EddHVst27d0/SCihWqvQbTFmuugjqxA9Pt8pvg9Od3L5TWa8oGAufrt/q/00KurSN9FvCv0vFUOHfE699GKtjx465MnNRWbkoOAinG59uGOGV+SJtHwXI2s/h06P5LfqsttGFtoMq36lIRMsrONJn1Aon+JhKTizHgRfHZbT7W8eQii7D03jVVVeFpDE1Ip3f4ftU6RJ/2nRtUqARHMyHU9pFwVF4+lWEF552FYlpm8RCdSsUDOsY0IOh1q0itWiOgWh+5/koCFQ9neBiFf2tY9J/fwim4hjtNxXxpndpU70WgQDi448/dvUO/PU3/PS36iToaV65IGrZUqFChSRbLrma+P+b25d68Vq/njyUE6O6Btu2bXMBSCT+irIql0+uQqn/pFP5ugIT5QiMGDHC3Rx0sdJ3BFe41Q1t06ZN7kaiOip6Av3nP//pnqL85arJteAJr1AY6Sk4ON16AunUqVPEz+gCFs22vdA213cpvSqTj7SsbmKxrM8LenLXxTnSBTJakdKdmt8STasVtZxS3QbVidAxUrJkSZcLNXny5PNW5kzJcRDNcZkS0WwjpVOVrVX/J5LwoDecbsTJtUDyV46M1OQ9HseifxvrRqtcvXDhrUaCc0KjoQqryolTnRZdg/UgqHSrPkZwPbTzSe3vvO+++1zLE51Hyu3Qg+nLL78ccVnlnOg4zQgIONJJfxwKOHSj9FMNaZ0oqpWuSmSqYR0v/iIYVUpNzQ0hVsruU8U/XWhVYSsSf1Cli3xyHYb5KctRNfGVpRhMT5jhT8GqdKrKcHqpFrcqY6ripSrM6sKoJ5DwypbBT+YXoicgPc0rQLlQuuOx/3ThUi6L/4k0teLdZFo3A/EHjf4+YHSDjdQiSftL+yit6aav40GVeXX++SngiGabxXocXOi49Gpf6RhSbmPz5s1TtD7tTxV9KugID779+zgl/f4oXQoolBua3DXCf/1SIJCacy25363riq5DKroMXsafwxovWc6z3ZUDrErVKobWNtb1MLnKvLqupodzJxoUqaQhlQnqoqLsMuVkBOdw6GJXt25dGzdunMtqTkn/G8m55ZZb3EVREXt4/xFePvWqTF4nbXgzxmC6iKim9oQJE1y5f6Qs6+CniPD0qmzaX8fDL7zFjspnlWWrz6qlkP8ipify4M6q9P2RmqdForSo9rtuWMGtiyKlO7V0U9L36Sk4/Pfr/YVaKEXiv2BFCrpipRuRcpwUEPlrzOsJTDcQZVUHf4e2lbLB4xlQp4a2q24EwTlbavUQqYMmbbPw7RXLcRDNcenVvlL9H50naikTTje4C/VVof2lNOo8DaZgQcVP+i0KZmKlXAXlRqh1SnAupfiPdQWxqqemHM5I2ynac03bMVIRiT93Ivjc0kOfvzlqvOSJcPz4KQBXE3/ltuj+oFZH4Q9RfgpE2rZtaxkBORxpSCelyuqUjasAQ7kawRSA+G/O8Qw4dLKq7oMCAH2/ijf0hK8nHmWH6qbgBT3xRNPdsYIs/V5l+Xbt2tU9baipoU54ZTH6+9lQc1hdmFQ2rm2loimdnOFFTwqwlPWq5pfqF0H1HJQ9qWZ1/joGeqJQmbpOXDVV1HbQhVM5CNFWFFPzTVVYU/GR0q2bhyqc6fNqIqm/40HBkXKK9BSsm6Eu0vodKqpSgKTmkiqSinWdqsT4yiuvuHXpYqjfEV5XJZyKdZRDoQpt2kcKNlSpT/ta/aYEP6U/99xz7iKqZn2q+Kkbm5pjqg5GeukGW8eEihl0gdd5ofoAOh6VExjec6rOV+1XLe/vzE/bLNrjIJrjMp77KpianaofGFVuVFqVBgVZ2pearhwePRAlR5VilX7VG1CTd51/Ome0z5Vbq+MzvL5MNLSd1WRVAasqWiq41rVRFWu1jfWQpOuXzk39Bj2U6dzVd+3YscPVs9BvSa74IXz/qTKmchJ0HVRRpH6XrivK3dC1QPtC55W2tfaj6iXFS71kjp/gYhV1HSDaHslRYKdm+coNT/fSuplMolMTKO0GNfkMN2vWLDdPTVjVVCuc5nXv3j3JdDX1Cm5uFd4s1u+jjz5y36tmhfnz5/ddd911vnfeeeeCTd+Sa0IaKR1qepaS5pU//vijayqp5nzZs2f3lS5d2nfnnXf6ZsyYEdIstm/fvq4Jon5D48aNfUuWLHHp1stvwoQJviZNmrhmaWpuVrFiRd+jjz7qO3z4cMh3zpkzxzV/VFPjypUr+95+++1km8VG2u6yZ88eN69MmTIu3Uq/mvm++uqrgWX8zWLff//9qLaFPw1qbhhs5syZvuuvv941r9OrSpUq7rs3bdqUon34r3/9y1etWjXX/O5CTWT9afW/tM30W2+++WbfCy+84JpyRzJ37ly3n/zHXKtWrVwz6Wh+r9Ks3xku/Dcm1yw20mcj7d/XX3/dNb/WsaJtqvVEWm7jxo3uuNJv0bzgcy6a4yDa4zKS5PZVLPtbzX2feeYZt7y+v1ChQq6J8LBhw6JKg86/oUOHum2kz2v7NmjQwJ034ZLbp8ldmyZNmuSaLPvTpd/1xRdfhCyj86hly5auKWyuXLnc9uvcubNvxYoVF9zvcuzYMd8999zjmtgqDf7to+a3Tz/9tHuv71c6/v3vf0fchsk1i43md248z/Ejapqr367fF959QTClKfh6l55l0T9pHfQAAID/o1xD5Xwo1yW8nlpGRR0OAADSmQ8//NDVR1HRSmZBDgcAAOnE0qVLXX0h1dtQRdFo65BlBORwAACQTowfP971jKoWe2+++aZlJmkacGjAJZVPqZxKTdHCm56peok6wVGTOrX1Vptrfy9zfqrxraZ3qrmsmtuq/R7PmsQAAFwsU6ZMcfU3VqxYEVVv0BlJmgYcauutEQ3V7CwSjX764osvuiZJymZS8y+1wQ7uO0LBhrroVVM89dinIEbNAgEAQPqRbupwKIdDfQioTwFRspTzoSF3/X0KqJMWtVdXBKi212q3rrbRaqPtbzOuLoLVKY36a9DnAQBA2ku3HX+ps5Xdu3eHdF2rDoLUMYo6gFLAof9VjBLcQY2WV091yhFJrvc19U2vl59/REAN0hPvLp4BAMjMlEGgkaH1kH++cWvSbcChYEOUoxFM7/3z9L8q1oQP3KNBvPzLRKLe6lIzOBIAAAi1c+fO847Mm24DDi+pS2h1Z+unohoNJ6yBulT5FAAAROfIkSNuOIPzdcmfrgMO/7DDGp8heOhdvfePIqhlNNZBMNXuVfFIpGGL/dQ3f/BIkH4qniHgAAAgev5ilAtVSUi3/XBoIBsFDfPmzQuJolQ3Q4M/if7XaHsrV64MLKPBo1QnI3gQHAAAkLbSNIdD/WVs2bIlpKLomjVrXB0MFXH07t3bjTpYqVIlF4AMGjTIVUrxt2SpWrWqG9VRIzKq6ayGKn744YddhVJaqAAAkH6kacChjk2aNWsWeO+vV9GpUyfX9LV///6urw71q6GcDA1ZrmavwUNeazhyBRkaolfZOu3bt3d9dwAAgPQj3fTDkZZUVKMmt6o8Sh0OAADifw9Nt3U4AABA5kHAAQAAPEfAAQAAPEfAAQAAPEfAAQAAPEfAAQAAPEfAAQAAPEfAAQAAPEfAAQAAPEfAAQAAPEfAAQAAPEfAAQAAPEfAAQAAPEfAAQAAPEfAAQAAPEfAAQAAPEfAAQAAPEfAAQAAPEfAAQAAPEfAAQAAPEfAAQAAPEfAAQAAPEfAAQAAPEfAAQAAPEfAAQAAPEfAAQAAPEfAAQAAPEfAAQAAPEfAAQAAPEfAAQAAPEfAAQAAPEfAAQAAPJctmoXq1q0b00qzZMliH330kZUuXTql6QIAAIkWcKxZs8b69u1refPmveCyPp/PRo0aZSdPnoxH+gAAQKIEHPLoo49asWLFolp29OjRqUkTAABIxIBj27ZtVrRo0ahXun79eitVqlRq0gUAABIt4ChbtmxMKy1TpkxK0wMAABK5SCXcmTNnbMKECTZ//nw7e/asNW7c2Lp37265cuWKbwoBAEDiBhw9e/a0H374wdq1a2enT5+2N99801asWGHvvPNOfFMIAAASJ+D44IMPrG3btoH3c+bMsU2bNtkll1zi3rds2dIaNGjgTSoBAEBidPw1adIka9Omje3atSvQN8eDDz5on332mX388cfWv39/u/baa71MKwAAyOwBh4KKjh07WtOmTe2ll16yV1991fLnz29PPPGEDRo0yFUUnTZtmrepBQAAGVIWn3rqisGhQ4dcbsbatWvtlVdesTp16lhGd+TIEStQoIAdPnzYBVEAACC+99CYx1IpWLCgy9147rnn7L777nMdgp04cSLW1QAAgAQSdcCxY8cOu/vuu61GjRp27733WqVKlWzlypV26aWXWq1atezTTz/1NqUAACDzF6mo7kaJEiWsc+fO9vnnn9uPP/7oBmiTDRs22F//+lc3/7333rOMhiIVAAC8vYdG3SxWfWyo3kbFihVdE9jy5csH5lWtWtUWLlzoiloAAABSHHDUq1fPBg8ebJ06dbK5c+e6opVw3bp1i3Z1AAAggURdh0M9iWrI+T59+tgvv/ziujUHAACIaw6HBnCbMWNGtIsDAADElsOhCiGxOHr0qMWDBoVTp2KqL5I7d25Xf2TEiBEWXM9Vf6uop2TJkm6ZFi1a2ObNm+Py/QAA4CIGHIUKFbK9e/dGvdLSpUvb1q1bLbWeeeYZGz9+vL388suuJYzeP/vss66nUz+9f/HFF10nZEuXLrU8efK4Sq30DQIAQAYrUlEuwmuvvWZ58+aNaqUaPTYevv76a2vdurXdcccd7n25cuXcaLTLli0LpGvs2LE2cOBAt5y/rknx4sXtww8/tA4dOsQlHQAA4CIEHFdccYVNnDgx6pWqP47s2bNbajVq1Mg1tf3hhx/sqquucs1y//Of/9iYMWPc/G3bttnu3btdMYqf2gLXr1/flixZQsABAEBGCji2b99uaeGxxx5z9UeqVKlil1xyiavT8dRTT7meTkXBhihHI5je++dFotY2eoXXUTl37px7AQCA6ER734y6lUpaUK+lU6dOdaPQVq9e3dasWWO9e/e2UqVKuf5AUmrkyJE2bNiwJNP37dtH3Q8AADxoKBLzaLEXk4a8Vy5H9+7dA9OefPJJe/vtt23jxo2uYqparqxevdpq164dWObGG29071944YWoczj0XQcPHmS0WAAAYqB7qBqXxK1r87Tw+++/W9asoQ1pVLTiz75Rc1nVF5k3b14g4NAPV2uVhx56KNn15syZ073C6bvCvw8AACQv2vtmug44WrVq5epsqNKqilSUk6EKow888ICbnyVLFlfEolwPjV6rAET9dqjIpU2bNmmdfAAAkBECDvW3oQDib3/7m+sHRIGERqVVR19+/fv3t99++82N43Lo0CG7/vrr7bPPPrNcuXKladoBAEAq63AsWrTIjaWiIerV3bk6+nrrrbdcDoNu+BkNw9MDAODtPTTmCgszZ850PXmqG3EVcfgrX+qLnn766RQmFwAAZGYxBxyqL6FuxNURWHDnXo0bN7ZVq1bFO30AACARA45NmzZZkyZNkkxXdorqUAAAAKQ64FAz1C1btiSZri7HK1SoEOvqAABAAog54Ojatav16tXL9XWhZqm7du1yvYH269fvvH1fAACAxBVzs1j1/KmOt5o3b+465lLxijrRUsDRo0cPb1IJAAAytBR3bX7q1ClXtHLs2DGrVq1a1EPXp0c0iwUAwNt7aMw5HFqhRm0tXLiwCzT8Dhw4YNmyZWMsEgAAkPo6HB06dLDp06dHHNlV8wAAAFIdcKiyaLNmzZJMb9q0qZsHAACQ6oBDPYueOXMmyfTTp0/b8ePHY10dAABIADEHHNddd529+uqrSaar99F69erFK10AACATyZaSrs1btGhha9eudU1jZd68ebZ8+XKbM2eOF2kEAACJlsOhMVOWLFliZcqUcRVFP/74Y7vyyivt22+/tRtuuMGbVAIAgMTshyMzoR8OAADSWT8cop5G1enX3r173d/BIg3sBgAAElvMAcc333xj99xzj/30008WnjmisVXUKRgAAECqAo4HH3zQrrnmGps9e7aVLFnSBRkAAABxDTg2b95sM2bMcBVFAQAAPGmlUr9+fVd/AwAAwLMcDg1B37dvX9u9e7fVqFHDsmfPHjK/Zs2asa4SAABkcjE3i82aNWmmiOpxaDUZtdIozWIBAEhnzWK3bduWwiQBAIBEFXPAUbZsWW9SAgAAMq0Udfwl69evtx07dtipU6dCpt91113xSBcAAEjkgGPr1q3Wtm1bW7duXaDuhvj748iIdTgAAEA6axbbq1cvK1++vOvW/NJLL7Xvv//eFi5c6DoDmz9/vjepBAAAiZXDoZFiv/zyS7vssstcixW9rr/+ehs5cqT17NnTVq9e7U1KAcAj5R6bzbZFwtg+6o6MkcOhIpN8+fK5vxV07Nq1K1CZdNOmTfFPIQAASLwcjquvvtrWrl3rilXU6+izzz5rOXLksFdffdUqVKjgTSoBAEBiBRwDBw603377zf09fPhwu/POO+2GG26wIkWK2LvvvutFGgEAQKIFHC1btgz8rQHcNm7caAcOHLBChQoxciwAAIhvPxzBChcuHI/VAACARA442rVrZ1OmTHF9pOvv85k1a1a80gYAABIp4NCgLP6OvfQ3AABA3AOOyZMnu//Vq+iwYcOsaNGiljt37pi+CAAAJK6Y+uFQwKGKoj///LN3KQIAAIkdcKhX0UqVKtn+/fu9SxEAAMh0Yu5pdNSoUfboo4/ad999502KAABAphNzs9j77rvPfv/9d6tVq5brYTS8Lof65AAAAEhVwDF27NhYPwIAABJczAFHp06dvEkJAADItFLV0+iJEyfs1KlTIdPUORgAAECqKo1q4LaHH37YihUrZnny5HFjqAS/AAAAUh1w9O/f37788ksbP3685cyZ01577TXXGVipUqXszTffjHV1AAAgAcRcpPLxxx+7wKJp06Z2//33u6Hp1RlY2bJlberUqXbvvfd6k1IAAJA4ORxq9lqhQoVAfQ1/M9jrr7/eFi5cGP8UAgCAxAs4FGxs27bN/V2lShV77733AjkfBQsWjH8KAQBA4gUcKkZZu3at+/uxxx6zcePGWa5cuaxPnz6uB1IAAIBU1+FQYOHXokUL27hxo61cudLV46hZs2asqwMAAAkg5oBj586dVqZMmcB7VRbVCwAAIG5FKuXKlbMbb7zRJk6caAcPHjSv/fLLL/anP/3JihQp4sZtqVGjhq1YsSIw3+fz2eDBg61kyZJuvnJdNm/e7Hm6AACAhwGHbvbXXXedDR8+3N3k27RpYzNmzLCTJ09avCmgady4sWXPnt0+/fRTW79+vY0ePTqkg7Fnn33WXnzxRXvllVds6dKlrjOyli1bul5QAQBA+pDFpyyCFNDH5s+fb9OmTbOZM2fauXPnrF27djZp0qS4JU6VUhcvXmyLFi1KNg3qcKxv377Wr18/N+3w4cNWvHhxmzJlinXo0CGq7zly5IgVKFDAfZau2YHEU+6x2WmdBOCi2T7qjriuL9p7aIoDjmCrVq2yLl262Lfffmtnz561eKlWrZrLrfj5559twYIFVrp0afvb3/5mXbt2dfO3bt1qFStWtNWrV1vt2rUDn1ORj96/8MILEder3JjgHBltLNVLUY4KAQeQeK58/JO0TgJw0Wx5+va4rk/3UJU8XCjgSPHgbQoClLuh13fffWcNGzZ0TWTjSQGFulB/5JFH7PHHH7fly5dbz549LUeOHG7U2t27d7vllKMRTO/98yIZOXKk64493L59+yiKARJQ1UKpfu4CMoy9e/fGdX1Hjx6NarmYA44JEya4IENFHer4S12Z/+tf//KkpYqKaa655hp7+umn3fs6deq44Eb1NRRwpNSAAQNcEBOew1G0aFFyOIAEtOFglrROAnDRaPDVeFJfXJ4EHE8++aR17NjRVdSsVauWeUmVUlWsEqxq1aquzoiUKFHC/b9nzx63rJ/eBxexhNOgc3qFy5o1q3sBSCznjIADiSNrnO9z0a4v5oBjx44dliXLxTk51UJl06ZNIdN++OGHQG5K+fLlXdAxb968QICh3Aq1VnnooYcuShoBAIAHAcfFCjb8vZo2atTIFancfffdtmzZMnv11Vfdy5+W3r17u1yXSpUquQBk0KBBruWKmusCAID0IcWVRi+Ga6+91j744ANX50L9fiigGDt2rKs34te/f3/77bffrFu3bnbo0CE3au1nn30WdZkSAADwXlyaxWZ09MMBJDb64UAi2Z5G/XBQQxIAAHiOgAMAAKSPOhzq/yLayqLqdRQAACDmgIMWHwAAwPOAY8iQIan6EgAAkNiowwEAANJfPxwaDfb555+39957z/U6eurUqZD5Bw4ciGf6AABAIuZwaJTVMWPG2B//+EfX5laDoLVr1871pT506FBvUgkAABIr4Jg6dapNnDjR+vbta9myZXMDub322ms2ePBg++abb7xJJQAASKyAY/fu3VajRg33d968eV0uh9x55502e/bs+KcQAAAkXsBx+eWX26+//ur+rlixos2ZM8f9vXz58ohDvgMAAMQccLRt29YNBy89evRwo7NqpNb77rvPHnjgAbYoAABIfSuVUaNGBf5WxdGyZcva119/7YKOVq1axbo6AACQAGIOOBYuXGiNGjVyFUalQYMG7nXmzBk3r0mTJl6kEwAAJFKRSrNmzSL2taHKo5oHAACQ6oDD5/NFHMht//79lidPnlhXBwAAEkDURSrq3EsUbHTu3DmkRYp6H/32229dUQsAAECKA44CBQoEcjjy5ctnuXPnDszLkSOHq8fRtWvXaFcHAAASSNQBx+TJk93/5cqVs379+lF8AgAAvGul4h+qft++fbZp0yb3d+XKla1o0aKxrgoAACSImCuN/v77766Dr5IlS7omsHqVKlXKunTp4uYBAACkOuDo06ePLViwwD7++GM7dOiQe/3rX/9y0zSgGwAAQKqLVGbOnGkzZsywpk2bBqbdfvvtrhLp3XffbePHj491lQAAIJNLUZFK8eLFk0wvVqwYRSoAACA+AUfDhg1dxdETJ04Eph0/ftyGDRvm5gEAAKS6SGXs2LF26623umHqa9Wq5aatXbvWcuXKZZ9//nmsqwMAAAkg5oCjRo0atnnzZps6dapt3LjRTevYsaPde++9IZ2BAQAApHq02PBeRRktFgAAJIfRYgEAgOcYLRYAAHiO0WIBAIDnGC0WAAB4jtFiAQBA+h0tFgAAwLNKowAAALEi4AAAAJ4j4AAAAJ4j4AAAAOkz4FiwYIG1atXKrrzySve66667bNGiRfFPHQAASMyA4+2337YWLVrYpZdeaj179nQvDdrWvHlzmzZtmjepBAAAGVoWn8/ni+UDVatWtW7dulmfPn1Cpo8ZM8YmTpxoGzZssIzmyJEjVqBAATt8+LDlz58/rZMD4CIr99hstjkSxvZRd6TJPTTmHI6tW7e64pRwKlbZtm1b7CkFAACZXswBR5kyZWzevHlJps+dO9fNAwAASHVPo3379nX1NtasWWONGjVy0xYvXmxTpkyxF154IdbVAQCABBBzwPHQQw9ZiRIlbPTo0fbee+8F6nW8++671rp1ay/SCAAAEi3gkLZt27oXAACAJ3U4KlSoYPv3708y/dChQ24eAABAqgOO7du329mzZ5NMP3nypP3yyy+xrg4AACSAqItUPvroo8Dfn3/+uWtz66cARC1XypUrF/8UAgCAxAk42rRp4/7PkiWLderUKWRe9uzZXbChiqQAAAApDjjOnTvn/i9fvrwtX77cLrvssmg/CgAAElzMdTjUm2haBRujRo1yOSy9e/cOTDtx4oR1797dihQpYnnz5rX27dvbnj170iR9AAAggw9Pr1yVCRMmWM2aNUOma0yXjz/+2N5//303iu2uXbusXbt2aZZOAACQQQOOY8eO2b333usGhytUqFBgugaKef31193AcTfddJPVq1fPJk+ebF9//bV98803aZpmAACQyo6/LjYVmdxxxx3WokULe/LJJwPTV65caadPn3bT/apUqWJXXHGFLVmyxBo0aBBxfWrCq1fwSHf+eir+uioAEkdWi2nQbCBDOxfn+1y060v3Acf06dNt1apVrkgl3O7duy1HjhxWsGDBkOnFixd385IzcuRIGzZsWJLp+/btc3VCACSWqoUIOJA49u7dG9f1HT161LuAQ9HMli1bXKLDI5smTZpYvOzcudN69eplX3zx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U6VKFbviiitsyZIlaZJGAAAQh2axv/32m40aNcoNV7937147d+5cyHyvuj3X9/Tu3dsaN27suleX3bt3u+Kc8IHkVH9D85Kjuh56+fl7SNV3hP+e1MhqvritC0jv4nnuXGycq0gk5+J8rka7vpgDjr/85S+ubsWf//xnK1myZMQWK15QXY7vvvvO/vOf/8SlMuqwYcOSTFdzX1VCjZeqhQg4kDj0AJJRca4ikeyN87l69OhRbwKOTz/91FXSVE7DxaKKoBq7ZeHChXb55ZcHppcoUcJOnTplhw4dCsnl2LNnj5uXnAEDBgRa3fhzONSZWdGiReNaXLTh4MUJxoD0QPWrMirOVSSSYnE+V6PtEiPmgKNQoUKBOhReU4uYHj162AcffGDz589P0rFYvXr1LHv27K54p3379m7apk2bbMeOHdawYcNk15szZ073Cpc1a1b3ipdzRsCBxBHPc+di41xFIska53M12vXF/K0jRoywwYMH2++//24Xoxjl7bffdq1Q8uXL5+pl6HX8+HE3X81gu3Tp4nIr1IpGlUjVikbBBi1UAABIP2LO4Rg9erT9+OOPrmJmuXLlXA5DsFWrVsUtcePHj3f/N23aNElLmc6dO7u/n3/+eRddKYcjuOMvAACQgQOONm3a2MWiIpVoyo7GjRvnXgAAIJMEHEOGDPEmJQAAINOKOeDwU32JDRs2uL+rV69uderUiWe6AABAIgccar/boUMH12rE3xRVzVKbNWvmBlBT01IAAIBUtVJRM1V18vH999/bgQMH3Esdcqkvi549e7J1AQBA6nM4NKDa3Llz3QBpftWqVXOVNjWSKwAAQKpzONRnenhTWNG0jDyWAgAASEcBh4aB79Wrl+3atSsw7ZdffrE+ffpY8+bN450+AACQiAHHyy+/7OprqNOvihUrupe6HNe0l156yZtUAgCAxKrDoUHO1Juo6nFs3LjRTVN9jhYtWniRPgAAkKj9cGhI+ptvvtm9AAAA4lak8uWXX7rWKCo6CXf48GHX+deiRYuiXR0AAEggUQccY8eOta5du1r+/PmTzNOorX/9619tzJgx8U4fAABIpIBj7dq1duuttyY7X31wqLtzAACAFAcce/bsidj/hl+2bNls37590a4OAAAkkKgDjtKlS7suzJPz7bffWsmSJeOVLgAAkIgBx+23326DBg2yEydOJJl3/PhxN2z9nXfeGe/0AQCARGoWO3DgQJs1a5ZdddVV9vDDD1vlypXddPXFoXFUzp49a0888YSXaQUAAJk94ChevLh9/fXX9tBDD9mAAQPM5/MF+uRo2bKlCzq0DAAAQKo6/ipbtqx98skndvDgQduyZYsLOipVqmSFChWKZTUAACDBpKinUQUY1157bfxTAwAAMqWYB28DAACIFQEHAADwHAEHAADwHAEHAADwHAEHAADwHAEHAADwHAEHAADwHAEHAADwHAEHAADwHAEHAADwHAEHAADwHAEHAADwHAEHAADwHAEHAADwHAEHAADwHAEHAADwHAEHAADwHAEHAADwHAEHAADwHAEHAADwHAEHAADwHAEHAADwHAEHAADwHAEHAADwHAEHAADwHAEHAADwHAEHAADwHAEHAADwHAEHAADwHAEHAADwHAEHAADwXKYJOMaNG2flypWzXLlyWf369W3ZsmVpnSQAAJCZAo53333XHnnkERsyZIitWrXKatWqZS1btrS9e/emddIAAEBmCTjGjBljXbt2tfvvv9+qVatmr7zyil166aU2adKktE4aAAAws2wZfSucOnXKVq5caQMGDAhMy5o1q7Vo0cKWLFkS8TMnT550L7/Dhw+7/w8dOmTnzp2LX+JO/ha/dQHpnM6fDItzFQnkUJzP1SNHjrj/fT5f5g44/vvf/9rZs2etePHiIdP1fuPGjRE/M3LkSBs2bFiS6WXLlvUsnUBmV2hsWqcAQFqeq0ePHrUCBQpk3oAjJZQbojoffsrVOHDggBUpUsSyZMmSpmlD6iPtMmXK2M6dOy1//vxsTiCd4lzNPJSzoWCjVKlS510uwwccl112mV1yySW2Z8+ekOl6X6JEiYifyZkzp3sFK1iwoKfpxMWlYIOAA0j/OFczh/PlbGSaSqM5cuSwevXq2bx580JyLPS+YcOGaZo2AACQSXI4RMUjnTp1smuuucauu+46Gzt2rP3222+u1QoAAEh7mSLg+OMf/2j79u2zwYMH2+7du6127dr22WefJalIisxPRWXqjyW8yAxA+sK5mniy+C7UjgUAACCVMnwdDgAAkP4RcAAAAM8RcAAAAM8RcOCi0Ei+aj0EAEhMBBw4r1atWtmtt94acd6iRYtcz6zffvttzFtRn/vwww/Txdbfvn27S8+aNWvSOilAqqmlXo8ePaxChQqu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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "labels = [\"Voltage term\", \"Current term\"]\n", + "values = [percent_V, percent_I]\n", + "\n", + "plt.figure(figsize=(6, 4))\n", + "plt.bar(labels, values)\n", + "plt.ylabel(\"Contribution to total variance [%]\")\n", + "plt.title(\"Which Measurement Dominates the Uncertainty?\")\n", + "plt.ylim(0, 100)\n", + "plt.grid(True, axis=\"y\", alpha=0.3)\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Relative uncertainty\n", + "\n", + "In many cases, it is useful to express uncertainty relative to the value itself:\n", + "\n", + "\\[\n", + "\\text{Relative uncertainty} = \\frac{\\sigma_R}{R}\n", + "\\]\n", + "\n", + "This can also be written as a percentage." + ] + }, + { + "cell_type": "code", + "execution_count": 12, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Relative uncertainty of R = 0.0300\n", + "Relative uncertainty of R = 3.00%\n" + ] + } + ], + "source": [ + "relative_R = sigma_R / R\n", + "relative_R_percent = 100 * relative_R\n", + "\n", + "print(f\"Relative uncertainty of R = {relative_R:.4f}\")\n", + "print(f\"Relative uncertainty of R = {relative_R_percent:.2f}%\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Summary table\n", + "\n", + "The following table gathers the main values computed in this lab." + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "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", + "
quantityvalueuncertaintyunits
0Voltage12.0000000.200000V
1Current2.0000000.050000A
2Resistance6.0000000.180278ohm
3Area314.15926512.566371mm^2
\n", + "
" + ], + "text/plain": [ + " quantity value uncertainty units\n", + "0 Voltage 12.000000 0.200000 V\n", + "1 Current 2.000000 0.050000 A\n", + "2 Resistance 6.000000 0.180278 ohm\n", + "3 Area 314.159265 12.566371 mm^2" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "summary_df = pd.DataFrame({\n", + " \"quantity\": [\"Voltage\", \"Current\", \"Resistance\", \"Area\"],\n", + " \"value\": [V, I, R, A],\n", + " \"uncertainty\": [sigma_V, sigma_I, sigma_R, sigma_A],\n", + " \"units\": [\"V\", \"A\", \"ohm\", \"mm^2\"]\n", + "})\n", + "\n", + "summary_df" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Exercise C\n", + "\n", + "Use the results above to answer:\n", + "\n", + "1. What is the computed resistance?\n", + "2. What is its propagated uncertainty?\n", + "3. Which variable contributes more to the uncertainty in resistance?\n", + "4. If you could improve only one instrument, would you improve the voltage measurement or the current measurement?\n", + "\n", + "Justify your answer briefly." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Additional Student Exercise\n", + "\n", + "Now modify the values below and recompute the propagated uncertainty.\n", + "\n", + "Suggested values:\n", + "\n", + "- \\(V = 9.0 \\pm 0.1\\) V\n", + "- \\(I = 0.50 \\pm 0.03\\) A\n", + "\n", + "Then compare the result with the previous example." + ] + }, + { + "cell_type": "code", + "execution_count": 14, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "R = 18.000 ± 1.098 ohm\n", + "Relative uncertainty = 6.10%\n" + ] + } + ], + "source": [ + "V2 = 9.0\n", + "sigma_V2 = 0.1\n", + "\n", + "I2 = 0.50\n", + "sigma_I2 = 0.03\n", + "\n", + "R2 = V2 / I2\n", + "sigma_R2 = np.sqrt(\n", + " (sigma_V2 / I2)**2 +\n", + " ((V2 * sigma_I2) / (I2**2))**2\n", + ")\n", + "\n", + "print(f\"R = {R2:.3f} ± {sigma_R2:.3f} ohm\")\n", + "print(f\"Relative uncertainty = {100 * sigma_R2 / R2:.2f}%\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "### Reflection prompt\n", + "\n", + "Compare the two resistance examples.\n", + "\n", + "- Which one has the larger relative uncertainty?\n", + "- Why?\n", + "- What role does the current measurement play in each case?\n", + "\n", + "Write a short paragraph discussing your observation." + ] + }, + { + "cell_type": "code", + "execution_count": 15, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Second example - voltage contribution: 3.32%\n", + "Second example - current contribution: 96.68%\n" + ] + } + ], + "source": [ + "term_V2 = (sigma_V2 / I2)**2\n", + "term_I2 = ((V2 * sigma_I2) / (I2**2))**2\n", + "total2 = term_V2 + term_I2\n", + "\n", + "percent_V2 = 100 * term_V2 / total2\n", + "percent_I2 = 100 * term_I2 / total2\n", + "\n", + "print(f\"Second example - voltage contribution: {percent_V2:.2f}%\")\n", + "print(f\"Second example - current contribution: {percent_I2:.2f}%\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Final Questions\n", + "\n", + "Before finishing the lab, make sure you can answer the following:\n", + "\n", + "1. What is the difference between repeated-measurement variability and propagated uncertainty?\n", + "2. Why is the sample standard deviation useful in experimental work?\n", + "3. Why does a computed quantity inherit uncertainty from its inputs?\n", + "4. Why is it useful to identify the dominant source of uncertainty?\n", + "\n", + "These questions are central to experimental design and data analysis." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Conclusion\n", + "\n", + "In this lab, you learned how to:\n", + "\n", + "- estimate uncertainty from repeated measurements,\n", + "- report values with uncertainty,\n", + "- propagate uncertainty through simple formulas,\n", + "- compare uncertainty contributions from different variables.\n", + "\n", + "This is one of the most practical uses of statistics in engineering and scientific measurement." + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": ".venv (3.14.2)", + "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.14.2" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +}