598 lines
130 KiB
Plaintext
Executable file
598 lines
130 KiB
Plaintext
Executable file
{
|
|
"cells": [
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 1,
|
|
"metadata": {
|
|
"nbgrader": {
|
|
"grade": false,
|
|
"grade_id": "cell-e894ec2378fa46eb",
|
|
"locked": true,
|
|
"schema_version": 3,
|
|
"solution": false,
|
|
"task": false
|
|
}
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"# You must run this cell, but you can ignore its contents.\n",
|
|
"\n",
|
|
"import hashlib\n",
|
|
"\n",
|
|
"def ads_hash(ty):\n",
|
|
" \"\"\"Return a unique string for input\"\"\"\n",
|
|
" ty_str = str(ty).encode()\n",
|
|
" m = hashlib.sha256()\n",
|
|
" m.update(ty_str)\n",
|
|
" return m.hexdigest()[:10]"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 2,
|
|
"metadata": {
|
|
"nbgrader": {
|
|
"grade": false,
|
|
"grade_id": "cell-ada87b3b188b2d39",
|
|
"locked": true,
|
|
"schema_version": 3,
|
|
"solution": false,
|
|
"task": false
|
|
}
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"# You must also run this cell.\n",
|
|
"\n",
|
|
"import numpy as np\n",
|
|
"import matplotlib.pyplot as plt"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {
|
|
"nbgrader": {
|
|
"grade": false,
|
|
"grade_id": "cell-d7462f8b0f718bef",
|
|
"locked": true,
|
|
"schema_version": 3,
|
|
"solution": false,
|
|
"task": false
|
|
}
|
|
},
|
|
"source": [
|
|
"# Exercise - Optimization first steps\n",
|
|
"\n",
|
|
"We are going to take our first steps towards optimization by returning to a bumblebee example.\n",
|
|
"\n",
|
|
"We are going to define the positions of a flower and the flight path of a bumblebee."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 3,
|
|
"metadata": {
|
|
"nbgrader": {
|
|
"grade": false,
|
|
"grade_id": "cell-78cb75cddd4fc5ef",
|
|
"locked": true,
|
|
"schema_version": 3,
|
|
"solution": false,
|
|
"task": false
|
|
}
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"flower = np.array([7.5, 10.3])"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 4,
|
|
"metadata": {
|
|
"nbgrader": {
|
|
"grade": false,
|
|
"grade_id": "cell-ab9736432799913b",
|
|
"locked": true,
|
|
"schema_version": 3,
|
|
"solution": false,
|
|
"task": false
|
|
}
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"def make_bee_track(t):\n",
|
|
" pos0 = (-10,3)\n",
|
|
" velocity = (4.0, 0.2)\n",
|
|
" pos_x = pos0[0] + t*velocity[0]\n",
|
|
" pos_y = pos0[1] + t*velocity[1]\n",
|
|
" return np.array([pos_x,pos_y])\n",
|
|
"\n",
|
|
"t = np.linspace(0,15,20)\n",
|
|
"bee_track = make_bee_track(t)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {
|
|
"nbgrader": {
|
|
"grade": false,
|
|
"grade_id": "cell-08928dcd585933a7",
|
|
"locked": true,
|
|
"schema_version": 3,
|
|
"solution": false,
|
|
"task": false
|
|
}
|
|
},
|
|
"source": [
|
|
"Here we plot these positions."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 5,
|
|
"metadata": {
|
|
"nbgrader": {
|
|
"grade": false,
|
|
"grade_id": "cell-4b58d56276437c3a",
|
|
"locked": true,
|
|
"schema_version": 3,
|
|
"solution": false,
|
|
"task": false
|
|
}
|
|
},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"image/png": "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",
|
|
"text/plain": [
|
|
"<Figure size 640x480 with 1 Axes>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"fig, ax = plt.subplots(nrows=1, ncols=1)\n",
|
|
"ax.plot( [flower[0]], [flower[1]], 'or', label='flower' )\n",
|
|
"ax.plot( bee_track[0], bee_track[1], '.-k', label='bee')\n",
|
|
"ax.axis('equal')\n",
|
|
"ax.legend();"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {
|
|
"nbgrader": {
|
|
"grade": false,
|
|
"grade_id": "cell-701acd6a5b4a9581",
|
|
"locked": true,
|
|
"schema_version": 3,
|
|
"solution": false,
|
|
"task": false
|
|
}
|
|
},
|
|
"source": [
|
|
"## Q1 Draw a figure as above with, additionally, a blue line between each point on `bee_track` and `flower`.\n",
|
|
"\n",
|
|
"When complete, your figure should look like this:\n",
|
|
"\n",
|
|
"<img src=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAisAAAGdCAYAAADT1TPdAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjUuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/YYfK9AAAACXBIWXMAAA9hAAAPYQGoP6dpAABcgElEQVR4nO3dd3hUZfo+8Hsy6Z2SSkIPSpWiYlAkKuBaUcAVdRUrIKIiuiKLruhPwL7iUhSwrgrsShER9ysiTSnSoggsBggkgcRQQhqpM+/vj8eTMz0zIeVE7s91zaWZTDlzMsy553mf9z0mpZQCERERkUH5NfUGEBEREXnCsEJERESGxrBCREREhsawQkRERIbGsEJERESGxrBCREREhsawQkRERIbGsEJERESG5t/UG3CurFYrjh8/joiICJhMpqbeHCIiIvKCUgrFxcVITEyEn5/n2kmzDyvHjx9HcnJyU28GERER1UF2djaSkpI83qbZh5WIiAgA8mIjIyObeGuIiIjIG0VFRUhOTq45jnvS7MOKNvQTGRnJsEJERNTMeNPCwQZbIiIiMjSGFSIiIjK0Bg0r8+bNQ69evWqGaFJTU/H111/X/F4phWnTpiExMREhISFIS0vD3r17G3KTiIiIqJlp0J6VpKQkvPzyy+jcuTMA4KOPPsKwYcOwe/dudO/eHa+++irefPNNfPjhh+jSpQteeuklDBkyBAcOHPCq4YaIiMhXSilUV1fDYrE09ab8oZnNZvj7+9fLsiImpZSqh23yWsuWLfHaa6/h/vvvR2JiIiZOnIjJkycDACoqKhAXF4dXXnkFY8eO9erxioqKEBUVhcLCQjbYEhGRR5WVlcjNzcXZs2ebelPOC6GhoUhISEBgYKDT73w5fjfabCCLxYL//Oc/KC0tRWpqKjIzM5GXl4ehQ4fW3CYoKAiDBg3C5s2b3YaViooKVFRU1PxcVFTU4NtORETNn9VqRWZmJsxmMxITExEYGMjFRBuIUgqVlZU4ceIEMjMzkZKSUuvCb540eFjZs2cPUlNTUV5ejvDwcCxfvhzdunXD5s2bAQBxcXF2t4+Li8PRo0fdPt7MmTPxwgsvNOg2ExHRH09lZSWsViuSk5MRGhra1JvzhxcSEoKAgAAcPXoUlZWVCA4OrvNjNfhsoAsuuADp6enYunUrHn74YYwePRr79u2r+b1jqlVKeUy6U6ZMQWFhYc0lOzu7wbadiIj+eM7lGz75pr72dYNXVgIDA2sabC+++GJs374ds2bNqulTycvLQ0JCQs3t8/PznaottoKCghAUFNSwG01ERESG0ejxUimFiooKdOjQAfHx8VizZk3N7yorK7FhwwYMGDCgsTeLiIiIDKpBw8rf/vY3bNq0CUeOHMGePXswdepUrF+/HnfddRdMJhMmTpyIGTNmYPny5fjll19w7733IjQ0FHfeeWdDbhYREdG5sViA9euBRYvkvw08DVophTFjxqBly5YwmUyIjo7GxIkTG/Q5jaRBh4F+++033H333cjNzUVUVBR69eqF//73vxgyZAgA4Omnn0ZZWRnGjx+PgoIC9O/fH9988w3XWCEiIuNatgx4/HEgJ0e/LikJmDULGD68QZ7yv//9Lz788EOsX78eHTt2xMiRIxvkeYyqQcPKe++95/H3JpMJ06ZNw7Rp0xpyM4iIiOrHsmXAyJGA4xJlx47J9Z9/3iCB5dChQ0hISKhpk/D3N9Z5iKuqqhAQENBgj8+WaCIiIm9YLFJRcbWWqnbdxIn1PiR077334tFHH0VWVhZMJhPat2/vdJuCggLcc889aNGiBUJDQ3HdddchIyPj901TiImJwdKlS2tu37t3b8TGxtb8vGXLFgQEBKCkpAQAUFhYiDFjxiA2NhaRkZG4+uqr8dNPP9Xcftq0aejduzfef/99dOzYEUFBQWjINWYZVoiIiLyxaZP90I8jpYDsbLldPZo1axZefPFFJCUlITc3F9u3b3e6zb333osdO3Zg5cqV2LJlC5RSuP7661FVVQWTyYQrr7wS69evByDBZt++faiqqqpZSmT9+vXo168fwsPDoZTCDTfcgLy8PKxevRo7d+5E3759cc011+D06dM1z3nw4EH8+9//xtKlS5Genl6vr9mRsepIRERERpWbW7+381JUVBQiIiJgNpsRHx/v9PuMjAysXLkSP/zwQ80w0aeffork5GSsWLECt912G9LS0jB//nwAwMaNG3HRRRehbdu2WL9+Pbp164b169cjLS0NALBu3Trs2bMH+fn5NUuFvP7661ixYgU+//xzjBkzBoDM4P3Xv/6FmJiYen29rrCyQkRE5A2bNcHq5Xb1ZP/+/fD390f//v1rrmvVqhUuuOAC7N+/HwCQlpaGvXv34uTJk9iwYQPS0tKQlpaGDRs2oLq6Gps3b8agQYMAADt37kRJSQlatWqF8PDwmktmZiYOHTpU8xzt2rVrlKACsLJCRETknYEDZdbPsWOu+1ZMJvn9wIGNulnuekVsV4Tv0aMHWrVqhQ0bNmDDhg148cUXkZycjOnTp2P79u0oKyvDFVdcAUDOoZSQkFAzbGQrOjq65v/DwsLq/bW4w7BCRETkDbNZpiePHCnBxDYkaKeJeestuV0j6tatG6qrq7Ft27aaYaBTp07h119/RdeuXX/fPOlb+eKLL/DLL79g4MCBiIiIQFVVFd555x307du3ZtmQvn37Ii8vD/7+/i6beZsCh4GIiIi8NXy4TE9u08b++qSkBpu2XJuUlBQMGzYMDz30EL7//nv89NNP+Mtf/oI2bdpg2LBhNbdLS0vDZ599hl69eiEyMrImwHz66ac1/SoAMHjwYKSmpuKWW27B//3f/+HIkSPYvHkznn32WezYsaPRXx/AsEJEROSb4cOBI0eAdeuAzz6T/2ZmNklQ0XzwwQfo168fbrzxRqSmpkIphdWrV9utfXLVVVfBYrHYBZNBgwbBYrHU9KsAUoVZvXo1rrzyStx///3o0qULRo0ahSNHjng8d19DMqmGnBjdCIqKihAVFYXCwkJERkY29eYQEZFBlZeXIzMzEx06dEBwcHBTb855wdM+9+X4zcoKERERGRrDChERERkawwoREREZGsMKERERGRrDChERERkawwoREREZGsMKERERGRrDChERERkawwoREZHBpaWlYeLEiU29GU2GYYWIiIgMjWGFiIiIDI1hhYiIqA5ycnKwbt065OTkNMrzVVdXY8KECYiOjkarVq3w7LPPQju9X2VlJZ5++mm0adMGYWFh6N+/P9avX293/82bN+PKK69ESEgIkpOT8dhjj6G0tLRRtv1cMawQEdF5SymF0tJSny9z585Fu3btcPXVV6Ndu3aYO3euT/evyzmEP/roI/j7+2Pbtm14++238Y9//AMLFy4EANx333344YcfsHjxYvz888+47bbb8Kc//QkZGRkAgD179uDaa6/F8OHD8fPPP2PJkiX4/vvvMWHChHrdnw2FZ10mIqLzgqszAJeWliI8PLzRt6WkpARhYWFe3z4tLQ35+fnYu3cvTCYTAOCZZ57BypUr8eWXXyIlJQU5OTlITEysuc/gwYNx6aWXYsaMGbjnnnsQEhKCd999t+b333//PQYNGoTS0tIGOwt1fZ112b9Bto6IiIjq1WWXXVYTVAAgNTUVb7zxBnbs2AGlFLp06WJ3+4qKCrRq1QoAsHPnThw8eBCffvppze+VUrBarcjMzETXrl0b50XUEcMKERGdt0JDQ1FSUuLTfY4dO4auXbvCarXWXGc2m7Fv3z60adPG6+etT2azGTt37oTZbLa7XqsaWa1WjB07Fo899pjTfdu2bVuv29IQGFaIiOi8ZTKZfBqOAYAuXbpg/vz5GDt2LCwWC8xmM959912nykZ927p1q9PPKSkp6NOnDywWC/Lz8zFw4ECX9+3bty/27t2Lzp07N+g2NhQ22BIREfnogQcewJEjR7Bu3TocOXIEDzzwQIM/Z3Z2NiZNmoQDBw5g0aJF+Oc//4nHH38cXbp0wV133YV77rkHy5YtQ2ZmJrZv345XXnkFq1evBgBMnjwZW7ZswSOPPIL09HRkZGRg5cqVePTRRxt8u+sDKytERER1kJSUhKSkpEZ7vnvuuQdlZWW49NJLYTab8eijj2LMmDEAgA8++AAvvfQSnnzySRw7dgytWrVCamoqrr/+egBAr169sGHDBkydOhUDBw6EUgqdOnXC7bff3mjbfy44G4iIiM4LnmamUMOor9lAHAYiIiIiQ2NYISIiIkNjWCEiIiJDY1ghIiIiQ2NYISIiIkNjWCEiovNKM58E26zU175mWCEiovNCQEAAAODs2bNNvCXnD21fa/u+rrgoHBERnRfMZjOio6ORn58PQM7PY3tiQKo/SimcPXsW+fn5iI6Odjpnka8YVoiI6LwRHx8PADWBhRpWdHR0zT4/FwwrRER03jCZTEhISEBsbCyqqqqaenP+0AICAs65oqJhWCEiovOO2WyutwMpNTw22BIREZGhMawQERGRoTGsEBERkaExrBAREZGhMawQERGRoTGsEBERkaExrBAREZGhMawQERGRoTGsEBERkaExrBAREZGhMawQERGRoTGsEBERkaExrBAREZGhMawQERGRoTGsEBERkaExrBAREZGhMawQERGRoTGsEBERkaExrBAREZGhMawQERGRoTGsEBERkaExrBAREZGhMawQERGRoTGsEBERkaE1aFiZOXMmLrnkEkRERCA2Nha33HILDhw4YHcbpRSmTZuGxMREhISEIC0tDXv37m3IzSIiIqJmpEHDyoYNG/DII49g69atWLNmDaqrqzF06FCUlpbW3ObVV1/Fm2++idmzZ2P79u2Ij4/HkCFDUFxc3JCbRkRERM2ESSmlGuvJTpw4gdjYWGzYsAFXXnkllFJITEzExIkTMXnyZABARUUF4uLi8Morr2Ds2LG1PmZRURGioqJQWFiIyMjIhn4JREREVA98OX43as9KYWEhAKBly5YAgMzMTOTl5WHo0KE1twkKCsKgQYOwefNml49RUVGBoqIiuwsRERH9cTVaWFFKYdKkSbjiiivQo0cPAEBeXh4AIC4uzu62cXFxNb9zNHPmTERFRdVckpOTG3bDiYiIqEk1WliZMGECfv75ZyxatMjpdyaTye5npZTTdZopU6agsLCw5pKdnd0g20tERETG4N8YT/Loo49i5cqV2LhxI5KSkmquj4+PByAVloSEhJrr8/PznaotmqCgIAQFBTXsBhMREZFhNGhlRSmFCRMmYNmyZfjuu+/QoUMHu9936NAB8fHxWLNmTc11lZWV2LBhAwYMGNCQm0ZERETNRINWVh555BF89tln+OKLLxAREVHThxIVFYWQkBCYTCZMnDgRM2bMQEpKClJSUjBjxgyEhobizjvvbMhNIyIiomaiQcPKvHnzAABpaWl213/wwQe49957AQBPP/00ysrKMH78eBQUFKB///745ptvEBER0ZCbRkRERM1Eo66z0hC4zgoREVHzY9h1VoiIiIh8xbBCREREhsawQkRERIbGsEJERESGxrBCREREhsawQkRERIbGsEJERESGxrBCREREhsawQkRERIbGsEJERESGxrBCREREhsawQkRERIbGsEJERESGxrBCREREhsawQkRERIbGsEJERESGxrBCREREhsawQkRERIbGsEJERESGxrBCREREhsawQkRERIbGsEJERESGxrBCREREhsawQkRERIbGsEJERESGxrBCREREhsawQkRERIbGsEJERESGxrBCREREhsawQkRERIbGsEJERESGxrBCREREhsawQkRERIbGsEJERESGxrBCREREhsawQkRERIbGsEJERESGxrBCREREhsawQkRERIbGsEJERESGxrBCREREhsawQkRERIbGsEJERESGxrBCREREhsawQkRERIbGsEJERESGxrBCREREhsawQkRERIbGsEJERESGxrBCREREhsawQkRE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toNScZCVQuu3OsFhFCIiOt9xGKgesMmTiIio4TCs1BMGCiIioobBnpV6wr4MIiKipufjuqhEREREjYthhYiIiAyNYYWIiIgMjWGFiIiIDI1hhYiIiAyNYYWIiIgMjWGFiIiIDI1hhYiIiAyNYYWIiIgMjWGFiIiIDI1hhYiIiAyNYYWIiIgMjWGFiIiIDM0QYWXu3Lno0KEDgoOD0a9fP2zatKmpN4mIiIgMosnDypIlSzBx4kRMnToVu3fvxsCBA3HdddchKyurqTeNiIiIDMCklFJNuQH9+/dH3759MW/evJrrunbtiltuuQUzZ86s9f5FRUWIiopCYWEhIiMjG3JTiYiIqJ74cvxu0spKZWUldu7ciaFDh9pdP3ToUGzevNnlfSoqKlBUVGR3ISIioj+uJg0rJ0+ehMViQVxcnN31cXFxyMvLc3mfmTNnIioqquaSnJzcGJtKRERETaTJe1YAwGQy2f2slHK6TjNlyhQUFhbWXLKzsxtjE4mIiKiJ+Dflk7du3Rpms9mpipKfn+9UbdEEBQUhKCioMTaPiIiIDKBJKyuBgYHo168f1qxZY3f9mjVrMGDAgCbaKiIiIjKSJq2sAMCkSZNw99134+KLL0Zqairmz5+PrKwsjBs3rqk3jYiIiAygycPK7bffjlOnTuHFF19Ebm4uevTogdWrV6Ndu3ZNvWlERERkAE2+zsq54jorREREzU+zWWeFiIiIqDYMK0RERGRoDCtERERkaAwrREREZGgMK0RERGRoDCtERERkaAwrREREZGgMK0RERGRoDCtERERkaAwrREREZGgMK0RERGRoDCtERERkaAwrREREZGgMK0RERGRoDCtERERkaAwrREREZGgMK0RERGRoDCtERERkaAwrREREZGgMK0RERGRoDCtERERkaAwrREREZGgMK0RERGRoDCtERERkaAwrREREZGgMK0RERGRoDCtERERkaAwrREREZGgMK0RERGRoDCtERERkaAwrREREZGgMK0RERGRoDCtERERkaAwrREREZGgMK0RERGRoDCtERERkaAwrREREZGgMK0RERGRoDCtERERkaAwrREREZGgMK0RERGRoDCtERERkaAwrREREZGgMK0RERGRoDCtERERkaAwrREREZGgMK0RERGRoDCtERERkaAwrREREZGgMK0RERGRoDCtERERkaAwrREREZGgMK0RERGRoDCtERERkaAwrREREZGgMK0RERGRoDCtERERkaAwrREREZGgMK0RERGRoDCtERERkaAwrREREZGgMK0RERGRoDCtERERkaAwrREREZGgNGlamT5+OAQMGIDQ0FNHR0S5vk5WVhZtuuglhYWFo3bo1HnvsMVRWVjbkZhEREVEz4t+QD15ZWYnbbrsNqampeO+995x+b7FYcMMNNyAmJgbff/89Tp06hdGjR0MphX/+858NuWlERETUTDRoWHnhhRcAAB9++KHL33/zzTfYt28fsrOzkZiYCAB44403cO+992L69OmIjIxsyM0jIiKiZqBJe1a2bNmCHj161AQVALj22mtRUVGBnTt3NuGWERERkVE0aGWlNnl5eYiLi7O7rkWLFggMDEReXp7L+1RUVKCioqLm56KiogbdRiIiImpaPldWpk2bBpPJ5PGyY8cOrx/PZDI5XaeUcnk9AMycORNRUVE1l+TkZF9fAhERETUjPldWJkyYgFGjRnm8Tfv27b16rPj4eGzbts3uuoKCAlRVVTlVXDRTpkzBpEmTan4uKipiYCEiIvoD8zmstG7dGq1bt66XJ09NTcX06dORm5uLhIQEANJ0GxQUhH79+rm8T1BQEIKCgurl+YmIiMj4GrRnJSsrC6dPn0ZWVhYsFgvS09MBAJ07d0Z4eDiGDh2Kbt264e6778Zrr72G06dP46mnnsJDDz3EmUBEREQEoIHDyt///nd89NFHNT/36dMHALBu3TqkpaXBbDbjq6++wvjx43H55ZcjJCQEd955J15//fWG3CwiIiJqRkxKKdXUG3EuioqKEBUVhcLCQlZjiIiImglfjt88NxAREREZGsMKERERGRrDChERERkawwoREREZGsMKERERGRrDChERERkawwoREREZGsMKERERGRrDChERERkawwoREREZGsMKERERGRrDChERERkawwoREREZGsMKERERGRrDChERERkawwoREREZGsMKERERGRrDChERERkawwoREREZGsMKERERGRrDChERERkawwoREREZGsMKERERGRrDChERERkawwoREREZGsMKERERGRrDChERERkawwoREREZGsMKERERGRrDChERERkawwoREREZGsMKERERGRrDChERERkawwoREREZGsMKERERGRrDChERERkawwoREREZGsMKERERGRrDChERERkawwoREREZGsMKERERGRrDChERERkawwoREREZGsMKERERGRrDChERERkawwoREREZGsMKERERGRrDChERERkawwoREREZGsMKERERGRrDChERERkawwoREREZmn9Tb8C5UkoBAIqKipp4S4iIiMhb2nFbO4570uzDSnFxMQAgOTm5ibeEiIiIfFVcXIyoqCiPtzEpbyKNgVmtVhw/fhwREREwmUz1+thFRUVITk5GdnY2IiMj6/Wx/2i4r7zHfeU97ivvcV95j/vKNw21v5RSKC4uRmJiIvz8PHelNPvKip+fH5KSkhr0OSIjI/mG9hL3lfe4r7zHfeU97ivvcV/5piH2V20VFQ0bbImIiMjQGFaIiIjI0BhWPAgKCsLzzz+PoKCgpt4Uw+O+8h73lfe4r7zHfeU97ivfGGF/NfsGWyIiIvpjY2WFiIiIDI1hhYiIiAyNYYWIiIgMjWGFiIiIDI1hxYXp06djwIABCA0NRXR0tMvbZGVl4aabbkJYWBhat26Nxx57DJWVlY27oQYxd+5cdOjQAcHBwejXrx82bdrU1JtkCBs3bsRNN92ExMREmEwmrFixwu73SilMmzYNiYmJCAkJQVpaGvbu3ds0G9uEZs6ciUsuuQQRERGIjY3FLbfcggMHDtjdhvtKzJs3D7169apZnCs1NRVff/11ze+5n9ybOXMmTCYTJk6cWHMd95du2rRpMJlMdpf4+Pia3zf1vmJYcaGyshK33XYbHn74YZe/t1gsuOGGG1BaWorvv/8eixcvxtKlS/Hkk0828pY2vSVLlmDixImYOnUqdu/ejYEDB+K6665DVlZWU29akystLcVFF12E2bNnu/z9q6++ijfffBOzZ8/G9u3bER8fjyFDhtSc7+p8sWHDBjzyyCPYunUr1qxZg+rqagwdOhSlpaU1t+G+EklJSXj55ZexY8cO7NixA1dffTWGDRtWc9DgfnJt+/btmD9/Pnr16mV3PfeXve7duyM3N7fmsmfPnprfNfm+UuTWBx98oKKiopyuX716tfLz81PHjh2ruW7RokUqKChIFRYWNuIWNr1LL71UjRs3zu66Cy+8UD3zzDNNtEXGBEAtX7685mer1ari4+PVyy+/XHNdeXm5ioqKUu+8804TbKFx5OfnKwBqw4YNSinuq9q0aNFCLVy4kPvJjeLiYpWSkqLWrFmjBg0apB5//HGlFN9Xjp5//nl10UUXufydEfYVKyt1sGXLFvTo0QOJiYk111177bWoqKjAzp07m3DLGldlZSV27tyJoUOH2l0/dOhQbN68uYm2qnnIzMxEXl6e3b4LCgrCoEGDzvt9V1hYCABo2bIlAO4rdywWCxYvXozS0lKkpqZyP7nxyCOP4IYbbsDgwYPtruf+cpaRkYHExER06NABo0aNwuHDhwEYY181+xMZNoW8vDzExcXZXdeiRQsEBgYiLy+vibaq8Z08eRIWi8VpX8TFxZ1X+6EutP3jat8dPXq0KTbJEJRSmDRpEq644gr06NEDAPeVoz179iA1NRXl5eUIDw/H8uXL0a1bt5qDBveTbvHixdi1axe2b9/u9Du+r+z1798fH3/8Mbp06YLffvsNL730EgYMGIC9e/caYl+dN5UVV81DjpcdO3Z4/Xgmk8npOqWUy+v/6Bxf8/m6H+qC+87ehAkT8PPPP2PRokVOv+O+EhdccAHS09OxdetWPPzwwxg9ejT27dtX83vuJ5GdnY3HH38cn3zyCYKDg93ejvtLXHfddRgxYgR69uyJwYMH46uvvgIAfPTRRzW3acp9dd5UViZMmIBRo0Z5vE379u29eqz4+Hhs27bN7rqCggJUVVU5Jc8/statW8NsNjtVUfLz88+r/VAXWpd9Xl4eEhISaq4/n/fdo48+ipUrV2Ljxo1ISkqquZ77yl5gYCA6d+4MALj44ouxfft2zJo1C5MnTwbA/aTZuXMn8vPz0a9fv5rrLBYLNm7ciNmzZ9fMOOP+ci0sLAw9e/ZERkYGbrnlFgBNu6/Om8pK69atceGFF3q8eErftlJTU/HLL78gNze35rpvvvkGQUFBdv8w/ugCAwPRr18/rFmzxu76NWvWYMCAAU20Vc1Dhw4dEB8fb7fvKisrsWHDhvNu3ymlMGHCBCxbtgzfffcdOnToYPd77ivPlFKoqKjgfnJwzTXXYM+ePUhPT6+5XHzxxbjrrruQnp6Ojh07cn95UFFRgf379yMhIcEY761GaeNtZo4ePap2796tXnjhBRUeHq52796tdu/erYqLi5VSSlVXV6sePXqoa665Ru3atUt9++23KikpSU2YMKGJt7zxLV68WAUEBKj33ntP7du3T02cOFGFhYWpI0eONPWmNbni4uKa9w4A9eabb6rdu3ero0ePKqWUevnll1VUVJRatmyZ2rNnj7rjjjtUQkKCKioqauItb1wPP/ywioqKUuvXr1e5ubk1l7Nnz9bchvtKTJkyRW3cuFFlZmaqn3/+Wf3tb39Tfn5+6ptvvlFKcT/VxnY2kFLcX7aefPJJtX79enX48GG1detWdeONN6qIiIiaz/Km3lcMKy6MHj1aAXC6rFu3ruY2R48eVTfccIMKCQlRLVu2VBMmTFDl5eVNt9FNaM6cOapdu3YqMDBQ9e3bt2bK6flu3bp1Lt9Ho0ePVkrJdMDnn39excfHq6CgIHXllVeqPXv2NO1GNwFX+wiA+uCDD2puw30l7r///pp/azExMeqaa66pCSpKcT/VxjGscH/pbr/9dpWQkKACAgJUYmKiGj58uNq7d2/N75t6X5mUUqpxajhEREREvjtvelaIiIioeWJYISIiIkNjWCEiIiJDY1ghIiIiQ2NYISIiIkNjWCEiIiJDY1ghIiIiQ2NYISIiIkNjWCEiIiJDY1ghIiIiQ2NYISIiIkNjWCEiIiJD+/+emCuyw3N8xgAAAABJRU5ErkJggg==\"/>\n",
|
|
"\n",
|
|
"\n",
|
|
"Hint, draw the flower first. Then, make a for loop which steps through each position of the bee. Inside the for loop, draw a line segment between the bee and the flower."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 6,
|
|
"metadata": {
|
|
"nbgrader": {
|
|
"grade": true,
|
|
"grade_id": "cell-43f8774b1a82b15b",
|
|
"locked": false,
|
|
"points": 1,
|
|
"schema_version": 3,
|
|
"solution": true,
|
|
"task": false
|
|
}
|
|
},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"image/png": "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CgrCO++8U33/999/j8GDB6OkpKTBzkJdX2dd9m2QvSMiIqJ6ddlll1UHFQBISUnBG2+8gR07dkAphc6dO9s9vry8HK1atQIA7Ny5EwcPHsQnn3xSfb9SClarFZmZmejatWvjvIk6YlghIqILVnBwMIqLi2v1nGPHjqFr166wWq3Vt5nNZuzbtw9t2rTx+nXrk9lsxs6dO2E2m+1u13qNrFYrxo0bh8cff9zpuW3btq3XfWkIDCtERHTBMplMtRqOAYDOnTtj4cKFGDduHCwWC8xmM9555x2nno36tnXrVqfrycnJ6NOnDywWC/Lz8zFo0CCXz+3bty/27t2LTp06Neg+NhQW2BIREdXSQw89hCNHjmD9+vU4cuQIHnrooQZ/zezsbEyZMgUHDhzA4sWL8c9//hNPPPEEOnfujLvvvhv33Xcfli9fjszMTGzfvh2vvPIK1qxZAwCYOnUqtmzZgokTJyI9PR0ZGRlYtWoVHnvssQbf7/rAnhUiIqI6SEhIQEJCQqO93n333YfS0lJceumlMJvNeOyxxzB27FgAwAcffICXXnoJTz75JI4dO4ZWrVohJSUFw4cPBwD06tULaWlpmD59OgYNGgSlFDp27Ig77rij0fb/fHA2EBERXRA8zUyhhlFfs4E4DERERESGxrBCREREhsawQkRERIbGsEJERESGxrBCREREhsawQkREF5RmPgm2WamvY82wQkREFwQ/Pz8AwLlz55p4Ty4c2rHWjn1dcVE4IiK6IJjNZkRGRiI/Px+AnJ/H9sSAVH+UUjh37hzy8/MRGRnpdM6i2mJYISKiC0ZsbCwAVAcWaliRkZHVx/x8MKwQEdEFw2QyIS4uDtHR0aisrGzq3flD8/PzO+8eFQ3DChERXXDMZnO9NaTU8FhgS0RERIbGsEJERESGxrBCREREhsawQkRERIbGsEJERESGxrBCREREhsawQkRERIbGsEJERESGxrBCREREhsawQkRERIbGsEJERESGxrBCREREhsawQkRERIbGsEJERESGxrBCREREhsawQkRERIbGsEJERESGxrBCREREhsawQkRERIbGsEJERESGxrBCREREhsawQkRERIbGsEJERESGxrBCREREhtagYWX27Nm45JJLEBYWhujoaNxyyy04cOCA3WOUUpgxYwbi4+MRFBSE1NRU7N27tyF3i4iIiJqR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E088oZTi58rR888/ry6++GKX9xnhWLFnpQ62bNmCHj16ID4+vvq2a6+9FuXl5di5c2cT7lnjqqiowM6dOzFs2DC724cNG4bNmzc30V41D5mZmcjLy7M7dgEBARg8ePAFf+wKCgoAAC1btgTAY+WOxWLBkiVLUFJSgpSUFB4nNyZOnIjrr78eQ4YMsbudx8tZRkYG4uPjkZSUhNGjR+Pw4cMAjHGsmv2JDJtCXl4eYmJi7G5r0aIF/P39kZeX10R71fhOnjwJi8XidCxiYmIuqONQF9rxcXXsjh492hS7ZAhKKUyZMgVXXHEFevToAYDHytGePXuQkpKCsrIyhIaGYsWKFejWrVt1o8HjpFuyZAl27dqF7du3O93Hz5W9AQMG4OOPP0bnzp3x22+/4aWXXsLAgQOxd+9eQxyrC6ZnxVXxkONlx44dXm/PZDI53aaUcnn7H53je75Qj0Nd8NjZmzRpEn7++WcsXrzY6T4eK9GlSxekp6dj69atePTRRzFmzBjs27ev+n4eJ5GdnY0nnngC//73vxEYGOj2cTxe4rrrrsPIkSPRs2dPDBkyBF999RUA4KOPPqp+TFMeqwumZ2XSpEkYPXq0x8e0b9/eq23FxsZi27ZtdredOXMGlZWVTsnzj6x169Ywm81OvSj5+fkX1HGoC63KPi8vD3FxcdW3X8jH7rHHHsOqVauwceNGJCQkVN/OY2XP398fnTp1AgD0798f27dvx5w5czB16lQAPE6anTt3Ij8/H/369au+zWKxYOPGjZg7d271jDMeL9dCQkLQs2dPZGRk4JZbbgHQtMfqgulZad26NS666CKPF0/p21ZKSgp++eUX5ObmVt/2zTffICAgwO4fxh+dv78/+vXrh7Vr19rdvnbtWgwcOLCJ9qp5SEpKQmxsrN2xq6ioQFpa2gV37JRSmDRpEpYvX47vvvsOSUlJdvfzWHmmlEJ5eTmPk4NrrrkGe/bsQXp6evWlf//+uPvuu5Geno4OHTrweHlQXl6O/fv3Iy4uzhifrUYp421mjh49qnbv3q1eeOEFFRoaqnbv3q12796tioqKlFJKVVVVqR49eqhrrrlG7dq1S3377bcqISFBTZo0qYn3vPEtWbJE+fn5qffee0/t27dPTZ48WYWEhKgjR4409a41uaKiourPDgD15ptvqt27d6ujR48qpZR6+eWXVUREhFq+fLnas2ePuvPOO1VcXJwqLCxs4j1vXI8++qiKiIhQGzZsULm5udWXc+fOVT+Gx0pMmzZNbdy4UWVmZqqff/5Z/fWvf1U+Pj7qm2++UUrxONXEdjaQUjxetp588km1YcMGdfjwYbV161Z1ww03qLCwsOrv8qY+VgwrLowZM0YBcLqsX7+++jFHjx5V119/vQoKClItW7ZUkyZNUmVlZU23001o3rx5ql27dsrf31/17du3esrphW79+vUuP0djxoxRSsl0wOeff17FxsaqgIAAdeWVV6o9e/Y07U43AVfHCID64IMPqh/DYyUefPDB6n9rUVFR6pprrqkOKkrxONXEMazweOnuuOMOFRcXp/z8/FR8fLwaMWKE2rt3b/X9TX2sTEop1Th9OERERES1d8HUrBAREVHzxLBCREREhsawQkRERIbGsEJERESGxrBCREREhsawQkRERIbGsEJERESGxrBCREREhsawQkRERIbGsEJERESGxrBCREREhsawQkRERIb2/wFogiuxGNHIKwAAAABJRU5ErkJggg==",
|
|
"text/plain": [
|
|
"<Figure size 640x480 with 1 Axes>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"# Your code here. Check it is correct by comparing your figure with the above.\n",
|
|
"fig, ax = plt.subplots(nrows=1, ncols=1)\n",
|
|
"ax.plot( [flower[0]], [flower[1]], 'or', label='flower' )\n",
|
|
"ax.plot( bee_track[0], bee_track[1], '.-k', label='bee')\n",
|
|
"for i in range(bee_track.shape[1]):\n",
|
|
" bee_pos = bee_track[:,i]\n",
|
|
" ax.plot( [flower[0], bee_pos[0]], [flower[1], bee_pos[1]], 'b-' )\n",
|
|
"ax.axis('equal')\n",
|
|
"ax.legend();"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {
|
|
"nbgrader": {
|
|
"grade": false,
|
|
"grade_id": "cell-45a057824a59090e",
|
|
"locked": true,
|
|
"schema_version": 3,
|
|
"solution": false,
|
|
"task": false
|
|
}
|
|
},
|
|
"source": [
|
|
"## Q2 write a function called `my_distance` which takes two arguments, each of which is a length 2 sequence of `x`, `y` position and returns the Euclidean distance between these points."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 7,
|
|
"metadata": {
|
|
"nbgrader": {
|
|
"grade": false,
|
|
"grade_id": "cell-9d86e35ff582bf8f",
|
|
"locked": false,
|
|
"schema_version": 3,
|
|
"solution": true,
|
|
"task": false
|
|
}
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"def my_distance(a,b):\n",
|
|
" a = np.array(a)\n",
|
|
" b = np.array(b)\n",
|
|
" return np.sqrt(np.sum((a-b)**2))"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 8,
|
|
"metadata": {
|
|
"nbgrader": {
|
|
"grade": true,
|
|
"grade_id": "cell-d96cb3c1a49758db",
|
|
"locked": true,
|
|
"points": 0,
|
|
"schema_version": 3,
|
|
"solution": false,
|
|
"task": false
|
|
}
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"assert my_distance((0,0),(3,4)) == 5\n",
|
|
"assert my_distance((3,4), (0,0)) == 5\n",
|
|
"assert my_distance((13,14), (10,10)) == 5\n",
|
|
"assert my_distance((10,10), (13,14)) == 5"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {
|
|
"nbgrader": {
|
|
"grade": false,
|
|
"grade_id": "cell-9426c238469156ae",
|
|
"locked": true,
|
|
"schema_version": 3,
|
|
"solution": false,
|
|
"task": false
|
|
}
|
|
},
|
|
"source": [
|
|
"## Q3 compute the distance between each point on `bee_track` and `flower`. Put the results in a 1D numpy array called `distance`.\n",
|
|
"\n",
|
|
"Hint: recall the function you wrote in the \"numpy basics\" exercise called `compute_distance`."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 9,
|
|
"metadata": {
|
|
"nbgrader": {
|
|
"grade": false,
|
|
"grade_id": "cell-bf78a3429e48b28d",
|
|
"locked": false,
|
|
"schema_version": 3,
|
|
"solution": true,
|
|
"task": false
|
|
}
|
|
},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"array([18.96154002, 16.02203642, 13.18581669, 10.53661864, 8.256474 ,\n",
|
|
" 6.73148224, 6.5154281 , 7.71901634, 9.83412849, 12.40287921,\n",
|
|
" 15.19694713, 18.11235632, 21.09886634, 24.13009179, 27.19108233,\n",
|
|
" 30.27281036, 33.36953095, 36.47742595, 39.59386407, 42.71697555])"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"distance = np.zeros(bee_track.shape[1])\n",
|
|
"for i in range(bee_track.shape[1]):\n",
|
|
" bee_pos = bee_track[:,i]\n",
|
|
" distance[i] = my_distance(bee_pos, flower)\n",
|
|
"display(distance)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 10,
|
|
"metadata": {
|
|
"nbgrader": {
|
|
"grade": true,
|
|
"grade_id": "cell-70fd1e669decb646",
|
|
"locked": true,
|
|
"points": 1,
|
|
"schema_version": 3,
|
|
"solution": false,
|
|
"task": false
|
|
}
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"# If this runs without error, it means the answer in your previous cell was correct.\n",
|
|
"assert ads_hash(np.round(distance*1000).astype(np.int32))=='54f4f2edcb'"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Q4 make a plot of the bee track parameter `t` on the X axis and `distance` on the Y axis.\n",
|
|
"\n",
|
|
"It should look like this:\n",
|
|
"\n",
|
|
"<img src=\"data:image/png;base64,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 \">\n"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 11,
|
|
"metadata": {
|
|
"nbgrader": {
|
|
"grade": true,
|
|
"grade_id": "cell-acdc61a7b1539944",
|
|
"locked": false,
|
|
"points": 1,
|
|
"schema_version": 3,
|
|
"solution": true,
|
|
"task": false
|
|
}
|
|
},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"Text(0, 0.5, 'distance')"
|
|
]
|
|
},
|
|
"execution_count": 11,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
},
|
|
{
|
|
"data": {
|
|
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAjMAAAGwCAYAAABcnuQpAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABNpUlEQVR4nO3deVxU9eLG8c+wDYuAobIpKu4rLmAuWdqiv7xmmZWVuWtpaUW2aNvNuqVlN1uupanlUpneymw3NbdKTUBx30XFBXFllQFmzu8PjBuphQicGXjer9d5JWeG4zOJM4/nnO/3azEMw0BERETERbmZHUBERETkSqjMiIiIiEtTmRERERGXpjIjIiIiLk1lRkRERFyayoyIiIi4NJUZERERcWkeZgcoaw6Hg6NHj+Lv74/FYjE7joiIiBSDYRhkZGQQHh6Om9tfn3up8GXm6NGjREREmB1DRERESiA5OZlatWr95XMqfJnx9/cHCv5nBAQEmJxGREREiiM9PZ2IiIjCz/G/UuHLzO+XlgICAlRmREREXExxbhHRDcAiIiLi0lRmRERExKWpzIiIiIhLU5kRERERl6YyIyIiIi5NZUZERERcmsqMiIiIuDSVGREREXFpKjMiIiLi0lRmRERExKWpzIiIiIhLU5kRERERl6YyIyIiIiXicBj8tOO42TFUZkRERKRk3li6i2Fz4nnxm22m5lCZERERkcv29aajvLtiHwBRtQJNzaIyIyIiIpdly+E0nvp8EwAjrqvH7W1qmZpHZUZERESKLTUjhwc+iicnz0HXxjV46uYmZkdSmREREZHiseXbGflRAsfScqhXw4937m2Du5vF7FgqMyIiIvL3DMPguS+3suHQWfy9PZg5MIYAb0+zYwEqMyIiIlIMs349wGcJh3GzwJR+balXo4rZkQqpzIiIiMhf+nnPCV7+bjsAz/yjKV0a1TA5UVEqMyIiInJJSSezGD1vIw4D7mhbi2GdI82OdAGVGREREbmojJw87p8bT9q5PNrUrsort7fAYjH/ht8/U5kRERGRC9gdBo/OT2RvaiahAd683z8ab093s2NdlMqMiIiIXODfS3axfGcqVg833h8QTXCAt9mRLkllRkRERIr4KvEIU1cWLFUw6c4oWkVUNTfQ31CZERERkUKbD5/lqc83AzCyS31ua13T5ER/T2VGREREgPNLFcxN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zsKkpqZe8K+diuThhx/m66+/ZsWKFdSqVcvsOGUmISGB1NRUoqOj8fDwwMPDg1WrVvHOO+/g4eGB3W43O2KpCgsLo1mzZkX2NW3atELezP67J598knHjxnHPPffQsmVLBgwYwGOPPcbEiRPNjlbmQkNDASrd+1deXh59+/YlKSmJpUuXVtizMj///DOpqanUrl278P3r4MGDPP7449StW9fseGVKZeYyeXl5ER0dzdKlS4vsX7p0KZ06dTIpVdkxDIPRo0ezcOFCli9fTmRkpNmRytSNN97Ili1bSExMLNxiYmK47777SExMxN3d3eyIpeqaa665YKj97t27qVOnjkmJyl52djZubkXf+tzd3SvM0Oy/EhkZSWhoaJH3r9zcXFatWlUh37/gf0Vmz549LFu2jGrVqpkdqcwMGDCAzZs3F3n/Cg8P58knn+THH380O16Z0mWmEhgzZgwDBgwgJiaGjh07Mn36dA4dOsTIkSPNjlbqRo0axbx58/jqq6/w9/cv/BddYGAgPj4+Jqcrff7+/hfcD+Tn50e1atUq5H1Cjz32GJ06dWLChAn07duX9evXM336dKZPn252tDLTq1cvXnnlFWrXrk3z5s3ZuHEjkydPZujQoWZHKxWZmZns3bu38OukpCQSExMJCgqidu3axMbGMmHCBBo2bEjDhg2ZMGECvr6+9OvXz8TUJfdXrzc8PJw777yTDRs28O2332K32wvfw4KCgvDy8jIrdon93Z/vn8uap6cnoaGhNG7cuLyjli9zB1O5rnfffdeoU6eO4eXlZbRt27bCDlUGLrrNmjXL7GjlpiIPzTYMw/jmm2+MFi1aGFar1WjSpIkxffp0syOVqfT0dOPRRx81ateubXh7exv16tUznn32WcNms5kdrVSsWLHion9nBw0aZBhGwfDsF154wQgNDTWsVqtx3XXXGVu2bDE39BX4q9eblJR0yfewFStWmB29RP7uz/fPKsvQbIthGEY59SYRERGRUqd7ZkRERMSlqcyIiIiIS1OZEREREZemMiMiIiIuTWVGREREXJrKjIiIiLg0lRkRERFxaSozIiIi4tJUZkRERMSlqcyIiMvq2rUrsbGxZscQEZOpzIiIiIhL09pMIuKSBg8ezJw5c4rsS0pKom7duuYEEhHTqMyIiEtKS0ujR48etGjRgpdeegmAGjVq4O7ubnIyESlvHmYHEBEpicDAQLy8vPD19SU0NNTsOCJiIt0zIyIiIi5NZUZERERcmsqMiLgsLy8v7Ha72TFExGQqMyLisurWrctvv/3GgQMHOHnyJA6Hw+xIImIClRkRcVlPPPEE7u7uNGvWjBo1anDo0CGzI4mICTQ0W0RERFyazsyIiIiIS1OZEREREZemMiMiIiIuTWVGREREXJrKjIiIiLg0lRkRERFxaSozIiIi4tJUZkRERMSlqcyIiIiIS1OZEREREZemMiMiIiIu7f8BIET4B8yMaAEAAAAASUVORK5CYII=",
|
|
"text/plain": [
|
|
"<Figure size 640x480 with 1 Axes>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"# Your code here. Check it is correct by comparing your figure with the above.\n",
|
|
"fig, ax = plt.subplots(nrows=1, ncols=1)\n",
|
|
"ax.plot( t, distance )\n",
|
|
"ax.set_xlabel('t')\n",
|
|
"ax.set_ylabel('distance')"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Q5 Using `calc_distance_func` from the lecture, find the value of `t` that minimizes the distance between the bee and the flower. Save the result in `best_t`."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 12,
|
|
"metadata": {
|
|
"nbgrader": {
|
|
"grade": false,
|
|
"grade_id": "cell-23d19427610d2072",
|
|
"locked": false,
|
|
"schema_version": 3,
|
|
"solution": true,
|
|
"task": false
|
|
}
|
|
},
|
|
"outputs": [
|
|
{
|
|
"name": "stdout",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"t: 0.0 -> dist: 18.96154002184422\n",
|
|
"t: 1.0 -> dist: 15.253196386331622\n",
|
|
"t: 2.6180339999999998 -> dist: 9.762703375781847\n",
|
|
"t: 15.908845000462023 -> dist: 46.31882030539557\n",
|
|
"t: 7.694671914602477 -> dist: 14.474578507642399\n",
|
|
"t: 4.55713707768905 -> dist: 6.429979961714315\n",
|
|
"t: 4.606244750761416 -> dist: 6.44546748591665\n",
|
|
"t: 4.427556823536537 -> dist: 6.417932686426614\n",
|
|
"t: 3.7363806287215797 -> dist: 7.03303244654773\n",
|
|
"t: 4.454999062553287 -> dist: 6.416983793293304\n",
|
|
"t: 4.455122430031719 -> dist: 6.416983777420453\n",
|
|
"t: 4.455112223273879 -> dist: 6.416983777290153\n",
|
|
"t: 4.455112157328219 -> dist: 6.416983777290158\n",
|
|
"t: 4.45511228921954 -> dist: 6.416983777290159\n",
|
|
" message: \n",
|
|
" Optimization terminated successfully;\n",
|
|
" The returned value satisfies the termination criteria\n",
|
|
" (using xtol = 1.48e-08 )\n",
|
|
" success: True\n",
|
|
" fun: 6.416983777290153\n",
|
|
" x: 4.455112223273879\n",
|
|
" nit: 10\n",
|
|
" nfev: 14\n"
|
|
]
|
|
}
|
|
],
|
|
"source": [
|
|
"# Your code here. \n",
|
|
"\n",
|
|
"def compute_distance(a,b):\n",
|
|
" a = np.array(a)\n",
|
|
" b = np.array(b)\n",
|
|
" return np.sqrt(np.sum((a-b)**2))\n",
|
|
"\n",
|
|
"def calc_distance_func(t):\n",
|
|
" x1, y1 = flower\n",
|
|
" x2, y2 = make_bee_track(t)\n",
|
|
" dist = compute_distance((x1,y1), (x2,y2))\n",
|
|
" print(f't: {t} -> dist: {dist}')\n",
|
|
" return dist\n",
|
|
"\n",
|
|
"import scipy.optimize\n",
|
|
"result = scipy.optimize.minimize_scalar(calc_distance_func)\n",
|
|
"print(result)\n",
|
|
"best_t = result.x"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 13,
|
|
"metadata": {
|
|
"nbgrader": {
|
|
"grade": true,
|
|
"grade_id": "cell-0a3594afd2952a33",
|
|
"locked": true,
|
|
"points": 1,
|
|
"schema_version": 3,
|
|
"solution": false,
|
|
"task": false
|
|
}
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"# If this runs without error, it means the answer in your previous cell was correct.\n",
|
|
"assert ads_hash(np.round(best_t*1000).astype(np.int32))=='dec1ab2f6d'"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 14,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"array([7.82044889, 3.89102244])"
|
|
]
|
|
},
|
|
"execution_count": 14,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"make_bee_track(best_t)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "markdown",
|
|
"metadata": {},
|
|
"source": [
|
|
"## Q6 What is the position of the bee when it is closest to the flower? Save the result as a numpy array in `best_pos`."
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 15,
|
|
"metadata": {
|
|
"nbgrader": {
|
|
"grade": false,
|
|
"grade_id": "cell-cac598c7f739d146",
|
|
"locked": false,
|
|
"schema_version": 3,
|
|
"solution": true,
|
|
"task": false
|
|
}
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"# Your code here. \n",
|
|
"best_pos = make_bee_track(best_t)"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 16,
|
|
"metadata": {
|
|
"nbgrader": {
|
|
"grade": true,
|
|
"grade_id": "cell-9d882991838f0996",
|
|
"locked": true,
|
|
"points": 1,
|
|
"schema_version": 3,
|
|
"solution": false,
|
|
"task": false
|
|
}
|
|
},
|
|
"outputs": [],
|
|
"source": [
|
|
"# If this runs without error, it means the answer in your previous cell was correct.\n",
|
|
"assert type(best_pos)==np.ndarray\n",
|
|
"assert best_pos.ndim==1\n",
|
|
"assert best_pos.shape==(2,)\n",
|
|
"assert ads_hash(np.round(best_pos[0]*1000).astype(np.int32))=='e33b9415bc'\n",
|
|
"assert ads_hash(np.round(best_pos[1]*1000).astype(np.int32))=='f71cbfce4c'"
|
|
]
|
|
}
|
|
],
|
|
"metadata": {
|
|
"celltoolbar": "Create Assignment",
|
|
"kernelspec": {
|
|
"display_name": "Python 3 (ipykernel)",
|
|
"language": "python",
|
|
"name": "python3"
|
|
},
|
|
"language_info": {
|
|
"codemirror_mode": {
|
|
"name": "ipython",
|
|
"version": 3
|
|
},
|
|
"file_extension": ".py",
|
|
"mimetype": "text/x-python",
|
|
"name": "python",
|
|
"nbconvert_exporter": "python",
|
|
"pygments_lexer": "ipython3",
|
|
"version": "3.11.7"
|
|
}
|
|
},
|
|
"nbformat": 4,
|
|
"nbformat_minor": 4
|
|
}
|