You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
901 lines
111 KiB
Plaintext
901 lines
111 KiB
Plaintext
{
|
|
"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": [
|
|
"<div>\n",
|
|
"<style scoped>\n",
|
|
" .dataframe tbody tr th:only-of-type {\n",
|
|
" vertical-align: middle;\n",
|
|
" }\n",
|
|
"\n",
|
|
" .dataframe tbody tr th {\n",
|
|
" vertical-align: top;\n",
|
|
" }\n",
|
|
"\n",
|
|
" .dataframe thead th {\n",
|
|
" text-align: right;\n",
|
|
" }\n",
|
|
"</style>\n",
|
|
"<table border=\"1\" class=\"dataframe\">\n",
|
|
" <thead>\n",
|
|
" <tr style=\"text-align: right;\">\n",
|
|
" <th></th>\n",
|
|
" <th>trial</th>\n",
|
|
" <th>voltage_V</th>\n",
|
|
" </tr>\n",
|
|
" </thead>\n",
|
|
" <tbody>\n",
|
|
" <tr>\n",
|
|
" <th>0</th>\n",
|
|
" <td>1</td>\n",
|
|
" <td>4.98</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>1</th>\n",
|
|
" <td>2</td>\n",
|
|
" <td>5.01</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <td>3</td>\n",
|
|
" <td>5.00</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>3</th>\n",
|
|
" <td>4</td>\n",
|
|
" <td>5.03</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>4</th>\n",
|
|
" <td>5</td>\n",
|
|
" <td>4.99</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>5</th>\n",
|
|
" <td>6</td>\n",
|
|
" <td>5.02</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>6</th>\n",
|
|
" <td>7</td>\n",
|
|
" <td>4.97</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>7</th>\n",
|
|
" <td>8</td>\n",
|
|
" <td>5.01</td>\n",
|
|
" </tr>\n",
|
|
" </tbody>\n",
|
|
"</table>\n",
|
|
"</div>"
|
|
],
|
|
"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": [
|
|
"<Figure size 800x400 with 1 Axes>"
|
|
]
|
|
},
|
|
"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": [
|
|
"<Figure size 800x400 with 1 Axes>"
|
|
]
|
|
},
|
|
"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": "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oIAdPnzYBVEAACC+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": [
|
|
"<Figure size 600x400 with 1 Axes>"
|
|
]
|
|
},
|
|
"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": [
|
|
"<div>\n",
|
|
"<style scoped>\n",
|
|
" .dataframe tbody tr th:only-of-type {\n",
|
|
" vertical-align: middle;\n",
|
|
" }\n",
|
|
"\n",
|
|
" .dataframe tbody tr th {\n",
|
|
" vertical-align: top;\n",
|
|
" }\n",
|
|
"\n",
|
|
" .dataframe thead th {\n",
|
|
" text-align: right;\n",
|
|
" }\n",
|
|
"</style>\n",
|
|
"<table border=\"1\" class=\"dataframe\">\n",
|
|
" <thead>\n",
|
|
" <tr style=\"text-align: right;\">\n",
|
|
" <th></th>\n",
|
|
" <th>quantity</th>\n",
|
|
" <th>value</th>\n",
|
|
" <th>uncertainty</th>\n",
|
|
" <th>units</th>\n",
|
|
" </tr>\n",
|
|
" </thead>\n",
|
|
" <tbody>\n",
|
|
" <tr>\n",
|
|
" <th>0</th>\n",
|
|
" <td>Voltage</td>\n",
|
|
" <td>12.000000</td>\n",
|
|
" <td>0.200000</td>\n",
|
|
" <td>V</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>1</th>\n",
|
|
" <td>Current</td>\n",
|
|
" <td>2.000000</td>\n",
|
|
" <td>0.050000</td>\n",
|
|
" <td>A</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>2</th>\n",
|
|
" <td>Resistance</td>\n",
|
|
" <td>6.000000</td>\n",
|
|
" <td>0.180278</td>\n",
|
|
" <td>ohm</td>\n",
|
|
" </tr>\n",
|
|
" <tr>\n",
|
|
" <th>3</th>\n",
|
|
" <td>Area</td>\n",
|
|
" <td>314.159265</td>\n",
|
|
" <td>12.566371</td>\n",
|
|
" <td>mm^2</td>\n",
|
|
" </tr>\n",
|
|
" </tbody>\n",
|
|
"</table>\n",
|
|
"</div>"
|
|
],
|
|
"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
|
|
}
|