Skip to content
Permalink
76d2a9dec0
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
586 lines (586 sloc) 116 KB
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Computational Mechanics Project #02 - Create specifications for a my 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": 1,
"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\n",
"\n",
"target_data = pd.read_csv(\"../data/target_data.csv\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Part 1: Statistical Analysis**\n",
"\n",
"We perform a statistical analysis of x and z position class data by generating mean, standard deviation and quartiles for each distribution."
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"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": [
"x_position = target_data[' x position (m)']\n",
"z_position = target_data[' y position (m)']\n",
"plt.hist(x_position, bins=10);\n",
"plt.hist(z_position, bins=10);"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The mean of x_position 0.01207963411779779\n",
"The standard deviation of x_position 0.25716367278418045\n",
"The first quartile for x_position -0.16854422326722185\n",
"The second quartile for x_position 0.028452517775170515\n",
"The third quartile for x_position 0.1670894539891312\n"
]
}
],
"source": [
"mean_x = np.mean(x_position)\n",
"std_x = np.std(x_position)\n",
"print('The mean of x_position', mean_x)\n",
"print('The standard deviation of x_position', std_x)\n",
"\n",
"quartiles_x = np.percentile(x_position, q = [25,50,75])\n",
"print('The first quartile for x_position', quartiles_x[0])\n",
"print('The second quartile for x_position', quartiles_x[1])\n",
"print('The third quartile for x_position', quartiles_x[2])"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"The mean of z_position -0.047397370492807414\n",
"The standard deviation of z_position 0.2548611138551949\n",
"The first quartile for z_position -0.21785495681409592\n",
"The second quartile for z_position -0.070851135369002\n",
"The third quartile for z_position 0.13222390283592378\n"
]
}
],
"source": [
"mean_z = np.mean(z_position)\n",
"std_z = np.std(z_position)\n",
"print('The mean of z_position', mean_z)\n",
"print('The standard deviation of z_position', std_z)\n",
"\n",
"quartiles_z = np.percentile(z_position, q = [25,50,75])\n",
"print('The first quartile for z_position', quartiles_z[0])\n",
"print('The second quartile for z_position', quartiles_z[1])\n",
"print('The third quartile for z_position', quartiles_z[2])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Part 2-3: Monte Carlo Model**"
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [],
"source": [
"def z_impact(theta,v_0):\n",
" d=3\n",
" g=9.81\n",
" z_0=0.3\n",
" factor = np.divide(d,np.cos(theta))\n",
" stuff = np.sin(theta) - np.divide(((g*d)/2),(v_0**2*np.cos(theta)))\n",
" return factor*stuff + z_0"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We are generating a Monte Carlo model in order to determine what range of angle and initial velocities we can use for a robot so that it can get as close as possible to the class data. Any random number generator is only pseudo-random so we want to analyze how close we can get to modeling a truly random process such as the class data.\n",
"\n",
"1. First, we make a contour plot in order to determine our phase space. The goal is to find a value for the initial velocity and angle such that z_impact will be close to the mean of the class z-values above. These will also be the fixed mean values for the angle and intial velocity. \n",
"\n",
"2. Once we have the mean, we generate a normal distribution of the angle and intial velocity and we vary their standard deviations until the standard deviation of z-impact matches that of the class data."
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.colorbar.Colorbar at 0x7f1d06de5588>"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 2 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"V,A = np.meshgrid(np.linspace(6,6.7,100),np.linspace(0,np.pi/12,100))\n",
"\n",
"Z = z_impact(A,V)\n",
"\n",
"plt.contourf(V,A,Z)\n",
"plt.colorbar()"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0.24966442830554178\n",
"-0.04771200042249688\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": [
"v_0 = np.random.normal(6.6, 0.695, 150)\n",
"theta = np.random.normal(0.25, 0.0095,150)\n",
"z_result = z_impact(theta, v_0)\n",
"plt.hist(z_result, range = [-0.6,.5], color=\"teal\", label= \"robot\");\n",
"plt.hist(z_position,color=\"purple\", label =\"original\")\n",
"plt.legend(loc=\"best\")\n",
"print(np.std(z_result))\n",
"print(np.mean(z_result))"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We obtain a standard deviation of about 0.24966 m and a mean of -0.047712 m for the the robot compared to a standard deviation of 0.25486 m mean of -0.04739 m for the class data. Since, we are using a small number of counts for the normal distribution for the intial velocity and angle there is a lot of variation in the data however, we can see visually that the mean and standard deviation of the the two distributions is pretty close.\n",
"\n",
"Below, a boxplot is plotted to further indicate how the distributions compare visually. The Monte Carlo generated model is boxplot 1 and the original data is boxplot 2. We can see that the medians and quartiles are approximately the same. There is some outliers in boxplot 1 due to having more counts than the original data had. However, as the number of counts is increased, the Monte Carlo model will approach the original data but will never actually get there due to truncation errors."
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"outputs": [
{
"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": [
"v_0 = np.random.normal(6.6, 0.695, 10000)\n",
"theta = np.random.normal(0.25, 0.0095,10000)\n",
"z_result = z_impact(theta, v_0)\n",
"plt.figure(2)\n",
"impacts = [z_result, z_position]\n",
"plt.boxplot(impacts);"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Part 4: BONUS**\n",
"\n",
"Now, we want to consider than x_impact may vary so we have to account for the different velocity components. Using our results from the previous part, we can find the $V_{z}$ and $V_{y}$ velocity components using the angle $\\theta$.\n",
"\n",
"1. $$V_{z} = V_{0} sin(\\theta)$$\n",
"\n",
"2. $$V_{y} = V_{0} cos(\\theta)$$\n",
"\n",
"3. $$V_{x} = \\sqrt{V_{0}^{2} - V_{y}^{2} - V_{z}^{2}}$$"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"outputs": [],
"source": [
"def z_impact2(V_z,V_y):\n",
" d=3\n",
" g=9.81\n",
" z_0=0.3\n",
" stuff = np.divide(V_z,V_y) - np.divide((g*d/2),V_y**2)\n",
" return d*stuff+z_0"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We generate a phase space plot for the z_impact values so that we can match the mean once again, but this time our function depends on the $V_{y}$ and $V_{z}$ velocity components. We repeated the same procedure as above (once finding the mean, we generated normal distributions of the random variables and varied the standard deviations until z_impact matched the class data)."
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.colorbar.Colorbar at 0x7f1d06ed1d68>"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAYMAAAEDCAYAAADX1GjKAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8li6FKAAAgAElEQVR4nO3df7xV1Xnn8c8XEAjGNNdRQ4zyw5CJYE0yljQ2GkOIipIWdDTqqPFXVTR2QiaJaaijMWoqiY5SpYlca2Neoo2j1WqMEYigmZrQljjSeg2xEK5IRiIIioiAhGf+WPvYw+Hcc/b5ffbaz/v1Oq9z7zp77b22ePdznrX2XktmhnPOuXwb1OkGOOec6zwPBs455zwYOOec82DgnHMODwbOOefwYOCcc44UwUDSE5JsgNdjVeoOl3SDpJckvSnp55KOaV7znXOue0k6WNL9kl6TtFnSA5JGpag3WtJDkl5Irp0bkmvxia1q65AU23weeFdJ2R8BNwEPV6l7B/AZ4HLg18BlwAJJf2Rmz9TYVuecywxJI4DFwHbgXMCA64Alkj5kZm9UqP5OYAPwP4G1hGvwRcCjkk4xswea3t56HjqTdAdwNvBeM9s4wDYfBp4BLjCz7yVlQ4A+4FdmNq3uVjvnXJeTNJPwpfmDZrYyKRsL/DvwVTO7qcb9DQFWA8+Y2Z80u701jxlIegfwWeCHAwWCxDTgLeDeQoGZ7QR+AEyRNKzWYzvnXIZMA5YWAgGAma0GngKm17qz5Pr5GuG62nT1DCD/V2Af4PtVtjsMWG1mW0vK+4ChwLg6ju2cc1lxGPBsmfI+YEKaHUgaJGmIpJGSrgT+M/DXTWzj29KMGZQ6B3gZ+HGV7fYFNpUp31j0eVmSLgYuBtBeQ/9g6P4H1NHMzrCh+Z3raejQnZ1uQke8a8i2TjehY3oGl37X65y+f3trg5nt38g+PjFpuG3auCvt8fqA4n/8XjPrLfq90jWwJ2WTvg18Ofl5C3CGmT2esm5NagoGkg4EjgX+KklZKm5OGDApV15R8h+0F2D4+w620Zd8qZZmdtz2UTs63YSOGHPQ+k43oWOOG7mi003oiFPf9XSnm/C2Q0e99EKj+9i0cRd//6P90h5vm5lNrLJZXdfAInMIXesjCV/E75F0qpk9UsM+Uqm1m+jspE61LiII0a/ct/+eos9dRPrXNvSlzGXQ/ZuP6HQTutkmBr4GlssY9mBma81smZk9YmanAUuBG5vYxrfVGgzOAZab2fIU2/YBY5Pbq4pNAHYAK/esEodha4Z2ugmuzRatO7TTTXDdp48wblBqAvBcnftcRovGW1MHA0kTCSeWJiuA8AzCXoQ7jwr7GAKcDiw0s+01tNNlhGcHzr3tYeBISYcUCiSNAY6i+jNae5A0CDgaWNWk9u2mlszgHGAncE/pB8nTcjslXVUoSx4quxeYI+lCSZ8m9H2NBb7eWLO7n2cHLi+8q2hAtwP9wEOSpkuaBjwEvAjMK2xU7vop6WpJt0g6XdInJZ0OPAb8IS26fqYKBpL2Av4b8JiZ/bbcJsDgMvs7H/ge4am7HwEHAyeYWfeMOrmmy2t24F1FrljyhPFk4HngLuBuwkNjk81sS9Gm5a6fTwO/D9wKLCTcVbQN+ISZ/aAV7U11N5GZvQUM+BduZv2UGSE3szeBLyWv3Bm2Zmhu7yxy+XL/5iO66s6ibmFma4BTqmzTT8n108wepo6upEb4rKWuJTw7cC5bPBi0mI8dOOeywINBG+Q1IHh2kC8+kJxtHgycc855MGgXzw7yxbMDlzUeDJxzznkwaCfPDvIlr9mByyYPBs65pvKuomzyYNBmnh0457qRBwPnWiivXUWeHWSPB4MO8OzAOddtPBg412KeHbgs8GDQIZ4dOOe6iQcD59ogr9mByw4PBh3k2YGLXd67iiQdLOl+Sa9J2izpAUmjUtSbKKlX0gpJWyWtkXS3pLGtaqsHgw7La0DII88O8iVZ/30xcChwLvA54APAEkl7V6l+BmGZ4VuAE4GvAUcAyyQd3Ir2plrcxrlm61+7P2MOWt/pZrg2yPHCNxcBhwAfNLOVAJL+Ffh3YAZwU4W63zKz3f5AJD1FWCntIuCqsrUa4JlBF/DsID88O8iVacDSQiAAMLPVwFPA9EoVSwNBUvYCsB54X5PbCXgwcB3kYwf5kdOxg8OAZ8uU9wETat2ZpPHAAcAvG2xXWR4MuoRnB/nh2UFu7AtsKlO+EeipZUeShgC3ETKDOxpv2p58zMB1lI8duG6y6XcjashifrSfpGVFBb1m1luykZWpqDqaNhf4OPAZMysXYBrmwaCLDFszlO2jdnS6Gc61RIQDyRvMbGKFzzcRsoNSPZTPGMqSdD1wMXCumS2srYnpeTeR67g8jh14V1Eu9BHGDUpNAJ5LswNJVxBuK51pZnc1sW178GDQZXzswMUsZwPJDwNHSjqkUCBpDHBU8llFkr4AXAdcYWa3tqiNb/Ng0IXyGBA8O3ARuh3oBx6SNF3SNOAh4EVgXmEjSaMl7ZR0VVHZGcAc4DFgsaQji14134mURtcHg8Hehe5cVPKSHZjZG8Bk4HngLuBuwkNjk81sS9GmAgaz+/X4hKT8BODnJa/vtKK9PoDcpfI4mJzHO4sWrTuU40au6HQzXIuY2RrglCrb9FNyh5GZnQec16p2ldP1mQHAPi+UuzvLOedcs2QiGEA+A4KPHeRDHscO8tJVlCWZCQbOOedaJ1PBwLODfPDsIB88O+guqYOBpKmSfippS7JIwzJJk6vUGSXp+8nCDFslPS/puhRzeTvnnGujVMFA0gzC/bG/AE4GPgvcB4yoUGdv4CfAMcCVwGeAvwG+DPxtvQ327CAfPDvIB88OukfVW0uTJ+bmAJeb2ZyijxZUqXoUYVWfKUXzaSyRtC/wFUkjzGxr7U0OAeH10fXM9eScc66cNJnBBcAuwvSptSh8nd1cUv5qcly/mtfAs4N8yGN24LpDmmBwNLACOEPSquSx6ZWSLqtS7yeE5d2+JWmCpHcmYwwzgduSp/Pq5t1FzsXBu4q6Q5pgcCChu+cGYDZwPLAImCtp5kCVzGwbIZAMIsze9zrwOPAI8GeVDijp4mSAetnONxuKGS7jPDtwrj3SBINBwD7ADDO73cwWm9mlhAmUZkkq290jaThwL2GZts8BnwQuB04H/rrSAc2s18wmmtnEIe8Y+MYjzw6ci4NnB52XJhi8krwvKilfCLwHeO8A9f4UmARMNbP5ZvZTM7uRcDfRJZI+XEd795DHgJA3ecwOnGu3NMGgb4DyQkawa4DPDwc2mdmqkvJ/Tt7Hpzi2K8Ozg/jlsavIs4POShMMHkzep5SUTwHWmtm6AeqtA3okjSsp/1jy/pt0TazOs4P4eXbgXGulCQaPAkuAeZIukXS8pF7CQPKVUH5xBuBOwqDxo5LOlfQpSZcDNxIeXnuqmSeSN54dxC+P2YHrnKrBwMwMOAn4AfANwt1ARwJnmdmdyWZ7LM6QzNF9JPAMYem2R4GLgF7gODMbqHupLp4dxM+zg/jF1lUk6WBJ90t6LZnG5wFJo1LW/UtJCyW9IskkndfKtqZa3MbMNgOXJa9yn/dT5iEyM3sOOK2B9tUkb08m53EBnLzxxW+yS9IIYDGwHTgXMMIX4yWSPpTiWav/Tvgy/QhwTivbChmbtdTtKW/dRZ4dxC+i7OAi4BDgJDP7BzN7CJgGjAZmpKj/e2b2CeDaFrbxbdEFA+8uil/eAoKPHWTWNGCpma0sFJjZasJ46fRqlZvdlV5NdMEgj/KWHbj4RZIdHAY8W6a8D5jQ5rZUlWrMIGvyNnaQR/1r92fMQes73Yy28bGD9ti8c3gNmdiP9pO0rKig18x6i37fF9hUpuJGoKfeNrZKlMEA8hcQfDDZubbbYGYTq2xTrt+6Ky9M3k3kMsvHDuIWQVfRJkJ2UKqH8hlDR0UdDPI2mOxjB851lT7CuEGpCcBzbW5LVVEHgzzKW0Dw7CBuGc8OHgaOlHRIoSBZOfKo5LOuEn0wyFt24JzrGrcD/cBDkqZLmkZYS/5FYF5howGm80HSJyWdCpyQFE2UdGpS1nTRBwPIX0Dw7CBunh1kQ/KE8WTgeeAu4G5gNTDZzLYUbbrHdD6JbwD3Abcmv1+W/H5fK9ob7d1EzjnXaWa2Bjilyjb9lJ/OZ1JrWlVeLjID8Owgdp4dxC2r2UGW5CYYOOecG1iugoFnB3Hz7MC5+uUqGIAHBOeyyruKWit3wcDFzbMD5+qTy2Dg2YFz2eTZQevkMhhA/gJCnnh24FztchsM8sazAxcLzw5aI9fBwLODeHl24Fxtch0M8sazAxcLzw6aL/fBIG/ZQZ4CgmcHzqWX+2AA+QsIeZK3gOBcvTwY5FCesoO8yVN24F1FzeXBIOHZQbw8O3CuOg8GOeXZgYtBt2cHkg6WdL+k1yRtlvSApFEp6w6XdIOklyS9Kennko5pVVs9GBTx7CBeecoO8tRV1M0kjQAWA4cC5wKfAz4ALJG0d4pd3AFcBFwF/DHwErBA0kda0V4PBiXyFBA8O3Ax6OLs4CLgEOAkM/sHM3sImAaMBmZUqijpw8CZwP8ws9vN7HHgNGANcE0rGuvBIOfyFBA8O3BtNg1YamYrCwVmthp4Cpieou5bwL1FdXcCPwCmSBrW7MZ6MCgjT9mBczHo0uzgMODZMuV9wIQUdVeb2dYydYcC4xpv3u5Sr4EsaSrwNeAIYBdhkeevmtniKvXGE9KaTwF7E9Kc75jZX9Xb6HbY5wXj9dF7LEsapWFrhrJ91I5ON6Mt+tfuz5iD1ne6GW2xaN2hHDdyRaebkSk7dgypJYPcT9Kyot97zay36Pd9gU1l6m0Eeqrsu1LdwudNlSoYSJoBzE1e1xIyio8AI6rUm0gYQHkCuBB4jTCA8s66W+ycc91hg5lNrLJNuW6GNN8y1UDdulQNBpLGAHOAy81sTtFHC6rUGwR8H3jczE4u+mhJ7c3sDM8O4uTZgWuTTZT/Bt9D+W/9xTYC5W5B7Sn6vKnSjBlcQOgWuq3GfU8i9IvdVGM955yLQR+h77/UBOC5FHXHJrenltbdAazcs0pj0gSDo4EVwBmSVknaKWmlpMtS1AMYLmmppLckvSzpFknvaKjVbZSnwWS/syhOfmdRxzwMHCnpkEJB0tNyVPJZtbp7AZ8tqjsEOB1YaGbbm93YNMHgQEI//w3AbOB4YBEwV9LMKvUg3Bq1EDgO+DZh7OCeSgeUdLGkZZKW7XzzjRRNbC0PCHHKU0BwHXE70A88JGm6pGnAQ8CLwLzCRpJGJ1+yryqUmdkzhGvnHEkXSvo04bbSscDXW9HYNAPIg4B9gPPM7IGkbHES4WZJusXMyl0tC4FmvpkVTvIJSYOB2ZImmFnZVCkZke8F2Hv/g/NzJXauRXzsoP3M7A1Jk4GbgbsIg7+PA180sy1FmwoYzJ5fzs8HvglcB7wbWA6cYGZPt6K9aTKDV5L3RSXlC4H3AO+tox6Eu5Eyw7ODOHl24FrJzNaY2Slm9i4z28fMTjKz/pJt+s1MZnZ1SfmbZvYlMxtpZsPN7GNm9kSr2pomGPQNUF64zWZXlXqlV9Fq9bpWngKCi4+PHbhK0gSDB5P3KSXlU4C1ZrZugHo/BrYDJ5SpB7AM17U8O3AuX9IEg0cJzwbMk3SJpOMl9RIGkq+EAQdAXgGuBy6R9JeSjpX0NcIMfN8vnq8jSzw7cFnm2YEbSNUBZDMzSScRLuzfIDz0sAI4y8wKdwUNNAByDfA68HngK4QpWG8gPMXsupw/iOZcfqSajsLMNgOXJa9yn/dT5jHp5C6jm4jswTN/Mtllmd9Z5MrxWUvr5N1F8fGxA5dnHgxcVXkaTM4LHztwpTwYNMCzg/h4duDyyoNBg/ISEDw7iI9nB66YBwOXWl4CgmcHLo88GDRBXrKDPMlLQPDswBV4MHA1yUt24FzeeDBoEs8O4uPZgcsTDwZNlJeA4NmBc/HxYODqkpeA4NmBazdJgyTNktQvaZuk5ZJOSVn3TyTdI+l5SbskPZH2uB4Mmiwv2YGLjweErnEtcDUwFzgRWArcJ2lqironEdaKWQqsreWgHgxaIC8BwbMD55pL0gGEST1nm9mNZrbEzGYQZo6enWIXF5nZBDM7B1hTy7E9GDjn3ubZQcdNAYYC80vK5wOHSxpbqbKZ1b1omAeDFvHsIC6eHbg2OYywKFjpei+FlSMntOrAHgycSykvAcGzg9T2k7Ss6HVxE/a5L/BqMv1/sY1Fn7dEqvUMXH3ysu6Br3ngYqEdqiXb3WBmEyvuTzoWWJRiX0+a2STCujDluhVafiHxYNBiHhDikpcV0XwBnKb5GTA+xXZbk/eNQI8klWQHPUWft4QHA+ecaxEz20pYJjitPmAY8H52HzcojBU816Sm7cHHDNrAB5Pj4mMHroUeA3YAZ5WUnw08a2arW3VgzwzaJC/dRc65+pnZy5JuBmZJeh14GjgdmAxML95W0uPAaDMbV1Q2Gvho8ut/AnZJOjX5/V/M7IWBju3BwDWVjx3ExccOOuIKYAswExgJ/Ao4zcx+WLLdYPa8hn8K+F5J2X3J+/nAnQMd1INBG+UlO8hLQHCuFczsd8B1yavSdpPKlN1JhQt+JT5m0GZ5GT/IAx87cDHxYOBawgeTncsWDwYd4NmByxrPDuLnwcC1jGcHzmWHB4MOyUt2kJeAkAeeHcTNg0EH5SUg5IFnBy7rPBi4lvPsIB6eHcTLg0GHeXYQD88OXJZ5MOgCeQgInh3Ew7ODOKUOBpKmSvqppC2SNieLOUyuof4sSSbpH2tp4OBt8V8o8yIPAcGzA5dVqYKBpBnAQ8AvgJOBzxLmuxiRsv4hhPk2Xq6nkb+3ans91TIlD9lBXuQhIHh2EJ+qcxNJGgPMAS43szlFHy2o4TjfBe4GPpjmmHmVh7mLfN4i57pTmszgAmAXcFs9B5B0JnAEMKue+gV5yA5cPDw7cFmTJhgcTVip5wxJqyTtlLRS0mXVKkrqAW4GvmpmDS/XloeAkIfuojyMHTiXNWmCwYHAB4AbgNnA8YQFnudKmlml7g3A89Q4paqki5MB6mU73nqjlqpR8IAQB88OXD0kDUpuuOmXtE3SckmnpKj3LklXSfqZpFckvZr8fFKa46YJBoOAfYAZZna7mS02s0sJy7PNklS2k1vSJ4BzgEtLFnauysx6zWyimU0cutfeu32Wh+zAOZdr1wJXA3OBE4GlwH2SplapNwr4PPAkYZnM0wlfxh9M05OTJhi8krwvKilfCLwHeO8A9eYBdwBrJb1b0rsJg8eDk9+HpTh2WXkICJ4dxMGzA1cLSQcAXwFmm9mNZrbEzGYASwg9M5WsBg4xs1lm9mMzW2Bm5wGLgT+vduw0waBvoHYn77sG+Hw8cAmwqeh1FHBk8vOlKY7tXOZ5QHA1mAIMBeaXlM8HDpc0dqCKZvaGmW0t89EyQnd/RWmCwYNFjSw2BVhrZusGqPepMq/lwLPJz/enOPaAPDuIQx6yA+dqcBiwHVhZUl74Uj6hjn0eQ7gJqKI09/w/SkhR5knaD/g1cCphIPl8AEmjgVXANWZ2DYCZPVG6I0mvAkPKfVaP31u1ndfeX3dvUyb4swdx6F+7P2MOWt/pZrTUonWHctzIqtecmOwnaVnR771m1tvgPvcFXi0zzrqx6PPUJF1M6I05u9q2VYOBmVkyGn098A2ghxBlzjKzewrHBAbTgbmO8hAQnHPtMXhHTRn5BjObWGkDScey53hrOU8mC9wLKNeAmr8RSpoE3ALcZWZ3V9s+1dPAZrYZuCx5lfu8nxSNTU7W1cizgzh4dpBLPyOMn1ZT6OvfCPRIUkl20FP0eVWSPgo8TBg8/tM0daKYGiIP2YEHBOeyJxnQrSU69gHDgPez+7hBYazguWo7kHQ4YbqgZ4BTzOytNAeOZgrrPAwou+zzO4tcFY8BO4CzSsrPBp41s9WVKkv6AKFb6tfAH5vZm2kPHEVmkBeeHTgXNzN7WdLNhAd6XweeJjw8NhmYXrytpMeB0WY2Lvn9AEIgGAp8HZhQ8kzw/zWzAb81RxUMvLvIZYGPHbgqrgC2ADOBkcCvgNPM7Icl2w1m92v4BGB08vMjZfY7Fugf6KDRdBMVeHdR9uXh2YM8dBe5+pjZ78zsOjMbbWbDzOxDZrbHc1lmNsnMxhT9/oSZqcKrv9JxowsGeeAPo7ks8LGDbIkyGOQhO8hDQIidZweum0QZDCAfASF2nh1kn2cH2RFtMID4A4JnB9nn2YHrFlEHgzyIPSDkITuIPSB4dpAN0QeD2LODPMhDQHCu06IPBhB/QIg9O8gDzw5cp+UiGORB7AHBs4Ps84DQ3XITDGLPDvIg9oAQe3bgultuggHEHxBizw5c9nl20L1yFQzyIPaA4NmBc62Ru2AQe3bgsi/2gODZQXfKXTCA+AOCZwfOuVrlMhiAB4Ssiz0geHbg2i23wcA557qRpEGSZknql7RN0nJJp6SsO1vSv0p6VdJWSSskXSlpRLW6uQ4Gnh1km2cH2ebZwYCuBa4G5gInAkuB+yRNTVH3XcD3gDOBPwHuJiyW83fVKka10lk9Yl8dLfaV0XyZTBeTZOnKrwCzzezGpHiJpHHAbODRSvXN7PMlRY8nWcHXJO1nZhsGqpvrzMC5bufZQe5MIaxhPL+kfD5wuKSxdezzleT9rUobeTDAu4uyzruLss0Dwm4OA7YDK0vK+5L3CWl2ImmIpHdKOhb4EvC3ZvZapToeDBIeEJxzNdpP0rKi18VN2Oe+wKtmVvoHu7Ho84ok/T4hC3gdWJS8qrYt92MGxWIfP4hZ7GMH/Wv3Z8xB6zvdjJZZtO5Qjhu5otPNYPA2q+WL4QYzm1hpg+Sb+aIU+3rSzCYBAsp9c6tl4G8l8FFgb+DjwCzCtf6sSpU8GOSIDyY713Y/A8an2G5r8r4R6JGkkuygp+jzisxsG7As+fVJSS8B35N0q5ktHaiedxOV8O4i16187CB7zGyrma1I8VqTVOkDhgHvL9lVYazguTqaUQgM4ypt5MGgjNgDQsx8MNll3GPADvbs0jkbeNbMVtexz08m76sqbeTdRDnk3UWuW3XL2EGnmNnLkm4GZkl6HXgaOB2YDEwv3lbS48BoMxuX/P4h4EbgPuDXhAzjGGAm8GMz+3mlY6fODCRNlfRTSVskbU5GzydX2H6ipN7kceitktZIurvO+2TbLvbswLuLssuzg+hdAVxHuIgvAI4CTjOzH5ZsN5jdv9D/FtgA/AXwCHAX8GnCQ2wnVztoqsxA0gzCo9FzCY9KDwI+AlSa7+IMwj2ztxD6wd4HXAksk/QRM3sxzbE7ye8uyi7PDrLLswP7HSEYXFdlu0klv/+WMA1FXaoGA0ljgDnA5WY2p+ijBVWqfsvMdrsXTtJTwGrgIuCqmlraITEHhNi7i2IW+62mrv3SdBNdAOwCbqtlx6WBICl7AVhPyBJcF4i5u8gHk7MrxjuLul2aYHA0sAI4Q9IqSTslrZR0Wa0HkzQeOAD4Za11Oyn28YOYxR4QYuYBob3SBIMDgQ8ANxBmzTue8ETdXEkz0x5I0hBCdrEeuKPKthcXHvHe8dYbaQ/RUjEHhJizg9jFnB249koTDAYB+wAzzOx2M1tsZpcS7oedJSltp/NcwqPRZ5vZpkobmlmvmU00s4lD99o75e5dI2IOCJ4dZJdnB+2TJhgUpj8tnV9jIfAe4L3VdiDpesJESReY2cKaWthFYs4OYhdzQPDswDVDmmDQN0B5ISPYVamypCuArwEzzeyuGtrWlWIOCDFnB7GLOSB4dtAeaYLBg8n7lJLyKcBaM1s3UEVJXyDcK3uFmd1aXxO7jweEbIo5O3CuUWmCwaPAEmCepEskHS+plzCQfCWApNHJXUZvPzsg6QzC8wmPAYslHVn0SrVAg3PNFnNA8OzANaLqQ2dmZpJOAq4HvkGYSnUFcJaZ3ZNsJsKj0cXB5YSk/ITkVexJYFJDLe8wfxjNOReTVHMTmdlmM7vMzN5jZkPN7ENFgQAz6zczmdnVRWXnJWXlXpOafyrt591F2eTZQTZ5dtBaPoW1c5HxgODq4cGgQZ4dZFPM2YFz9fBg0AQeELIp5oDg2YGrlQeDJok5IDjn2kfSIEmzJPVL2iZpuaRT6tjPIclaMiap4pKX4MHApeDZQTZ5dpBZ1wJXE6bwORFYCtwnaWqN+/kO8FrajT0YNFHM2YEHhGyKOSDESNIBhJXJZpvZjWa2xMxmEJ71ml3Dfs4E/gvwrbR1PBg0mQcE59oj0uxgCjAUmF9SPh84PM2ywZJ6gJsIQeXVtAf2YOAcnh24rnEYsB1YWVJemCMuzewN3wZW1DoXnAeDFvDsIJtiDgixijA72Bd41cxK/9A2Fn0+IElHA+cAn6/1wFWno3D18ekqXDeJec3kResO5biRK5qyL23bwdBfvph28/0kLSv6vdfMenfbn3Qse07/X86TycwMAsp946r6BydpKDAPuNnMnktxzN14MGihmANCrIatGcr2UTs63YyWiDkgdMgGM5tYZZufAeNT7Gtr8r4R6JGkkuygp+jzgXyRkDncIundSdmI5H0fSfuY2esDVfZg4OoSc3YQc0CIVegu+lGnm7EHM9tKmNgzrT5gGPB+dh83KIwVVPrGPwEYCfymzGdPA8uBjwxU2ccMWszHD1w38cHkrvcYsAM4q6T8bOBZM1tdoe5s4FMlr8KtpWcDF1Y6sGcGbeDdRdnj2YHrBDN7WdLNhPXlXyd8oz8dmAxML95W0uPAaDMbl9RdQUkWImlM8uM/mVnpHUq78cygTWLNEGLODmK9u8izg653BWGFyJnAAuAo4DQz+2HJdoNp4hd6DwauYTEHhFh5QOheZvY7M7vOzEab2bBk/Zj7y2w3yczGVNnXnckaMhWzAvBg0FaxZgcxizU7cK6UB4M2izUgeHaQPZ4duGIeDDrAA0K2eHbg8sCDgWsqDwjZ4tmBK+j6YKBtcd7eF2t24LLHA4KDDAQDoJa5QjIl1oDg2YFz2ZOJYBAzDwjZEmtA8OzAZSYYxJodONctPCDkW2aCAcQbEDw7yJZYswOXb5kKBuou7l8AAAkwSURBVOABIWs8IGSLZwf5lblgAPEGBOec65RMBoNYeXaQLZ4duJhkNhjEmh14QMgWDwguFpkNBuABIWtiDQjOxSDTwQDiDQguOzw7cDFIHQwkTZX0U0lbJG2WtEzS5Cp1hku6QdJLkt6U9HNJxzTe7Ph5dpAtsQYE136SBkmaJalf0jZJyyWdkrLunZKszGtOtbqpgoGkGcBDwC+Ak4HPAvcBI6pUvQO4CLgK+GPgJWCBpAEXZa5HrNmBBwTXaZ4ddMS1wNXAXOBEYClwn6SpKeuvB/6o5HVztUpVl0xL1tCcA1xuZsXRZUGVeh8GzgQuMLPvJWVPAn3ANcC0aseuxdBfvsiO8Qc3c5ddwddPzo5Y103uX7s/Yw5a3+lm5IKkA4CvALPN7MakeImkcYQF7x9NsZsdZra01mOnyQwuAHYBt9W472nAW8C9hQIz2wn8AJgiqelXuFgzhBjFmh14d5Fr0BRgKDC/pHw+cLiksa06cJpgcDSwAjhD0ipJOyWtlHRZlXqHAavNbGtJeR/hZMfV3tzqYgwI3l3kOs27i9rmMGA7ULpmcV/yPiHFPg6QtCG5Vj8v6c8lDa5WqWo3EXBg8roB+AtgFWHMYK6kIWb2VwPU2xfYVKZ8Y9HnZUm6GLg4+XX7Y7/97rMp2vkfflvT1p2wH7ChphpPtKQdzVb7eXW/GM8J6jivF1rUkCb6YKM72Lxz/YLHfvvd/VJuPlzSsqLfe82st8Em7Au8amal35SqXjcTzxDGdvuA4YQx3uuBDwAXVqqYJhgMAvYBzjOzB5KyxclYwixJt5RpOICAgcorSv6D9gJIWmZmE1O0MzNiPCeI87xiPCeI87xKLsx1MbMTmtGWAknHAotSbPqkmU2igesmQMm4LsCjkrYAX5T0LTP794HqpgkGrxCiSukJLQROAN4L/L8y9TYCo8qU9xR97pxzMfsZMD7FdoXu9I1AjySVfMlu5Lr5d8AXgYlAQ8GgDziyTHkhUu2qUO9kSSNKxg0mADvYs0/MOeeiklz7VtRQpQ8YBryf3a+RhbGC5+poRuFaXXGQLs0A8oPJ+5SS8inAWjNbN0C9h4G9COMLoUXSEOB0YKGZpR0VbbQPrhvFeE4Q53nFeE4Q53nFcE6PEb4sn1VSfjbwrJmtrmOfZxICwb9U2kjlu/uLNpAEPA58GLgC+DVwKuFhsvPN7E5JowkDy9eY2TVFdX9ACBqXA6uBSwkPn33czJ6u46Sccy5qkmYTunX+Ania8AV6BjDdzH5YtN3jwGgzG5f8Phq4i3D7/kpChnEycB4wz8wurXTcqt1EZmaSTiKMSH+D0He1AjjLzO4ptAsYzJ6ZxvnAN4HrgHcDy4ETPBA459yArgC2ADOBkcCvgNOKA0FiMLtfw18njCn8OfAeQjbwS+ALwHeqHbRqZuCccy5+HZm1VNJBkm5NJq7bmkykNCZl3a6c/K7ec5I0UVKvpBVJvTWS7m7lk4a1aOTfqmQ/s5K6/9j8VtbclobOSdJ4SfclD/a8KelXkma2rsWp29XI39UoSd9P/v/bmjysdJ2kvVvb6qrtOlXS30t6oei/9fWS9klRtyuvFd2qU1NYjwNOIzyU9n9qrNuWye/qUO85nUF46vAWwqRUXwOOAJZJ6obJlhr5twJA0iGE1PflJrarEXWfk6SJwD8R+mMvBKYC/4uQsndaXeeVXPB/AhwDXAl8Bvgb4MvA3za/mTX5CvA7Qv/5CcB3CWOPiyRVu35167WiO5lZ21/AoKKfLyT0bY1JUe/DybbnF5UNIfSpPdyJc2nCOe1fpmw04Zbdazp5To2cV8k+FgDzCM9R/2NWz4nw5akPeLDT59Dk8zo+2fb4kvLZwE5gRAfPqdzfxzlJeydXqNe114pufXUkMzCzgZ5NqKbtk9+lVe85mdke00Ga2QuEaWjf12i7GtXAvxUAks4kZDqzmtOixjVwTpMI93vf1LzWNE8D51WYXW9zSfmrhACY6unXVij398F/3CJZ6e+ja68V3SprK511ZPK7dpM0HjiAcCdAZknqIcyj/lUzi+GJ86OT9+GSlkp6S9LLkm6R9I6OtqwxPyE8mfotSRMkvVNh4aqZwG1m9kZnm7eHTybvlf4+cnGtaKasBYO6J7/LiuTBvNsImcEdHW5Oo24Angfu7HA7muXA5P1ewnQsxwHfJnTJ3DNQpW5nZtsIga7QDfY64dmiR4A/62DT9iDpfYT1UH5iZpXmIor+WtFsaaaj6CYNTeKUEXOBjwOfMbNy/zNngqRPEPp2j7CkwzYChS9P883squTnJ5LpgWdLmmBm9UwX0FGShhMC3AHA54A1wB8SBl53EgZsO07SOwkrLu4kPMNUcXPiv1Y0VdaCQdST30m6njB197lmtrDT7WnQPEJms1bSu5OyIcDg5Pc3Lf2UJN3ileS93KSNs4GPUN/cMZ32p4TxkHFmtiop+6mk14BeSbeZ2fKOtY63A9bDwCHAJ81sbZUqUV8rWiFr3UR9wFhJpWsvZ37yO0lXEG4rnWlmd3W6PU0wHriEkKoXXkcRJj3cRJd826xRYYGR0m+c1SZt7HaHA5uKAkHBPyfvaWbdbBlJewF/T8hWpprZv6WoFu21olWyFgyaNfldV5H0BcKUHVeY2a2dbk+TfKrMaznwbPLz/Z1rWt1+TFiFqnTO+8Ikjg3Pp98h6wjTJpcOqn4sef9Nm9vztuRZgruBTxPm5km7tm+U14pW6lg3kaRTkx//IHk/UdJ6YL2ZPakyk9+Z2TOS7gXmJN8WCpPfjWXPWf7arp5zknQGMIcwW+FiScXThW/uhj7oOv+tniizn1eBIeU+a7c6z+mVpCvvSkmbgcWEOeKvAr5vZh3/tlnPeREG+L9EWAjlm4Qxg4mEB9B+ATzVrvaX8deEC/o3gTdK/j7WmtnaLF4rulKnHnAgpNrlXk8kn49Jfr+6pN47CPd5rwO2EZ4GndTpBzbqPSfCH2LFep1+1ftvVWY/T9AFD501+P+fCBfOlYTuhhcId7fs1elzavC8JgD/G3gReJNwF9iNQE+Hz6e/wjldXeWcuvZa0Y0vn6jOOedc5sYMnHPOtYAHA+eccx4MnHPOeTBwzjmHBwPnnHN4MHDOOYcHA+ecc3gwcM45B/x/jJ3KDDLcV04AAAAASUVORK5CYII=\n",
"text/plain": [
"<Figure size 432x288 with 2 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"V_z,V_y = np.meshgrid(np.linspace(1,2,100),np.linspace(6,7,100))\n",
"\n",
"Z = z_impact2(V_z,V_y)\n",
"\n",
"plt.contourf(V_z,V_y,Z)\n",
"plt.colorbar()"
]
},
{
"cell_type": "code",
"execution_count": 27,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0.2476576876738001\n",
"-0.04239309514507956\n"
]
},
{
"data": {
"image/png": "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FnncqQoZRWPR+uKrqanx+vr6YldDSkAx5i4pkT+DgqxcuZIhQ4YUuxqSsOaeVzNb5u41mdapD15EJFAKeBGRQOlNVhFav1sohC4hKX26ghcRCZQCXkQkUAp4EZFAKeBFRAKlgBcRCZQCXkQkUAp4EZFAaRy8yDHAZhZh/ocUPr04A//NjOnTpzNjxoyctlu8eDHnnnsuixYtora2tkXq9s1vfpPFixezdu3aFtk/KOBFJGB1dXX07ds35+2GDx9OXV0dQ4cObYFatR4FvIgEZ+/evVRUVDBy5Mi8tu/cuXPe25YS9cGLSEl77bXXOOuss+jQoQNdunThsssu48MPP2xcX1tby6hRo1i4cCFnnHEGFRUVPPbYY0DURZPePTN79mwGDx5M+/btGTZsGAsWLKC2trZJV8zixYsxMxYvXnzYcd58802GDx9Ox44d+fKXv8yLL77YZP+rV6/mmmuuoX///nTo0IEBAwZw4403snXr1sTbpjkKeBEpWa+99hoTJ06kU6dOPPfcczz++OMsX76cUaNGNX6nKsCqVau49dZbueWWW3j99dcZN25cxv298cYbfOMb32Dw4MG88MIL3HHHHdx2222sWrUqq/p89NFHfPe732Xy5MnMmzePqqoqrrjiClavXt1Y5tNPP6Vv37488sgjvP7669x777289dZbTJgwobDGyIO6aESkZE2bNo0BAwbw6quvUlYWxdVZZ53FoEGDeOihh3j44YcBaGho4Be/+AWnn376Ufc3ffp0hg4dyvz58xu/53XYsGGMGDGCQYMGNVufhoYG3nnnHU4++WQg6quvqqri+eef5+677wZgzJgxjBkzpnGbs88+m4EDBzJ69Gjef/99zjjjjNwbIk+6gheRkrRz507ee+89vv71rzeGO0D//v0555xzWLJkSeOy6urqZsP9wIED1NfXc/nllzf5Eu/hw4fTv3//rOp08sknN4Y7QK9evejVqxcff/xx47IvvviCH/zgBwwePJgOHTpQXl7O6NGjAZp0LbUGXcGLSEnaunUr7k5VVdVh60488UTWrVvX+HumMukaGhrYt28fvXr1Omxd7969s6pTt27dDltWUVHBnj17Gn+fMmUKjz76KPfeey9nn302J5xwAuvXr+drX/tak3KtQQEvIiWpa9eumBkbNmw4bN2GDRuafNm1ZTGhf48ePSgvL+ez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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"V_z = np.random.normal(1.61, 0.4, 150)\n",
"V_y = np.random.normal(6.3, 0.5,150) \n",
"z_result = z_impact2(V_z, V_y)\n",
"print(np.std(z_result))\n",
"print(np.mean(z_result))\n",
"plt.hist(z_result, range = [-0.6,.5], color=\"blue\", label= \"robot\");\n",
"plt.hist(z_position,color=\"green\", label =\"original\");\n",
"plt.legend();"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We obtain a standard deviation of around 0.2476 m and a mean of -0.0424 m for the Monte Carlo z_impact compared to a standard deviation of 0.25486 m mean of -0.04739 m for the class data.\n",
"\n",
"Then, we make another countour plot to understand the phase space of x_impact which depends on random values of $V_{x}$ and $V_{y}$. From the plot we understand that $V_{x}$ should be small so that we can obtain appropriate values that allow us to match the mean of the random model to that of the class data."
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.colorbar.Colorbar at 0x7f1d06bf1da0>"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 2 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"V_x,V_y = np.meshgrid(np.linspace(0,0.5,100),np.linspace(6,7,100))\n",
"\n",
"X = (V_x/V_y)*3\n",
"\n",
"plt.contourf(V_x,V_y,X)\n",
"plt.colorbar()"
]
},
{
"cell_type": "code",
"execution_count": 46,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"0.014094491606673566\n",
"0.2592432083999937\n"
]
},
{
"data": {
"image/png": "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9fG/s2XkyJHceeed8f87OzsZN24cw4YN43e/+x3Tpk3L6biKohQPNT3lSRjKJLe1tXHLLbdw+OGHU1NTQ1VVFSeddBIAb775Zvz3O++8w+zZs+NKIij++7//m2OOOYbevXvTo0cPhg0bliSLoijRQhVFnoShTPKcOXNoaGjg/PPPZ/Xq1bz44ousWLECgD179gDw8ccfA9mbkrLlhz/8IZdeeimnnXYaK1as4MUXX+SFF15IkkVRlGihpqc8CUOZ5GXLlnHBBRcwd+7c+Nju3buTthkwYABAzk7lXr16sXPnzrTx5ubmNFkmTpzIHXfcER/buHFjTudUlKKhxSGT0BVFnlw1aSQ1VZVJY4Uuk9zS0kJVVVXS2M9//vOk/w877DBGjBjBvffei1v72+rqalpb0xXf8OHD+fvf/05bW1t87I9//CO7du3KWhZFCTWx4pA73gPMvuKQG5YXW7KioSuKPAlDmeQzzjiDX/ziFxx99NEceuihrFixgj/96U9J24gIS5Ys4ZxzzuHUU0/lm9/8JgcccABvvPEGH330Eddffz0ARx55JKtXr+aMM86gX79+DB48mMGDB3PuueeydOlSvvGNbzBr1iw2btzIokWL6Nu3b5ost956K7fccgvHHXcca9as4ZFHHinYtVCUvHErDlmmqwpVFD5Q7DLJP/zhDzHGcN111wFw5pln8tBDD3HcccclbTdlyhSeeuopbrzxRi688EIAPv3pT3P55ZfHt/nRj37EZZddxtlnn83evXuZP38+DQ0NfP7zn+cnP/kJP/jBD3j00UcZM2YMDzzwANOnT086x7x589i+fTuLFy9mz549TJgwgSeffJJDDjkk4KugKD6hxSHTEDczRFQZO3asaWxsdHz9jTfe4IgjjiigREoh0fur5MXiUd1mpxT6DoUrXi28PAVERNYbY8amjquPQlEUJREtDpmGKgpFUZREtDhkGuqjUBRFSUWLQyahKwpFURTFFVUUiqIoiiuqKBRFURRXVFEoiqIorqiiUBRFUVxRRaEoiqK4oopCURRFcUUVheILqb2zFUUpHVRRKIqiKK6ooihh9u7dW2wRFEUpAVRRlAgNDQ2ICK+++iqTJk2id+/ezJgxg9///veceeaZHHTQQdTW1jJq1CjuuOMOOjuT+3yPGDGC888/n2XLlnHEEUew3377MXbsWNatW5d2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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
},
{
"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": [
"V_y = np.random.normal(6.3, 0.5,150) \n",
"V_x = np.random.normal(0.046,0.54,150)\n",
"x_impact = (V_x/V_y)*3\n",
"plt.scatter(x_position,z_position, label = 'actual')\n",
"plt.scatter(x_impact,z_result, label = 'random')\n",
"plt.legend(loc = 'best');\n",
"print(np.mean(x_impact))\n",
"print(np.std(x_impact))\n",
"plt.figure(2)\n",
"\n",
"plt.hist(x_impact);\n",
"plt.hist(x_position);"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"We determine a mean of 0.0141 m and a standard deviation of 0.25924 m for x_impact compared to a mean of 0.01207 m and a standard deviation of 0.25716 m for the x-position class data. We also plotted scatter plot of the actual x vs z data and the random x vs z data and we can see that agreement is good. There are more points for the random data compared to the class data which is why not all the points match!"
]
}
],
"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": 2
}