Skip to content
Permalink
8b1ec06868
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Go to file
 
 
Cannot retrieve contributors at this time
executable file 535 lines (535 sloc) 149 KB
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Computational Mechanics Project #02 - Create specifications for a projectile robot\n",
"\n",
"On the first day of class, we threw $2\"\\times~2\"$ dampened paper (spitballs) at a target on the whiteboard. Now, we are going to analyze the accuracy of the class with some cool Python tools and design a robot that has the same accuracy and precision as the class, but we will have the robot move farther away from the target and use a simpler projectile i.e. a tennis ball so we don't need to worry about knuckle-ball physics. \n",
"\n",
"The goal of this project is to determine the precision of necessary components for a robot that can reproduce the class throwing distibution. We have generated pseudo random numbers using `numpy.random`, but the class target practice is an example of truly random distributions. If we repeated the exercise, there is a vanishingly small probability that we would hit the same points on the target, and there are no deterministic models that could take into account all of the factors that affected each hit on the board. \n",
"\n",
"<img src=\"../images/robot_design.png\" style=\"height: 250px;\"/>\n"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Now, we ask ourselves some questions:\n",
"\n",
"1. How do we quantify the class accuracy and precision?\n",
"\n",
"2. If we design a robot, what design components can we control?\n",
"\n",
"3. How can we relate the controlled components to the class accuracy, and specify the component precision?\n",
"\n",
"The first question, we have some experience from our work in [02_Seeing_Stats](../notebooks/02_Seeing_Stats.ipynb). We can define the mean, standard deviation, measure the first, second, and third quartiles, etc. \n",
"\n",
"The second question is a physical question. We cannot control the placement of the robot or the target those are chosen for us. We cannot control temperature, mechanical vibrations, etc. We *can* control the desired initial velocity. The initial velocity will have some speed and direction, and both will be subject to random noise. Once the speed and direction are set, the location on the target is determined by kinematic equations for an object in freefall, as such\n",
"\n",
"$x_{impact} = \\frac{v_x}{v_y}d + x(0)~~~~~~~~~~~~~~~~~~~~(1.a)$\n",
"\n",
"$z_{impact} = d\\left(\\frac{v_z(0)}{v_y}-\\frac{g}{2v_y^2}d\\right)+ z(0)~~~~~(1.b)$.\n",
"\n",
"Where the location of impact is at a $y$-distance of $d$ at a point on the target with coordinates $(x_{impact},~z_{impact})$, and the initial velocity is $\\bar{v}=v_x\\hat{i}+v_y\\hat{j}+v_z(0)\\hat{k}$, the object is released at an initial location $\\bar{r}(0)=x(0)\\hat{i}+0\\hat{j}+z(0)\\hat{k}$, and the only acceleration is due to gravity, $\\bar{a}=-g\\hat{k}$. Equation (1) becomes much easier to evaluate if we assume that $v_x=0$, resulting in an evalution of the accuracy of the height of the impact, $z_{impact}$, as such\n",
"\n",
"$x_{impact} = x(0)~~~~~~~~~~~~~~~~~~~~(2.a)$\n",
"\n",
"$z_{impact} = \\frac{d}{\\cos{\\theta}}\\left(\\sin{\\theta}-\\frac{g}{2v_0^2\\cos{\\theta}}d\\right)+ z(0)~~~~~(2.b)$.\n",
"\n",
"Where $\\theta$ is the angle of the initial velocity and $v_0$ is the initial speed. Equation (2) restricts the analysis to height accuracy. You can incorporate the 2D impact analysis if you finish the 1D analysis. "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The third question, is how we can relate equation (2) to the measured points of impact? For this, we can use Monte Carlo methods *(There are other methods, but Monte Carlo is one of the most straight-forward)*. Our Monte Carlo approach is as such, if we have a desired initial speed, $v_0$, and desired angle, $\\theta$, we can propagate the uncertainty of our actual speeds and angles into the $z_{impact}$ locations. Then, we can choose distributions in speed and angles that match the distributions in $z_{impact}$ locations. Here are the steps:\n",
"\n",
"1. Generate random $\\theta_i$ and $v_{0~i}$ variables\n",
"\n",
"2. Plug into eqn 2 for random $z_{impact~i}$ locations\n",
"\n",
"3. Compare to our measured $z_{impact}$ location statistics\n",
"\n",
"4. Repeat 1-3 until the predicted uncertainty matches the desired uncertainty, we can use a number of comparison metrics:\n",
" \n",
" - standard deviation\n",
" \n",
" - first, second, and third quartiles\n",
" \n",
" - visually, with box plots and histograms"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Project Deliverables\n",
"\n",
"1. Statistical analysis of class accuracy and precision (x- and z-locations) data is in the csv file [../data/target_data.csv](../data/target_data.csv) _Note: if you want to see how I turned the images into data check out the jupyter notebook [process_target_practice](./process_target_practice.ipynb)\n",
"\n",
"2. A Monte Carlo model to generate impact heights based upon uncertainty in $\\theta_0$ and $v_0$. \n",
"\n",
"3. The precision required to recreate the class accuracy and precision with a robot. \n",
"**You must show some validation of your work**\n",
"\n",
"4. [BONUS] Repeat 2-3 taking into account the variation in $x_{impact}$ due to misalignment. \n",
"\n",
"Given constants and constraints:\n",
"\n",
"- $d=$3 m, distance to target\n",
"\n",
"- $g=$9.81 m/s$^2$, acceleration due to gravity\n",
"\n",
"- $z(0)=$0.3 m, the initial height is 0.3 m above the bull's eye\n",
"\n",
"- 4 m/s$<v_0<$12 m/s, the initial velocity is always higher than 9 mph and less than 27 mph"
]
},
{
"cell_type": "code",
"execution_count": 91,
"metadata": {},
"outputs": [],
"source": [
"import matplotlib.pyplot as plt\n",
"import numpy as np\n",
"import pandas as pd\n",
"\n",
"#Import rcParams to set font styles\n",
"from matplotlib import rcParams\n",
"\n",
"#Set font style and size \n",
"rcParams['font.family'] = 'sans'\n",
"rcParams['font.size'] = 16\n",
"rcParams['lines.linewidth'] = 3"
]
},
{
"cell_type": "code",
"execution_count": 171,
"metadata": {},
"outputs": [],
"source": [
"target_data = pd.read_csv(\"../data/target_data.csv\")\n",
"\n",
"image_1=target_data[target_data[' image #'].values==1]\n",
"image_2=target_data[target_data[' image #'].values==2]\n",
"\n",
"#creating array for class's x&z position for image 1\n",
"image1_classx = image_1[' x position (m)']\n",
"image1_classz = image_1[' y position (m)']\n",
"\n",
"#creating array for class's x&z position for Image 2\n",
"image2_classx = image_2[' x position (m)']\n",
"image2_classz = image_2[' y position (m)']\n",
"\n",
"#defining desired target in x and z components for Image 1\n",
"actual_1x = 0\n",
"actual_1z = 0\n",
"\n",
"#defining desired target in x and z components for Image 2\n",
"actual_2x = 0\n",
"actual_2z = 0"
]
},
{
"cell_type": "code",
"execution_count": 172,
"metadata": {},
"outputs": [],
"source": [
"#defining mean and standard deviation for x&z components of image 1 and 2\n",
"image1_xmean = np.mean(image1_classx)\n",
"image1_xstd = np.std(image1_classx)\n",
"image1_zmean = np.mean(image1_classz)\n",
"image1_zstd = np.std(image1_classz)\n",
"image2_xmean = np.mean(image2_classx)\n",
"image2_xstd = np.std(image2_classx)\n",
"image2_zmean = np.mean(image2_classz)\n",
"image2_zstd = np.std(image2_classz)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Project Deliverable 1**\n",
"\n",
"The following code provides a statistical analysis for the x and z component distributions of the class's throws for image 1 and image 2. Histograms are provided along with the mean and intended value. The standard deviation and mean are displayed for each component as well."
]
},
{
"cell_type": "code",
"execution_count": 173,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The mean for image 1 in the x direction is -0.007m with a standard deviation of 0.271m where the actual value is 0.000m\n"
]
},
{
"data": {
"image/png": "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82bGjBlTYfrbbruNESNGcNhhhzF9+nTuvPNOSktL6devH+vWrSM/P5/XXnsNgKKiIubNm8e8efM455xzksZ+2mmn0ahRI6ZOnVpu+Oeff86cOXMYOXJk2bClS5dSVFTE9OnTeeSRRzj44IM57rjjmD17dnU2X5lPPvmEnj178sEHHzBx4kRmzpxJ586dGTJkCC+++GJWllGTCgoKKCgoiDoMEUFND5JjRowYUfZv5xy9e/emQYMGXHjhhdxxxx00adKkbPyKFSuYPXs2Bx10UNmwp59+mvnz5zNz5kyGDBkCwHHHHcfAgQP57LPPysp9++23/O53v+PCCy/kzjvvLBvevXt3OnfuzIMPPsiFF17I4YcfDsBee+1VZVNJo0aNOOWUU5g6dSrjx48vS6qmTZtGnTp1OOOMM8rK3nbbbWX/3rZtGwMGDGDRokVMnjyZfv36pbXNkrn22mvLEp3YS56OPfZYli5dytixYzn22GOrvQwR2TmoRmEH4pzLiU9NWr16NWPGjKFjx47k5+eTl5fHqFGj2Lp1K//973/LlT3wwAPLJQkAb775Jvn5+QwePLjc8KFDh5b7/9y5c1m3bh1nnXUWW7ZsKft07NiRjh07ZnyXw8iRI/n00095/fXXy4ZNnTqV448/npYtW5YNe+uttxg0aBCtW7emTp065OXlMXfuXD788MOMlpvohRdeYPDgwTRq1Kjc+g0cOJD58+ezYYMetSwiqVGiIDnl7LPP5r777uPyyy9n1qxZzJ8/nwkTJgBUuLjtscceFab/6quvaNWqVYUmkjZt2pT7//LlywHo3bs3eXl55T4ff/wx33zzTUbxDxgwgLZt2/LQQw8B/uVGCxcuLNfs8MknnzBgwADWrVvHnXfeybx585g/fz79+/fPygV869atrFq1iuLi4grrdu2117Jt2zZWr15d7eWIyM5BTQ+SM77//nuef/55/vznP3PJJZeUDZ8/f37S8sn6S+yxxx6sWLEC51y58f/73//Kldttt90AePjhh9l///0rzKdp06YZrcMuu+zCmWeeyT333MPEiROZOnUqzZs358QTTywr8+yzz7J27VqmT59erpZh7dq1Vc6/fv36bNq0qdywbdu28e2335b9v06dOjRr1owTTjiByy+/POl84pcrIlIZJQqSM9atW4dzjry8vLJhzjkeeOCBlOfRq1cvNm7cyD/+8Y+yPgoAjz/+eLlyffr0oUGDBnzyySfl+kUkqlevHmbG+vXrU47hnHPO4ZZbbmHmzJk88sgjDBs2rNxtm+vW+bczxr/06/3336ekpCRp0hJvn3324eWXX2br1q3UqVMHgFmzZlW4K+S4447jnXfeoUuXLrplVESqRYmC5Iw2bdpw6KGHcuONN9KyZUt23XVXiouLWbky9edXDR48mB49enD++efzpz/9ifbt2/Poo4+Wtf3vsotvbWvRogU33ngjY8aM4csvv+TYY4+lSZMmLFu2jNmzZzNo0CCGDh3KLrvswoEHHsjMmTPp378/zZo1Y6+99mL33XcPjaFLly507dqV0aNH8/XXX5drdgAYOHAgV199NWeffTa//vWv+eKLLxg7dizt2rWrcv2GDx/Ogw8+yAUXXMBZZ53F4sWLmThxIo0aNSpX7k9/+hM9e/akb9++/OpXv6Jdu3asXr2ad999ly+//JLJkyenvE1FZOemPgqSUx5//HG6dOlCUVERP//5z+nQoQM333xzytObGU8//TT9+/dnzJgxDB8+HDPj2muvBSi7AwDg0ksv5YknnuD999/nrLPO4oQTTii7W6FLly5l5SZNmkTdunU5/vjj6dGjB/fff3+VcYwcOZJly5bRsWNHjjrqqHLjDjvsMB544AE++ugjBg8ezIQJE7j11lvp2bNnlfMdNGgQEydOZM6cOQwePJhp06bxyCOP0Lhx43LlOnbsSElJCZ06deLKK6/kmGOO4Ve/+hWvv/46ffv2rXI5USspKaGkpCTqMEQEsJruxS7JFRQUuMpOhIsWLarQo18y94tf/ILp06ezcuXKclX+UtGiRYvo/PfOGU3rxmb3fBLrZ6LzlMSYWalzTg/ZqEU6Y8qPzt13382GDRvo1KkTGzdu5LnnnuO+++7juuuuU5IgIpImnTXlR6dhw4ZMnDiRTz/9lE2bNtGxY0duueWW0DsAJPcUFhZGHYKIBJQoyI/OmWeeyZlnnhl1GFINemukSO5QZ0YREREJpURBREREQilREBERkVBKFERERCSUEgUREREJpURBRHJOt27d6NatW9RhiAi6PVJEclBpaSmQ/A2hIlK7VKMgtWrevHkMGzaMtm3bUq9ePXbbbTeOOeYYHnjgAbZu3QrA/fffj5mxZMmSaIMVERElClJ7brvtNo466ihWrVrFTTfdxKxZs7j33ns54IAD+OUvf8kzzzwTdYgiIpJATQ9SK+bMmcPo0aO5+OKLmThxYrlxJ510EqNHj+aHH36IKDrJNWpyEMkdqlGQWnHjjTfSokUL/vznPycdv++++3LIIYeETv/oo4/Sv39/WrVqRePGjcte1Zzo9ttv56CDDqJBgwY0b96cgoICZsyYUTb+xRdf5Mgjj6RZs2Y0btyYAw88kOuvv77S2GNNIW+88QbDhg2jSZMmtGnThhtuuAGAF154gcMOO4xGjRrRo0ePsvb1eE8++SS9evWiYcOG7Lrrrpx++ul89tlnGa2jmR+B3y4AABjdSURBVHHNNdcwceJEOnToQJMmTTj66KNZuHBhpeshIpIJJQo7GDML/RQXF5eVKy4urrRsvO7du4eWi385T7ILYCq2bt3Kq6++ysCBA6lfv35G8/jkk08YOnQo06ZN46mnnmLw4MFccMEFTJ48uazMtGnTGDNmDCNGjOC5555j2rRpDB06lFWrVpXNY8iQIXTo0IHHHnuMp59+Oq2ajHPPPZcuXbowY8YMTj75ZK6++mquvPJKrrjiCq688koee+wxfvjhB04++WQ2bdpUNt3kyZM57bTT6Ny5M0888QRTpkzh/fff5+ijj+b7779Pax1jpk6dyrPPPsvtt9/Offfdx2effcZJJ53Eli1bMtq+IiJh1PQgNW7lypWsX7+effbZJ+N5XH311WX/3rZtG3379uWrr75i0qRJXHjhhYDvKHnIIYdw3XXXlZU9/vjjy/69YMECNm3axKRJk2jatCkA/fv3TzmGkSNHcu211wLQt29fZsyYwYQJE/joo4/o0KFDWWwnnXQS8+bN4+ijj2bt2rVceeWVnH/++dx7771l8+rZsycHHHAA99xzD5dddlnK6xiTl5fHM888Q15eXtmw008/nX/9618ceeSRKa+TiEhVVKOwg3HOhX7if/0XFhZWWjZeaWlpaLn4Woru3bvX2nom+vjjjxkxYgR77rkneXl55OXlcffdd/Phhx+WlenRowdvv/02l1xyCbNmzWLdunXl5nHooYeSl5fH8OHDeeKJJ1i+fHlaMQwaNKjs33Xr1mW//fbjgAMOKEsSADp16gTA559/Dvjk5bvvvuOss85iy5YtZZ+99tqLTp06MWfOnLTWMeaYY44plyR06dIFoEJzhohIdSlRkBq322670aBBA5YuXZrR9GvXruWYY47hnXfe4cYbb2Tu3LnMnz+fn//852zcuLGs3DnnnMOkSZN46623OPbYY2nRogWnnnpq2W2W++23Hy+++CLbtm1j5MiR7L777vTs2ZPXXnstpTiaN29e7v/16tVLOgxgw4YNAGXJyIABA8ou/rHPe++9xzfffJPWOsa0aNGi3P/z8/PLLVdEJFvU9JAlZvYCcCzwR+fcNVHHk0vq1q1L3759efnll9m4cWPZRS1V8+bNY+nSpcydO5fevXuXDU9sjzczioqKKCoqYvXq1bz00kuMGTOGM844g7feeguAfv360a9fPzZu3Mjrr7/OddddxwknnMCSJUto2bJl9Vc2wW677Qb4DpE/+clPKoxv0qRJWusoIlLblChkgZmNALpGHUcuu+qqq+jbty9XXHFFhdsjAT799FO+//77pHc+xJoQ4qvaV69ezcyZM0OX17x587IEYcqUKRXG5+fn079/f9auXctJJ53Ep59+WiOJwpFHHkmTJk1YvHgx5557bmi5TNbxxyy2z4qKiiKORESUKFSTme0K3ApcDjwccTg5q0+fPkyYMIHRo0ezaNEizjvvPNq1a8fq1at55ZVXuPvuu3n44YeTJgpHHnkkTZs25aKLLmL8+PH88MMP/OEPf6Bly5asWbOmrFxhYSFNmjThiCOOoHXr1nz00Uc89NBDDBw4EPB3H8yZM4fjjz+evffem5UrV3LDDTfQtm1bDj744BpZ76ZNm3LzzTdz0UUXsWLFCgYNGkSzZs1YtmwZr732Gn379uXMM89MeR13FrH+NkoURKKnRKH6/gwsdM49YmZKFCpx2WWXcfjhh3Prrbfym9/8hpUrV9KkSRMKCgqYMmUKgwcPTjpdq1atmDFjBmPGjGHo0KG0bduWX//616xatYrx48eXlTvqqKO47777eOihh1izZg1t27bl7LPPLivTtWtXnn/+eX7729+yfPlyWrRoQe/evZk2bRoNGjSosfUuKipi77335uabb+bhhx9m8+bN7LnnnvTp04dDDz00rXUUEaltltgDXlJnZr2BWUBX59yHZuZIsY9CQUGBKykpCR2/aNEiDjrooOwFK5KiRYsW0fnvnTOa1o3NzvkkdrdNrEZB5ymJMbNS51xB1HHsTFSjkCEzywOmALc45yrev5Z8mkKgEKBdu3Y1GJ3Ijq22mxw2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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.hist(image1_classx, bins=20, color='g', histtype='bar', edgecolor='w') \n",
"plt.axvline(actual_1x, color='k', linestyle='-', linewidth=2, label='Target value')\n",
"plt.axvline(image1_xmean, color='k', linestyle='--', linewidth=2, label='Class mean')\n",
"plt.title(\"Histogram for class acuracy in x direction of Image 1\")\n",
"plt.legend()\n",
"plt.xlabel('m')\n",
"\n",
"print(\"The mean for image 1 in the x direction is {:.3f}m with a standard deviation of {:.3f}m where the actual value is {:.3f}m\".format(image1_xmean,image1_xstd,actual_1x))"
]
},
{
"cell_type": "code",
"execution_count": 174,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The mean for image 1 in the z direction is -0.072m with a standard deviation of 0.271m where the actual value is 0.000m\n"
]
},
{
"data": {
"image/png": "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65Zj3X333bRu3ZpatWrRoEEDOnTowKRJk0r6v/7663Tp0oX69etTt25d9ttvP2688cZyY4+c/njvvfcYOHAgRUVFNGnShJtvvhmA1157jYMOOog6derQsWNH5syZU2Yczz//PJ07d6Z27drsuOOOnHLKKSxdujSlOpoZf/nLXxgzZgwtWrSgqKiII444gs8//7zceoiIpEJJwnbGzOJ+xo8fX1Ju/Pjx5ZaN1r59+7jlhgwZUlIu7ABYkS1btjB9+nR69+5NzZo1U6rzwoULGTBgABMnTuSFF16gX79+nH/++YwdO7akzMSJExk+fCzCy0EAABZrSURBVDinnXYar7zyChMnTmTAgAGsWrWqZBz9+/enRYsWPP3000yZMiWpFoyzzz6btm3bMmnSJE444QSuu+46rr76aq666iquvvpqnn76aX799VdOOOEENm7cWDLc2LFjOfnkk2nTpg3PPvss48aNY+7cuRxxxBH88ssvSdUxYsKECbz88svcfffdPPzwwyxdupTjjz+ezZs3pzR/RUTi0ekGyaqVK1eybt069txzz5THcd1115X8vXXrVrp37863337LfffdxwUXXAD4iyIPOOAAbrjhhpKyxxxzTMnfH330ERs3buS+++6jXr16APTo0SPhGAYPHsz1118PQPfu3Zk0aRJ33HEHX375JS1atCiJ7fjjj2fmzJkcccQRrFmzhquvvppzzz2Xhx56qGRcnTp1Yt999+XBBx/k8ssvT7iOEQUFBbz00ksUFBSUdDvllFP48MMP6dKlS8J1EhGpiFoStjPOubif6F/9Q4YMKbdstDlz5sQtF9060b59+5zVM9pXX33Faaedxm677UZBQQEFBQU88MADfPHFFyVlOnbsyMcff8wll1zC1KlTWbt2balxHHjggRQUFDBo0CCeffZZVqxYkVQMffv2Lfm7evXq7L333uy7774lCQJAq1atAPj6668Bn7j8/PPPnHHGGWzevLnks/vuu9OqVStmzJiRVB0jevXqVSpBaNu2LUCZUxgiIulSkiBZtdNOO1GrVi2WLFmS0vBr1qyhV69efPLJJ4wePZp33nmHWbNm8fvf/54NGzaUlDvrrLO47777+OCDDzj66KNp2LAhJ510UsmtlHvvvTevv/46W7duZfDgweyyyy506tSJt99+O6E4GjRoUOr/GjVqhHYDWL9+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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.hist(image1_classz, bins=20, color='g', histtype='bar', edgecolor='w') \n",
"plt.axvline(actual_1z, color='k', linestyle='-', linewidth=2, label='Target value')\n",
"plt.axvline(image1_zmean, color='k', linestyle='--', linewidth=2, label='Class mean')\n",
"plt.title(\"Histogram for class acuracy in z direction of Image 1\")\n",
"plt.legend()\n",
"plt.xlabel('m')\n",
"\n",
"print(\"The mean for image 1 in the z direction is {:.3f}m with a standard deviation of {:.3f}m where the actual value is {:.3f}m\".format(image1_ymean,image1_ystd,actual_1y))"
]
},
{
"cell_type": "code",
"execution_count": 252,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The mean for image 1 in the x direction is 0.036m with a standard deviation of 0.237m where the actual value is 0.000m\n"
]
},
{
"data": {
"image/png": "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bp/+/ftz4oknVhm+++678+Mf/7jSsIULFzJ69Gg6duxI8+bNKSws5LnnnqtxGVI3KVEQyZOioiKKioqiDiMjqbT15+NTm5YsWULfvn259957ef7557nooou4++67GT9+fJWy77//PldccQUTJkzghRde4JhjjsE5x4gRI5g1axa33XYbjz32GOXl5UycOLHK9HfeeSdnnnkmhx12GE8//TR33303ZWVlHHfccWzYsIFmzZrx6quvAjB+/HjmzZvHvHnzOOecc5LGfsYZZ9CqVSseffTRSsO/+OIL5s6dy9lnn10x7LPPPmP8+PE8/fTTPP744xx88MGceOKJzJ49O5vNV2HRokX069ePjz76iClTpjBz5kwOOuggRowYwYsvvpiTZUiexV59q09+P4WFhS4ykNlHKgEcaWyXdMtH5cMPP6wyLBZ71J9s7bPPPm7MmDE1ltu+fbsrLy939913n2vcuLFbs2ZNxbh+/fq5Ro0aVdlOM2fOdICbOXNmpeFDhw51gJs3b55zzrlVq1a5li1bugsvvLBSuY8//tg1btzY3XPPPc455zZu3OgA98tf/jKldRs7dqzr3r272759e8Wwm266yRUUFLjly5cnnWbbtm2uvLzcHXPMMW7UqFEVwxcsWOAA9/jjj1da7xNOOKHKPDp37uzGjx9f8f+zzjrL7bHHHu7bb7+tVO6YY45x/fr1q3E9ku1/8YBSVwfO4Q3poxoFEalR1Ceq2Kc2rVq1iokTJ9KjRw+aNWtGQUEB48aNY9u2bfz73/+uVPbAAw+kV69elYa9+eabNGvWjOHDh1caPnLkyEr/f+2119iwYQNjxoxh69atFZ8ePXrQo0ePjO9yOPvss1m8eDGvv/56xbBHH32Uk046qeI9CgBvvfUWw4YNY7fddqNx48YUFBTw2muv8fHHKT2JvkYvvPACw4cPp1WrVpXW7/jjj2f+/Pls0qPg6x0lCiIiwNixY3nggQe4/PLLmTVrFvPnz+f2228HqHJxS/bSov/85z906tSpShNJ586dK/1/2bJlABx99NEUFBRU+nz66ad88803GcU/ZMgQunTpwiOPPAL4l5B98MEHlZodFi1axJAhQ9iwYQN333038+bNY/78+QwePDgnF/Bt27axcuVKSkpKqqzbtddey/bt21m1alXNM5I6RXc9iEiDt3btWp5//nluueUWLrnkkorh8+fPT1o+WX+JPfbYg+XLl+OcqzT+v//9b6Vyu+66KwCPPfYY+++/f5X5tG3bNqN1aNSoEWeddRZ//OMfmTJlCo8++ijt27fnlFNOqSjz3HPPsW7dOp5++ulKtQzr1tX82JfmzZuzZcuWSsO2b9/Ot99+W/H/xo0b065dO04++WQuv/zypPOJX67UD0oURKTB27BhA845CgoKKoY553jooYdSnkf//v3ZvHkzf/nLXxgxYkTF8OnTp1cqN3DgQFq0aMGiRYs488wzQ+fXtGlTzIyNGzemHMM555zDbbfdxsyZM3n88ccZNWpUpds2N2zYAFDppV/vv/8+paWlSZOWePvssw8vv/wy27Zto3HjxgDMmjWryl0hJ554Iu+88w69e/fWLaM7CSUKItLgde7cmUMPPZSbb76Zjh07sssuu1BSUsKKFStSnsfw4cPp27cv559/PjfeeCPdunXjiSeeqGj7b9TIt/R26NCBm2++mYkTJ/LVV19xwgkn0KZNG5YuXcrs2bMZNmwYI0eOpFGjRhx44IHMnDmTwYMH065dO/baay9233330Bh69+5Nnz59mDBhAl9//XWlZgeA448/nmuuuYaxY8dy2WWX8eWXX3L99dfTtWvXGtdv9OjRPPzww1xwwQWMGTOGhQsXMmXKFFq1alWp3I033ki/fv0YNGgQP/nJT+jatSurVq3i3Xff5auvvuLee+9NeZtK3aA+CiJ5UlpaSmlpadRhSIjp06fTu3dvxo8fzw9/+EO6d+/OrbfemvL0Zsazzz7L4MGDmThxIqNHj8bMuPbaawFo165dRdlLL72Up556ivfff58xY8Zw8sknM3nyZMyM3r13vE/unnvuoUmTJpx00kn07duXBx98sMY4zj77bJYuXUqPHj0YMGBApXGHHXYYDz30EJ988gnDhw/n9ttv54477qBfv341znfYsGFMmTKFuXPnMnz4cKZNm8bjjz9O69atK5Xr0aMHpaWl9OzZkyuvvJKhQ4fyk5/8hNdff51BgwbVuBype6y2exJLckVFRS6yi0am96NrX6kk1g69sx1DCxYsqNKjXzL3ox/9iKeffpoVK1ZUqvKX5Gra/8yszDlXPx9IUk9prxURyZH777+fTZs20bNnTzZv3szf/vY3HnjgAa677jolCVJvac8VyZPi4mJAL4fambVs2ZIpU6awePFitmzZQo8ePbjttttC7wAQqQ/U9BARNT3Uf+k2PdSXpgo1PUiU1PRQ96gzo4iIiIRSoiAiIiKhlCiIiIhIKCUKIiIiEkqJgoiIiITS7ZEieXL44YdHHYKISNqUKIjkSVlZWdQhiIikTU0PItIgzJs3j1GjRtGlSxeaNm3KrrvuytChQ3nooYfYtm0bAA8++CBmxpIlS6INVqQOUaIgIju9O++8kwEDBrBy5Up+85vfMGvWLP70pz9xwAEHcOGFF/LXv/416hBF6iw1PYjkSX15MuPOZu7cuUyYMIGLL76YKVOmVBp36qmnMmHCBDKS3ngAABfaSURBVNavXx9RdCJ1n2oURGSndvPNN9OhQwduueWWpOP33XdfDjnkkNDpn3jiCQYPHkynTp1o3bp1xauaE91111306tWLFi1a0L59e4qKipgxY0bF+BdffJGjjjqKdu3a0bp1aw488EBuuOGGamOPNYW88cYbjBo1ijZt2tC5c2duuukmAF544QUOO+wwWrVqRd++fZP2g3nmmWfo378/LVu2ZJddduH73/8+n3/+eUbraGb84he/YMqUKXTv3p02bdpw7LHH8sEHH1S7HlK/KVEQkZSYWegn/kVXJSUl1ZaNV1hYGFou9hItyLwj6LZt25gzZw7HH388zZs3z2geixYtYuTIkUybNo0///nPDB8+nAsuuIB77723osy0adOYOHEiZ555Jn/729+YNm0aI0eOZOXKlRXzGDFiBN27d+fJJ5/k2WefTasm49xzz6V3797MmDGD0047jWuuuYYrr7ySK664giuvvJInn3yS9evXc9ppp7Fly5aK6e69917OOOMMDjroIJ566immTp3K+++/z7HHHsvatWvTWseYRx99lOeee4677rqLBx54gM8//5xTTz2VrVu3ZrR9pR5wzukTwaewsNBFxr/eKf2PVAI40tgu6ZaPyocffph0eCz+ZJ+pU6dWlJs6dWq1ZeMdfvjhoeXGjRtXUa60tDSjdfn6668d4K666qqUyj/wwAMOcIsXL046ftu2ba68vNxdcMEF7pBDDqkYftFFF7nDDjssdL7Tp093gFu9enVa8cfimTx5csWw8vJy16lTJ9ekSRO3aNGiiuEzZ850gJszZ45zzrm1a9e6tm3buvPPP7/SPBcvXuwKCgrcHXfckdY6Ouf3gf32289t2bKlyrq9/vrraa1bmLD9Ly6GUlcHzuEN6aMaBRFJSXUnkvhf/8XFxdWWjVdWVhZaLr6WorCwMG/rmejTTz/lzDPPZM8996SgoICCggLuv/9+Pv7444oyffv25V//+heXXHIJs2bNYsOGDZXmceihh1JQUMDo0aN56qmnWLZsWVoxDBs2rOLfTZo0Yb/99uOAAw6ge/fuFcN79uwJwBdffAH4uzzWrFnDmDFj2Lp1a8Vnr732omfPnsydOzetdYwZOnQoBQUFFf/v3bs3QJXmDNl5KFEQkZ3WrrvuSosWLfjss88ymn7dunUMHTqUd955h5tvvpnXXnuN+fPn88Mf/pDNmzdXlDvnnHO45557eOuttzjhhBPo0KED3/ve9ypus9xvv/148cUX2b59O2effTa77747/fr149VXX00pjvbt21f6f9OmTZMOA9i0aRNARTIyZMiQiot/7PPee+/xzTffpLWOMR06dKj0/2bNmlVarux8dNeDiOy0mjRpwqBBg3j55ZfZvHlzxUUtVfPmzeOzzz7jtdde4+ijj64Yntgeb2aMHz+e8ePHs2rVKl566SUmTpzID37wA9566y0AjjvuOI477jg2b97M66+/znXXXcfJJ5/MkiVL6NixY/Yrm2DXXXcFfIfI73znO1XGt2nTJq11lIZLiYJInkydOjXqEBqkq666ikGDBnHFFVdUuT0SYPHixaxduzbpnQ+xJoT4qvZVq1Yxc+bM0OW1b9++IkFI9p03a9aMwYMHs27dOk499VQWL15cK4nCUUcdRZs2bVi4cCHnnntuaLlM1lEaFiUKInkS344v+TNw4EBuv/12JkyYwIIFCzjvvPPo2rUrq1at4pVXXuH+++/nscceS5ooHHXUUbRt25aLLrqIyZMns379en71q1/RsWNHVq9eXVGuuLiYNm3acOSRR7LbbrvxySef8Mgjj3D88ccD/u6DuXPnctJJJ7H33nuzYsUKbrrpJrp06cLBBx9cK+vdtm1bbr31Vi666CKWL1/OsGHDaNeuHUuXLuXVV19l0KBBnHXWWSmvozRcShREZKf305/+lCOOOII77riDn/3sZ6xYsYI2bdpQVFTE1KlTGT58eNLpOnXqxIwZM5g4cSIjR46kS5cuXHbZZaxcuZLJkydXlBswYAAPPPAAjzzyCKtXr6ZLly6MHTu2okyfPn14/vnnufrqq1m2bBkdOnTg6KOPZtq0abRo0aLW1nv8+PHsvffe3HrrrTz22GOUl5ez5557MnDgQA499NC01lEaLkvshSz5UVRU5EpLS6NZeMK97CnTvlJJuk9ajPXir+s1CwsWLKBXr15RhyENVE37n5mVOeeK8hhSg6caBZE8GT9+PFD3EwURkXi6PVJERERCKVEQERGRUEoUREREJJQSBRGpQp2cJQra7+omJQoZMrMTzOzvZva1mW02sy/N7H/N7KCoYxPJRkFBARs3bow6DGmANm7cmPbTM6X2KVHIXAegDLgYOB64GvgO8KaZ7RNlYCLZ2G233Vi6dCkbNmzQLzypdc45ysvLWblyJV9++WXFo6el7tDtkRlyzj0OPB4/zMz+CXwEjAR+G0VcUnfVl4tu27ZtAfjqq68oLy+POBppCJo0aULz5s3p2rUrzZs3jzocSaBEIbe+Cf7q7Cr1Wtu2bSsSBhFp2NT0kCUza2xmTc1sf2Aq8DXwRMRhiYiI5IQShey9BWwGPgEOAQY755YlK2hmxWZWamaly5cvz2eMdUM276vfCd51X1hYSGFhYdRh1KyBf08iUpne9ZAlM+sFtAV6AD8DOgNHO+eWVDddg33Xw070nol03/WQbvlI7UTfk+xc9K6H/FONQpaccwucc28FnRu/C7QGroo4LBERkZxQopBDzrlvgYXAflHHIiIikgtKFHLIzDoDPYF/Rx2LiIhILuj2yAyZ2QzgbeBdYA1wAHA5sBU9Q0FERHYSShQy9yYwCpgINAW+AOYAN9XUkVFERKS+UKKQIefcb4DfRB2H1B/jxo2LOgQRkbQpURDJk5KSkqhDEBFJmzozioiISCglCiJ5UlZWRllZWdRhiIikRU0PInlSVOQfJlcvnswoIhJQjYKIiIiEUqIgIiIioZQoiIiISCglCiIiIhJKiYKIiIiEUqIgIiIioXR7pEielJaWRh2CiEjalCiI5ElhYWHUIYiIpE1NDyIiIhJKiYJInhQXF1NcXBx1GCIiaTE9TjYaRUVFLrI2a7PMpsvFvhLlsnPMgnVJ9RhKt3ykdqLvSXYuZlbmnCuKOo6GRDUKIiIiEkqJgoiIiIRSoiAiIiKhlCiIiIhIKCUKIiIiEkoPXBLJk8MPPzzqEERE0qZEQSRPysrKog5BRCRtanoQERGRUEoUREREJJQSBZE8MbOKpzOKiNQXShREREQklBIFERERCaVEQUREREIpURAREZFQShREREQklBIFERERCaUnM4rkydSpU6MOQUQkbUoURPKkuLg46hBERNKmpgcREREJpURBJE9KSkooKSmJOgwRkbSYcy7qGBqkoqIiV1paGs3CM32McC72lSiXnWOxxzGnegylWz5SO9H3JDsXMytzzhVFHUdDohoFERERCaVEQUREREIpURAREZFQShQyZGYjzexpM/vMzDaa2cdmdpOZtYk6NhERkVxRopC5nwHbgGuAE4F7gAuBl81M21VERHYKeuBS5oY755bH/f9VM1sJPAQMAv4eSVQiIiI5pEQhQwlJQsz84O+e+YxF6od6cVukiEgCVZHn1rHB3wWRRiEiIpIjShRyxMz2BG4AZjnnkj5JycyKzazUzEqXL09WISF1zqZN0UwrIlJHKFHIATNrDcwEtgLnh5VzzpU454qcc0WdOnXKW3yShebN/VMKk31iwsY3b15pVoWFhRQWFuZ5BUREsqM+Clkys+bAs0AP4Fjn3JcRhyR11Ntvvx11CCIiaVOikAUzKwCeBo4Ahjjn3os4JBERkZxSopCh4FkJ04DvAic7596MOCQREZGcU6KQuT8A3wd+Daw3s/5x475UE4SIiOwM1Jkxc8OCvz8H5iV8LogqKBERkVxSjUKGnHPdoo5BRESktilREMmTcePGRR2CiEjalCiI5ElJSUnUIYiIpE19FERERCSUEgWRPCkrK6OsrCzqMERE0qKmB5E8KSoqAvQWSRGpX1SjICIiIqGUKIiIiEgoJQoiIiISSomCiIiIhFKiICIiIqGUKIiIiEgo3R4pkielpaVRhyAikjYlCiJ5UlhYGHUIIiJpU9ODiIiIhFKiIJInxcXFFBcXRx2GiEhaTI+TjUZRUZGLrM3aLLPpcrGvRLnsTIXEHBsaGllCzBbMp14cc/Xxe5IGwczKnHNFUcfRkKhGQUREREIpURAREZFQShREREQklBIFERERCaVEQURERELpgUsieXL44YdHHYKISNqUKIjkSVlZWdQhiIikTU0PIiIiEkqJgoiIiIRSoiCSJ2ZW8XRGEZH6QomCiIiIhFKiICIiIqGUKIiIiEgoJQoiIiISSomCiIiIhFKiICIiIqH0ZEaRPJk6dWrUIYiIpE2JgkieFBcXRx2CiEja1PQgIiIioZQoiORJSUkJJSUlUYch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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.hist(image2_classx, bins=20, color='r', histtype='bar', edgecolor='w') \n",
"plt.axvline(actual_2x, color='k', linestyle='-', linewidth=2, label='Target value')\n",
"plt.axvline(image2_xmean, color='k', linestyle='--', linewidth=2, label='Class mean')\n",
"plt.title(\"Histogram for class acuracy in x direction of Image 2\")\n",
"plt.legend()\n",
"plt.xlabel('m')\n",
"\n",
"print(\"The mean for image 1 in the x direction is {:.3f}m with a standard deviation of {:.3f}m where the actual value is {:.3f}m\".format(image2_xmean,image2_xstd,actual_2x))"
]
},
{
"cell_type": "code",
"execution_count": 253,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The mean for image 1 in the z direction is -0.017m with a standard deviation of 0.230m where the actual value is 0.000m\n"
]
},
{
"data": {
"image/png": "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v/rVr0r0W7RoEaeddhqtWrWiQYMGdO/eneeee67ceUjVoyRBJEI9gq6myeTafmV0FWnp0qX07NmTSZMm8cILL3DRRRdx5513MmrUqFJlP/jgAy677DJGjx7Niy++yOGHH45zjsGDBzNz5kwmTJjA9OnT2bx5M2PGjCk1/m233cbpp5/OgQceyBNPPMGdd97JggULOPLII1m/fj2FhYXMmTMHgFGjRjFv3jzmzZvHWWedFRr7KaecQuPGjXnooYdK9P/iiy+YO3cuZ555ZnG/zz//nFGjRvHEE0/w8MMPs++++3Lssccya9asfFZfscWLF9OrVy8WLlzIxIkTmTFjBvvssw+DBw/mpZdeimQeUokSr7ZVV3ld9+7dXV78Y3py6+KUT8xxLm8W8yPokudd3K8a+Oijj0L7k7RscXb52n333d0ZZ5xRbrlt27a5zZs3u7vvvtvVrVvXrV69unhYr169XJ06dUqtqxkzZjjAzZgxo0T/gQMHOsDNmzfPOefcqlWrXKNGjdyFF15Yotwnn3zi6tat6+666y7nnHMbNmxwgPvTn/6U0bKNGDHCdezY0W3btq2437hx41xBQYFbvnx56Dhbt251mzdvdocffrgbNmxYcf+PP/7YAe7hhx8usdzHHHNMqWm0adPGjRo1qvj/4cOHu7Zt27offvihRLnDDz/c9erVq8xlSLf9JQBFrgocw2tTp5oEESlX3AeqRFeRVq1axZgxY+jUqROFhYUUFBRwwQUXsHXrVv7zn5Itm/fee2+6du1aot+bb75JYWEhJ554Yon+Q4cOLfH/a6+9xvr16znjjDPYsmVLcdepUyc6deqUc2uGM888kyVLlvD6668X93vooYc47rjjSryL46233mLQoEG0bt2aunXrUlBQwGuvvcYnn3yS03xTvfjii5x44ok0bty4xPIdffTRzJ8/X49ermaUJIiIACNGjOC+++7j0ksvZebMmcyfP59bbrkFoNSJrW3btqXG/+abb9hpp51KXRZp06ZNif+/+86/3qVPnz4UFBSU6D777DO+//57cjFgwADatWvH1KlTAf+ysQ8//LDEpYbFixczYMAA1q9fz5133sm8efOYP38+/fv3j+TkvXXrVlauXMmUKVNKLdvVV1/Ntm3bWLVqVd7zkcqj1g0iUuutWbOGF154gZtuuomLL764uP/8+fNDy4fdH9G2bVuWL1+Oc67E8P/+978lyu24444ATJ8+nT333LPUdHJ9wVadOnUYPnw49957LxMnTuShhx6iRYsWnHDCCcVlnnvuOdauXcsTTzxRonZh7dq15U6/QYMG/PTTTyX6bdu2jR9++KH4/7p169K8eXOOP/54Lr300tDp6A2j1YuSBBGp9davX49zrsTLrZxzPPDAAxlPo3fv3mzatIlnn32WwYMHF/d/7LHHSpTr27cvDRs2ZPHixZx++ulpp1e/fn3MjA1ZvAX1rLPOYsKECcyYMYOHH36YYcOGlWiauX79esC/TCnhgw8+oKioKDRhSbb77rvzyiuvsHXrVurWrQvAzJkzS7X+OPbYY3n33XfZb7/91Cy0BlCSICK1Xps2bTjggAMYP348rVq1YocddmDKlCmsWLEi42mceOKJ9OzZk3PPPZcbbriBDh068MgjjxRf669Tx1/dbdmyJePHj2fMmDF8/fXXHHPMMTRt2pSvvvqKWbNmMWjQIIYOHUqdOnXYe++9mTFjBv3796d58+bsuuuu7Lzzzmlj2G+//ejWrRujR4/m22+/LXGpAeDoo4/myiuvZMSIEVxyySV8+eWXXHvttey2227lLt9pp53Ggw8+yPnnn88ZZ5zBokWLmDhxIo0bNy5R7oYbbqBXr17069ePX//61+y2226sWrWK9957j6+//ppJkyZlvE6lCoj7RqTa2Kl1Qw4xV5PWDUVBV9NaN9QUZbVu+Oyzz9zAgQNd48aNXevWrd0ll1zinnzyyRItE5zzd/kfddRRodP45ptv3NChQ13jxo3dDjvs4M4991w3ZcoUB7iFCxeWKPv000+7vn37uiZNmriGDRu6zp07u/POO69EuVmzZrlu3bq5+vXrO8CNGzeu3GWcMGGCA1ynTp1Ch0+dOtXtueeerrCw0O27777u8ccfd6eeeqrbe++9i8uEtW5wzrmJEye6Tp06uQYNGrg+ffq4d955p1TrBuecW7p0qTvnnHNc27ZtXUFBgWvbtq07+uijS00vlVo3VL3O/HqXytSjRw9XVFSU+wTyaS8e5/eda9zO5TduvvKcd+L6dHXY1z7++ONSd+1Lfs477zyeeOIJVqxYUaKaX0orb/szswXOuZr4KJIqS1usiEhE7rnnHjZu3EiXLl3YtGkTzz//PPfddx/XXHONEgSplrTVikRoZPCpFz3VTo0aNWLixIksWbKEn376iU6dOjFhwoS0d/qLVHVKEkQidHfwqSShdho+fDjDhw+POwyRyOhhSiIiIhJKSYKIiIiEUpIgIiIioZQkiIiISCglCSIiIhJKrRtEInRQ3AGIiERISYJIhBbEHYCISIR0uUFEaoV58+YxbNgw2rVrR/369dlxxx0ZOHAgDzzwAFu3bgXg/vvvx8xYunRpvMGKVBFKEkSkxrvttts47LDDWLlyJTfeeCMzZ87kb3/7G3vttRcXXnghf//73+MOUaRK0uUGkQglXgVV9V/lVHvMnTuX0aNH8z//8z9MnDixxORPQWAAABYeSURBVLCTTjqJ0aNHs27dupiiE6naVJMgIjXa+PHjadmyJTfddFPo8D322IP9998/7fiPPPII/fv3Z6eddqJJkyYceOCBPPDAA6XK3X777XTt2pWGDRvSokULevTowVNPPVU8/KWXXuLQQw+lefPmNGnShL333pvrr7++zNgTlz/eeOMNhg0bRtOmTWnTpg3jxo0D4MUXX+TAAw+kcePG9OzZkwULSt8V8+STT9K7d28aNWrEDjvswC9+8QuWLVuW0zKaGVdddRUTJ06kY8eONG3alCOOOIIPP/ywzOWQ6ktJgohkxMzSdlOmbH9bxZQpU8osm6x79+5py40cObK4XNjJLxNbt25l9uzZHH300TRo0CCnaSxevJihQ4cybdo0nn76aU488UTOP/98Jk2aVFxm2rRpjBkzhtNPP53nn3+eadOmMXToUFauXFk8jcGDB9OxY0ceffRRnnnmmaxqMM4++2z2228/nnrqKYYMGcKVV17JH/7wBy677DL+8Ic/8Oijj7Ju3TqGDBnCTz/9VDzepEmTOOWUU9hnn314/PHHmTx5Mh988AFHHHEEa9asyWoZEx566CGee+45br/9du677z6WLVvGSSedxJYtW3Jav1LFOefUVXLXvXt3lxfIvYtTPjHHubxZzI+gS553cb9q4KOPPko7jKTlS+0mT55cXG7y5Mlllk120EEHpS13wQUXFJcrKirKaXm+/fZbB7jLL788o/L33XefA9ySJUtCh2/dutVt3rzZnX/++W7//fcv7n/RRRe5Aw88MO10H3vsMQe4H3/8Mav4E/GMHTu2uN/mzZvdTjvt5OrVq+cWL15c3H/GjBkOcLNnz3bOObdmzRrXrFkzd+6555aY5pIlS1xBQYG79dZbs1pG5/w20LlzZ/fTTz+VWrbXX389q2ULU9b2F8y/yFWBY3ht6lSTICIZKetAkvyrf+TIkWWWTbZgwYK05ZJrJ7p3715py5nqs88+4/TTT2eXXXahoKCAgoIC7rnnHj755JPiMj179uSdd97h4osvZubMmaxfv77ENA444AAKCgo47bTTePzxx/nuu++yimHQoEHFf9erV4/OnTuz11570bFjx+L+Xbp0AeCLL74AfGuO1atXc8YZZ7Bly5bibtddd6VLly7MnTs3q2VMGDhwIAUFBcX/77fffgClLmFIzaAkQURqrB133JGGDRvy+eef5zT+2rVrGThwIO+++y7jx4/ntddeY/78+fzyl79k06ZNxeXOOuss7rrrLt566y2OOeYYWrZsyc9//vPippSdO3fmpZdeYtu2bZx55pnsvPPO9OrVizlz5mQUR4sWLUr8X79+/dB+ABs3bgQoTkQGDBhQfOJPdO+//z7ff/99VsuY0LJlyxL/FxYWlpiv1Cxq3SAiNVa9evXo168fr7zyCps2bSo+oWVq3rx5fP7557z22mv06dOnuH/q9XczY9SoUYwaNYpVq1bx8ssvM2bMGE499VTeeustAI488kiOPPJINm3axOuvv84111zD8ccfz9KlS2nVqlX+C5tixx13BPzNjz/72c9KDW/atGlWyyi1k5IEkQhNjjsAKeXyyy+nX79+XHbZZaWaQAIsWbKENWvWhLZwSFw2SK5eX7VqFTNmzEg7vxYtWhQnB5Mnl94iCgsL6d+/P2vXruWkk05iyZIlFZIkHHrooTRt2pRFixZx9tlnpy2XyzJK7aEkQSRCI8svIpWsb9++3HLLLYwePZqPP/6Yc845h912241Vq1bx6quvcs899zB9+vTQJOHQQw+lWbNmXHTRRYwdO5Z169bx5z//mVatWvHjjz8Wlxs5ciRNmzblkEMOoXXr1nz66adMnTqVo48+GvCtDObOnctxxx1H+/btWbFiBePGjaNdu3bsu+++FbLczZo14+abb+aiiy5i+fLlDBo0iObNm/PVV18xZ84c+vXrx/DhwzNeRqmdlCSISI3329/+loMPPphbb72V3/3ud6xYsYKmTZvSo0cPJk+ezIknnhg63k477cRTTz3FmDFjGDp0KO3ateOSSy5h5cqVjB07trjcYYcdxn333cfU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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.hist(image2_classz, bins=20, color='r', histtype='bar', edgecolor='w') \n",
"plt.axvline(actual_2z, color='k', linestyle='-', linewidth=2, label='Target value')\n",
"plt.axvline(image2_zmean, color='k', linestyle='--', linewidth=2, label='Class mean')\n",
"plt.title(\"Histogram for class acuracy in z direction of Image 2\")\n",
"plt.legend()\n",
"plt.xlabel('m')\n",
"\n",
"print(\"The mean for image 1 in the z direction is {:.3f}m with a standard deviation of {:.3f}m where the actual value is {:.3f}m\".format(image2_ymean,image2_ystd,actual_2y))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Project Deliverable 2**\n",
"\n",
"The following code creates a function for our theoretical robot. Given the range of possible values for theta and velocity and the number of throws, the function returns an array of the z values from the throw. A histogram is also provided to show the distribution of the throw."
]
},
{
"cell_type": "code",
"execution_count": 264,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Text(0.5, 1.0, 'projected robot throw distribution for given initial conditions')"
]
},
"execution_count": 264,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"#creating a MonteCarlo model (function) to calculate impact heights for uncertainty in theta and velocity\n",
"def robot_throw(theta_upperbound,theta_lowerbound,velocity_upperbound,velocity_lowerbound,number_throws):\n",
" theta = theta_lowerbound + np.random.rand(number_throws)*((theta_upperbound)-(theta_lowerbound))\n",
" velocity = velocity_lowerbound +np.random.rand(number_throws)*((velocity_upperbound)-(velocity_lowerbound))\n",
" \n",
" #governing equation\n",
" zimpact=(3*np.tan(theta))-(44.15/(((velocity**2)*(np.cos(theta))**2)))+0.3\n",
" return zimpact\n",
"\n",
"#example of function for pi/6<theta<pi/3 and 4<v<12\n",
"example = robot_throw((np.pi/3),(np.pi/6),12,4,27)\n",
"\n",
"#plotting distribution\n",
"plt.hist(example, bins=20, color='b', histtype='bar', edgecolor='w') \n",
"plt.title(\"projected robot throw distribution for given initial conditions\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Project Deliverable 3**\n",
"\n",
"The following blocks of code attempt to use the MonteCarlo \"robot\" to find the uncertainty of theta and velocity to recreate the class's accuracy & precision by using histograms, boxplots, quartiles analysis, and std and mean analysis"
]
},
{
"cell_type": "code",
"execution_count": 255,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"the mean of the projected throws is -0.019m and the standard deviation is 0.372m\n"
]
},
{
"data": {
"image/png": "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jTvrrLOS8r399tuuefPm7oYbbnDOObdq1SoHuN/+9rdZ1e2kk05yvXr1chs2bKhJu/zyy11JSYlbvHhx5DDr1693a9eudfvvv78bO3ZsTfr8+fMd4O6+++6keh9yyCG1xtG9e3dXUVFR8/uEE05wPXr0cF999VVSvv33398NGjSoznqkW/6yEbWM5GO5kWiQW9dUpw1UuRhsw5tapyPrTazQDZ7oGsuyZcuYOHEivXv3prS0lJKSEsaNG8f69ev53/+Sn4jbZZdd2HXXXZPSXnzxRUpLSxk1alRS+pgxY5J+z5kzh5UrV3LiiSeybt26mq5379707t0757u/Tz75ZBYuXMgLL7xQk3bHHXdw+OGH06VLl5q0l156icMOO4xu3brRvHlzSkpKmDNnDm+//XZO0031xBNPMGrUKNq2bZtUv5EjRzJv3jy9TlSkyChYS16ddNJJTJs2jV/84hc888wzzJs3j6uvvhqgVoDp0aNHreE//fRTunbtWutUfffu3ZN+f/GFf337kCFDKCkpSereffddvvzyS3Jx8MEHs/XWW3P77bcD/qMWb7zxRtIp8AULFnDwwQezcuVKrr/+eubOncu8efM48MAD8xJE169fz9KlS6msrKxVt4suuogNGzawbNmyBk9HRJqOor0bXPLvm2++4fHHH+cPf/gD55xzTk36vHnzIvNHXTvv0aMHixcvxjmX1P/zzz9PyrflllsCcNddd7HTTjvVGk+HDh1yqkOzZs044YQT+Otf/8qUKVO444476NSpE9///vdr8jz66KOsWLGCBx54IOloe8WKFXWOv1WrVrW+b75hwwa++uqrmt/NmzenY8eOHHHEEfziF7+IHE94uiKy+VOwlrxZuXIlzjlKSkpq0pxz3HrrrVmPY/DgwaxZs4Z//OMfjB49uib9vvvuS8o3dOhQWrduzYIFCzj++OPTjq9ly5aYGatWrcq6DKeccgpXXXUVM2bM4O6772bs2LFJj5StXLkSIOlDLa+//jpVVVWROw5hO+ywA08//TTr16+nefPmADzzzDO17pY/9NBDefXVV9lzzz31OJuIKFhL/nTv3p3+/fszefJkunTpwhZbbEFlZSVLlizJehyjRo1i4MCBnH766fz+97+nZ8+e3HPPPTXXgps181duOnfuzOTJk5k4cSKffPIJhxxyCO3bt+fjjz9m5syZHHbYYYwZM4ZmzZqxyy67MGPGDA488EA6duzItttuy1ZbbZW2DHvuuSf9+vVjwoQJfPbZZ0mnwAFGjhzJr371K0466STOPfdcPvroIy655BK23377Out33HHHcdttt3HmmWdy4okn8t577zFlyhTatm2blO/3v/89gwYNYtiwYfzkJz9h++23Z9myZfz3v//lk08+4cYbb8x6norIZqDQNzo11S7Xu8E3B5nuBn/33XfdiBEjXNu2bV23bt3cueee6x588MGkO7md83dFH3TQQZHj+PTTT92YMWNc27Zt3RZbbOFOP/10V1lZ6QD31ltvJeV9+OGH3dChQ127du1c69atXZ8+fdwZZ5yRlG/mzJmuX79+rmXLlg5wl19+eZ11vOqqqxzgevfuHdn/9ttvdzvttJMrLS11e+yxh7v//vvdD3/4Q7fLLrvU5Im6G9w556ZMmeJ69+7tWrVq5YYMGeJeeeWVWneDO+fcokWL3GmnneZ69OjhSkpKXI8ePdzIkSNrjS9KQ5a/qqoqV1VVlZSG7gZvNLobXF02nfl5J/VVXl7uqqqq0vafP39+rTudJXdnnHEGDzzwAEuWLNF3wrOQ7+Uvcf+Athf5l+trD/LRFIWYtplVO+f0IH89aasnsXPzzTezevVq+vbty5o1a3jssceYNm0aF198sQK1iBQlbfkkdtq0acOUKVNYuHAh3333Hb179+aqq65Ke2e05Nf48eMBfdBDJE50GjxHOg0ucdaQ5S/qlLdOgzcenQaXbOilKCIiIjGnYC0iIhJzCtYiIiIxp2AtIiIScwrWIiIiMadHt0QkyYABAwpdBBFJoWAtIkmqq6sLXQQRSaHT4FIvc+fOZezYsWy99da0bNmSLbfckhEjRnDrrbeyfv16AKZPn46ZsWjRosIWVkRkM6FgLVm79tpr2W+//Vi6dClXXHEFzzzzDLfccgs777wzZ511Fo888kihiygislnSaXDJyvPPP8+ECRP46U9/ypQpU5L6HXnkkUyYMIFvv/22QKWTfNLbykTiR0fWkpXJkyfTuXNn/vCHP0T233HHHdlrr73SDn/PPfdw4IEH0rVrV9q1a8fee+/NrbfeWivfddddx6677krr1q3p1KkT5eXlPPTQQzX9n3zySfbdd186duxIu3bt2GWXXbjssssylj1xWv5f//oXY8eOpX379nTv3p3LL78cgCeeeIK9996btm3bMnDgwMhrtg8++CCDBw+mTZs2bLHFFvzgBz/ggw8+yKmOZsZvfvMbpkyZQq9evWjfvj0HHHAAb7zxRsZ6iEjxUrAuADNL24U/nlBZWZkxb1hZWVnafIkPM0BuNw+tX7+eWbNmMXLkSFq1apVTnRcsWMCYMWO48847efjhhxk1ahRnnnkmN954Y02eO++8k4kTJ3L88cfz2GOPceeddzJmzBiWLl1aM47Ro0fTq1cv7r33Xv7+97/X64j+1FNPZc899+Shhx7iqKOO4le/+hXnn38+5513Hueffz733nsv37CESwAAABd4SURBVH77LUcddRTfffddzXA33ngjxx57LLvtthv3338/U6dO5fXXX+eAAw7gm2++qVcdE+644w4effRRrrvuOqZNm8YHH3zAkUceybp163KavyKymSv0B7WbaldWVuYyefPNN9P2A9J2U6dOrck3derUjHnDBgwYkDbfuHHjavJVVVVlLHeUzz77zAHuggsuyCr/tGnTHOAWLlwY2X/9+vVu7dq17swzz3R77bVXTfrZZ5/t9t5777Tjve+++xzgli9fXq/yJ8pz6aWX1qStXbvWde3a1bVo0cItWLCgJn3GjBkOcLNmzXLOOffNN9+4Dh06uNNPPz1pnAsXLnQlJSXummuuqVcdnfPt36dPH/fdd9/VqtsLL7xQr7qlk2n5q0vU8hWVJvnhP4tR/66pThuocjHYhje1TkfWBZCpQcJHwePHj8+YN6y6ujptvvDRellZ2SarZ9i7777L8ccfzzbbbENJSQklJSXcfPPNvP322zV5Bg4cyCuvvMI555zDM888w8qVK5PG0b9/f0pKSjjuuOO4//77+eKLL+pVhsMOO6zm/xYtWtCnTx923nlnevXqVZPet29fAD788EPA3/3+9ddfc+KJJ7Ju3bqabtttt6Vv3748//zz9apjwogRIygpKan5veeeewLUOrUuIgI6DS5Z2HLLLWndujXvv/9+TsOvWLGCESNG8OqrrzJ58mTmzJnDvHnz+NGPfsSaNWtq8p1yyinccMMNvPTSSxxyyCF07tyZY445puYRsD59+vDkk0+yYcMGTj75ZLbaaisGDRrE7NmzsypHp06dkn63bNkyMg1g9erVADU7BAcffHBNAE50r732Gl9++WW96pjQuXPnpN+lpaVJ0xURCdPd4FKnFi1aMGzYMJ5++mnWrFlTE1iyNXfuXN5//33mzJnDkCFDatJTr8+aGRUVFVRUVLBs2TKeeuopJk6cyA9/+ENeeuklAIYPH87w4cNZs2YNL7zwAhdffDFHHHEEixYtokuXLg2vbIott9wS8Dep7b777rX6t2/fvl51FBHJhYK1ZOWCCy5g2LBhnHfeebUe3QJYuHAh33zzTeQd4YnT2eHTvsuWLWPGjBlpp9epU6eaID116tRa/UtLSznwwANZsWIFRx55JAsXLmyUYL3vvvvSvn173nvvPU499dS0+XKpY1xFzW8RKSwFa8nK0KFDufrqq5kwYQLz58/ntNNOY/vtt2fZsmU8++yz3Hzzzdx1112RwXrfffelQ4cOnH322Vx66aV8++23/O53v6NLly4sX768Jt/48eNp37493/ve9+jWrRvvvPMOt99+OyNHjgT8XdnPP/88hx9+ONtttx1Llizh8ssvZ+utt2aPPfZolHp36NCBK6+8krPPPpvFixdz2GGH0bFjRz7++GNmz57NsGHDOOGEE7KuY1MQvm9CROJBwVqy9vOf/5x99tmHa665hl/+8pcsWbKE9u3bU15eztSpUxk1alTkcF27duWhhx5i4sSJjBkzhq233ppzzz2XpUuXcumll9bk22+//Zg2bRq33347y5cvZ+utt+akk06qydOvXz8ef/xxLrzwQr744gs6d+7MkCFDuPPOO2ndunWj1buiooLtttuOK6+8krvuuou1a9eyzTbbMHToUPr371+vOoqI5MJS7yqW7JSXl7uqqqq0/efPn8+uu+66CUskslFDlr/E0wPhI2y91azxpLwyIWv5aIpCTNvMqp1z5bmPoTjpyFpEklRUVAA6HS4SJ3p0S0REJOYUrEVERGJOwVpERCTmFKwbkW7GkULQciey+VGwbiQlJSWsWrWq0MWQIrRq1aqkl7OISNOnYN1IunXrxscff8zKlSt1pCObhHOOlStX8vHHH9OtW7dCF0dE8kiPbjWSDh06APDJJ5+wdu3aApdGikVJSQndu3evWf5yoZ1LkfhRsG5EHTp0aNBGU0REBHQaXEREJPYUrEUkSVlZGWVlZYUuhoiE6DS4iCR5+eWXC10EEUmhI2sREZGYU7AWERGJOQVrERGRmFOwFhERiTkFaxERkZjT3eAikmTcuHGFLoKIpFCwFpEk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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"#ince the image contains 27 data points, the following code uses 27 random numbers to recreate the class's accuracy\n",
"\n",
"#guess and check for range of theta values using 27 random numbers \n",
"theta2 = (np.pi/6)+np.random.rand(27)*((np.pi/4)-(np.pi/6))\n",
"\n",
"#guess and check for range of velocity values using 27 random numbers\n",
"vi2 = 4.65+(5.75-4.65)*np.random.rand(27)\n",
"\n",
"#creating function to caluclate z position\n",
"zimpact2=(3*np.tan(theta2))-(44.15/(((vi2**2)*(np.cos(theta2))**2)))+0.3\n",
"mean2= np.mean(zimpact2)\n",
"std2= np.std(zimpact2)\n",
"plt.hist(zimpact2, bins=20, color='b', histtype='bar', edgecolor='w') \n",
"plt.axvline(0, color='k', linestyle='-', linewidth=2, label='Target value')\n",
"plt.axvline(mean2, color='k', linestyle='--', linewidth=2, label='Class mean')\n",
"plt.title(\"Histogram for projected robot throw in z direction\")\n",
"plt.legend()\n",
"plt.xlabel('m')\n",
"\n",
"print(\"the mean of the projected throws is {:.3f}m and the standard deviation is {:.3f}m\".format(mean2,std2))"
]
},
{
"cell_type": "code",
"execution_count": 249,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The first quartile for the data from the robot throw is -0.281m\n",
"The second quartile for the data from the robot throw is -0.006m\n",
"The third quartile for the data from the robot throw is 0.251m\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.boxplot(zimpact2)\n",
"plt.title(\"Boxplot for projected robot throw distribution\")\n",
"\n",
"quartiles_zimpact2 = np.percentile(zimpact2, q=[25, 50, 75])\n",
"\n",
"print('The first quartile for the data from the robot throw is {:.3f}m'.format(quartiles_zimpact2[0]))\n",
"print('The second quartile for the data from the robot throw is {:.3f}m'.format(quartiles_zimpact2[1]))\n",
"print('The third quartile for the data from the robot throw is {:.3f}m'.format(quartiles_zimpact2[2]))"
]
},
{
"cell_type": "code",
"execution_count": 242,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The first quartile for image 1 is -0.292m\n",
"The second quartile for image 1 is -0.066m\n",
"The third quartile for image 1 is 0.154m\n"
]
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"plt.boxplot(image1_classz)\n",
"plt.title(\"Boxplot for class throw distribution for Image 1\")\n",
"\n",
"quartiles_image1_classz = np.percentile(image1_classz, q=[25, 50, 75])\n",
"\n",
"print('The first quartile for image 1 is {:.3f}m'.format(quartiles_image1_classz[0]))\n",
"print('The second quartile for image 1 is {:.3f}m'.format(quartiles_image1_classz[1]))\n",
"print('The third quartile for image 1 is {:.3f}m'.format(quartiles_image1_classz[2]))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Project Deliverable 3 Analysis**\n",
"\n",
"If the robot throws the projectile with a range for the initial velocity of 5.2 +/- 0.55 m/s, and a range of angles for theta from 30 to 45 degrees, the robot distribution is very similar to the class's distribution for Image 1. As demonstrated above, the two projections share very similar first, second, and third quartiles for the data. The Image 1 mean was -0.072m with a standard deviation of 0.271m. The robot distribution has a mean of -0.019m and a standard deviation of 0.328m. Both distributions share very similar means, standard deviations, and range of values for the z location data as demonstrated by the boxplots and histograms above."
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"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.7.3"
}
},
"nbformat": 4,
"nbformat_minor": 4
}