Edit to fit on 6x9 book.

Somewhat arbitrary, but I want the code to be readable on
narrow paper than 8.5x11.
This commit is contained in:
Roger Labbe committed 2015-07-25 23:46:59 -07:00
1 parent 82f4e1569b
commit 925498a19e
21 files changed
+1445 -1533

No files matched your search

+3 -3
View File
@@ -1011,11 +1011,11 @@
"\n",
" 1. Initialize the state of the filter\n",
" 2. Initialize our belief in the state\n",
" \n",
"\n",
"**Predict**\n",
"\n",
" 1. Based on the system behavior, predict state at the next time step\n",
" 2. Adjust beliefto account for the uncertainty in prediction\n",
" 1.Use system behavior to predict state at the next time step\n",
" 2. Adjust belief to account for the uncertainty in prediction\n",
" \n",
"**Update**\n",
"\n",
+118 -181
View File
@@ -314,20 +314,18 @@
},
"outputs": [
{
"data": {
"text/plain": [
"array([ 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1])"
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
"name": "stdout",
"output_type": "stream",
"text": [
"[ 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1]\n"
]
}
],
"source": [
"import numpy as np\n",
"belief = np.array([1/10]*10)\n",
"belief"
"np.set_printoptions(precision=3, linewidth=50)\n",
"print(belief)"
]
},
{
@@ -372,7 +370,7 @@
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x6ab97b8>"
"<matplotlib.figure.Figure at 0x6e60cc0>"
]
},
"metadata": {},
@@ -409,13 +407,13 @@
"name": "stdout",
"output_type": "stream",
"text": [
"[ 0.333 0.333 0. 0. 0. 0. 0. 0. 0.333 0. ]\n"
"[ 0.333 0.333 0. 0. 0. 0. 0. 0.\n",
" 0.333 0. ]\n"
]
}
],
"source": [
"pbelief = hallway * (1/3)\n",
"np.set_printoptions(precision=3)\n",
"print(pbelief)"
]
},
@@ -437,7 +435,7 @@
" * door\n",
" \n",
"\n",
"Can we deduce where Simon is at the end of that sequence? Of course! Given the hallway's layout there is only one place where you can be in front of a door, move once to the right, and be in front of another door, and that is at the left end. Therefore we can confidently state that Simon is in front of the second doorway. If this is not clear, suppose Simon had started at the second or third door. After moving to the right, his sensor would have returned 'wall'. That doesn't match the sensor readings, so we know he didn't start there. We can continue with that logic for all the remaining starting positions. Therefore the only possibility is that he is now in front of the second door. We denote this in Python with:"
"Can we deduce where Simon is at the end of that sequence? Of course! Given the hallway's layout there is only one place where you can be in front of a door, move once to the right, and be in front of another door, and that is at the left end. Therefore we can confidently state that Simon is in front of the second doorway. If this is not clear, suppose Simon had started at the second or third door. After moving to the right, his sensor would have returned 'wall'. That doesn't match the sensor readings, so we know he didn't start there. We can continue with that logic for all the remaining starting positions. Therefore the only possibility is that he is now in front of the second door. We implement this in Python with:"
]
},
{
@@ -446,18 +444,9 @@
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[ 0. 1. 0. 0. 0. 0. 0. 0. 0. 0.]\n"
]
}
],
"outputs": [],
"source": [
"belief = np.array([0., 1., 0., 0., 0., 0., 0., 0., 0., 0.])\n",
"print(belief)"
"belief = np.array([0., 1., 0., 0., 0., 0., 0., 0., 0., 0.])"
]
},
{
@@ -503,7 +492,6 @@
"name": "stdout",
"output_type": "stream",
"text": [
"[ 0.3 0.3 0.1 0.1 0.1 0.1 0.1 0.1 0.3 0.1]\n",
"sum = 1.6\n"
]
},
@@ -511,7 +499,7 @@
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAtcAAACeCAYAAAD5RibQAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAGdlJREFUeJzt3X9QVXX+x/EXP1IvhUwuQSAoUC6mEik3Nq6Uzg7dWa01\nd0rSdi3Q1oU1U1l3XIodt0St3GFXTbAtB9laC3dq3CZZBxo1YqFZCW9rpq4uu2YD97a6huaGjnC+\nf7Teb7eL/Mgj5yLPx4wz8Dmfzz3v+x6c++J4/JwgwzAMAQAAALhswVYXAAAAAFwtCNcAAACASQjX\nAAAAgEkI1wAAAIBJCNcAAACASQjXAAAAgEkI1wAAAIBJegzXtbW1mjFjhuLi4hQcHKyKiooeX3T/\n/v2aMmWKwsLCFBcXp5UrV5pSLAAAABDIegzXZ8+e1a233qp169bJZrMpKCio2/mnT5/W3XffrZiY\nGDU2NmrdunVau3atSkpKTCsaAAAACERBfXlCY3h4uDZu3KiHH374knPKyspUWFgoj8ejoUOHSpJW\nrVqlsrIyffLJJ5dfMQAAABCgTL/nuqGhQXfeeac3WEuS0+lUS0uLjh07ZvbpAAAAgIARavYLut1u\njRo1ymcsOjrae2z06NHe8ba2NrNPDwAAAPSbiIgIn+9Nv3Ld0z3ZAAAAwNXK9HB94403yu12+4x5\nPB7vMQAAAOBqZfptIRkZGVq+fLnOnTvnve+6pqZGI0eO9Lkl5Ou+fkndbI2NjZIku91+Rc8zkNAT\nf/TEHz3xR0/80RN/9MQfPfFHT3wNlH50d2tzr7bic7lccrlc6uzs1LFjx+RyuXT8+HFJUmFhobKy\nsrzzH3roIYWFhSknJ0cHDhzQG2+8oWeffVYFBQUmvBUAAAAgcPUYrvfu3atJkyZp0qRJam9v14oV\nKzRp0iStWLFC0pf/SbG5udk7f/jw4aqpqVFLS4vsdrsWLVqkZcuWaenSpVfuXQAAAAABoMfbQqZO\nnarOzs5LHi8vL/cbmzBhgt55553LqwwAAAAYYEz/D40AAADAYEW4BgAAAExCuAYAAABMQrgGAAAA\nTEK4BgAAAExCuAYAAABMQrgGAAAATEK4BgAAAExCuAYAAABMQrgGAAAATEK4BgAAAExCuAYAAABM\nQrgGAAAATNKrcF1aWqrExETZbDbZ7XbV1dV1O7+qqkp33HGHhg8frhtuuEEzZ87UkSNHTCkYAAAA\nCFQ9huvKykotWbJERUVFcrlccjgcmjZtmo4fP97l/KNHj2rmzJmaOnWqXC6X3n77bbW3t2v69Omm\nFw8AAAAEkh7DdUlJiXJzczV//nwlJydr/fr1iomJUVlZWZfzXS6XOjs7tWbNGiUlJSk1NVXLly/X\nP/7xD/3nP/8x/Q0AAAAAgaLbcH3+/Hk1NTXJ6XT6jDudTtXX13e5ZvLkybruuuv04osvqqOjQ2fO\nnNGWLVuUnp6uESNGmFc5AAAAEGCCDMMwLnWwpaVFcXFxqq2tVWZmpnf86aef1tatW3Xo0KEu19XX\n12vmzJk6deqUOjs7NXHiRP35z3/WDTfc4DOvra3N+zX3ZAMAAGAgGDNmjPfriIgIn2Om7xbS3Nys\nmTNnKjc3V42NjdqzZ4/Cw8OVnZ2tbnI8AAAAMOCFdncwMjJSISEh8ng8PuMej0cxMTFdrnnhhRcU\nHx+vZ5991jv2yiuvKD4+Xg0NDXI4HF2us9vtfa29TxobG/vlPAMJPfFHT/zRE3/0xB898UdP/NET\nf/TE10Dpx1fvvvi6bq9cDxkyRGlpaaqurvYZr6mpuWRINgxDwcG+L3vx+87Ozl4VDAAAAAxEPd4W\nUlBQoC1btmjz5s06ePCgFi9eLLfbrby8PElSYWGhsrKyvPNnzJihpqYmrVy5UkeOHFFTU5Nyc3M1\natQopaWlXbl3AgAAAFis29tCJCk7O1snT55UcXGxWltblZKSoqqqKsXHx0uS3G63mpubvfMzMzNV\nWVmpZ555Rs8995zCwsKUkZGhnTt3ymazXbl3AgAAAFisx3AtSfn5+crPz+/yWHl5ud/YAw88oAce\neODyKgMAAAAGGNN3CwEAAAAGK8I1AAAAYBLCNQAAAGASwjUAAABgEsI1AAAAYBLCNQAAAGASwjUA\nAABgEsI1AAAAYBLCNQAAAGASwjUAAABgEsI1AAAAYBLCNQAAAGASwjUAAABgkl6F69LSUiUmJspm\ns8lut6uurq7HNb/97W81duxYDRs2TLGxsSosLLzsYgEAAIBAFtrThMrKSi1ZskRlZWXKzMzUxo0b\nNW3aNH300UeKj4/vck1BQYF27NihX//610pJSVFbW5taW1tNLx4AAAAIJD2G65KSEuXm5mr+/PmS\npPXr12vnzp0qKyvT6tWr/eYfPnxYzz//vPbv36/k5GTveGpqqollAwAAAIGn29tCzp8/r6amJjmd\nTp9xp9Op+vr6Ltf86U9/UlJSkqqqqpSUlKTExETl5OTo3//+t3lVAwAAAAEoyDAM41IHW1paFBcX\np9raWmVmZnrHn376aW3dulWHDh3yW5OXl6eKigrddtttWrt2rSRp2bJlkqSGhgYFBQV557a1tXm/\nPnLkyOW/GwAAAOAKGzNmjPfriIgIn2M93hbSV52dnTp37pxefvll3XzzzZKkl19+WcnJyWpsbNTt\nt99u9ikBAACAgNBtuI6MjFRISIg8Ho/PuMfjUUxMTJdrYmJiFBoa6g3WknTzzTcrJCREH3/88SXD\ntd1u72vtfdLY2Ngv5xlI6Ik/euKPnvijJ/7oiT964o+e+KMnvgZKP75698XXdXvP9ZAhQ5SWlqbq\n6mqf8ZqaGjkcji7XZGZm6sKFC2pubvaONTc3q6OjQ6NHj+5L3QAAAMCA0uM+1wUFBdqyZYs2b96s\ngwcPavHixXK73crLy5MkFRYWKisryzs/KytLkyZN0rx58+RyubRv3z7NmzdPd9xxR8D/FgIAAABc\njh7vuc7OztbJkydVXFys1tZWpaSkqKqqyrvHtdvt9rlKHRQUpLfeekuPP/647rrrLtlsNjmdTpWU\nlFy5dwEAAAAEgF79h8b8/Hzl5+d3eay8vNxv7MYbb9S2bdsurzIAAABggOnV488BAAAA9IxwDQAA\nAJiEcA0AAACYhHANAAAAmIRwDQAAAJiEcA0AAACYhHANAAAAmIRwDQAAAJiEcA0AAACYhHANAAAA\nmIRwDQAAAJiEcA0AAACYhHANAAAAmKRX4bq0tFSJiYmy2Wyy2+2qq6vr1YsfOXJE4eHhCg8Pv6wi\nAQAAgIGgx3BdWVmpJUuWqKioSC6XSw6HQ9OmTdPx48e7XXf+/HnNnj1bU6ZMUVBQkGkFAwAAAIGq\nx3BdUlKi3NxczZ8/X8nJyVq/fr1iYmJUVlbW7brly5frtttu06xZs2QYhmkFAwAAAIGq23B9/vx5\nNTU1yel0+ow7nU7V19dfct2OHTu0Y8cObdiwgWANAACAQSO0u4MnTpxQR0eHoqOjfcajoqLkdru7\nXNPS0qIFCxZo+/btCgsL63UhjY2NvZ57OfrrPAMJPfFHT/zRE3/0xB898UdP/NETf/TEV6D3Y8yY\nMZc8ZvpuIXPnzlV+fr5uv/12s18aAAAACGjdXrmOjIxUSEiIPB6Pz7jH41FMTEyXa3bv3q3a2lo9\n9dRTkiTDMNTZ2alrrrlGZWVlevTRR7tcZ7fbv0n9vXbxN6ArfZ6BhJ74oyf+6Ik/euKPnvijJ/7o\niT964mug9KOtre2Sx7oN10OGDFFaWpqqq6t1//33e8dramo0a9asLtd8+OGHPt9v375dq1at0t69\nexUbG9uXugEAAIABpdtwLUkFBQWaO3eu0tPT5XA4tGnTJrndbuXl5UmSCgsLtXfvXr399tuSpHHj\nxvms/+tf/6rg4GC/cQAAAOBq02O4zs7O1smTJ1VcXKzW1lalpKSoqqpK8fHxkiS3263m5uZuX4N9\nrgEAADAY9BiuJSk/P1/5+fldHisvL+92bU5OjnJycvpcGAAAADDQmL5bCAAAADBYEa4BAAAAkxCu\nAQAAAJMQrgEAAACTEK4BAAAAkxCuAQAAAJP0aiu+/lB37NQVff0zw6L65TxfFXttqJIiw/u8rvnE\nGbWcvXAFKvI1kHoCAEB/6a/PYan/P4v5HL7yAiZcL6o90U9nOtdP55E23BWppMi+r2s5e6Ef+yEN\nhJ4AANBf+v9zWOqvz2I+h688bgsBAAAATEK4BgAAAExCuAYAAABMQrgGAAAATEK4BgAAAEzS63Bd\nWlqqxMRE2Ww22e121dXVXXLunj17dN999yk2NlbXXnutUlNTVV5ebkrBAAAAQKDqVbiurKzUkiVL\nVFRUJJfLJYfDoWnTpun48eNdzm9oaFBqaqpef/11HThwQPn5+VqwYIFeffVVU4sHAAAAAkmv9rku\nKSlRbm6u5s+fL0lav369du7cqbKyMq1evdpvfmFhoc/3eXl52r17t15//XXNmTPHhLIBAACAwNPj\nlevz58+rqalJTqfTZ9zpdKq+vr7XJ2pra9OIESP6XiEAAAAwQPR45frEiRPq6OhQdHS0z3hUVJTc\nbnevTvLWW29p165dfQrjV4MzZ86osfEffV/3v0ehXo2+aU/6W2Njo9UlBBx64o+e+KMn/uiJv0Dv\nCZ/D1gv0n5ExY8Zc8tgV3y3kL3/5i374wx9qw4YNstvtV/p0AAAAgGV6vHIdGRmpkJAQeTwen3GP\nx6OYmJhu19bV1emee+7RypUr9ZOf/OTyKh2AwsPDZZ8wqs/r6o6dknTO/IICwDftSX+5+Jsyvwj+\nP3rij574oyf+6Im/gdITPoetM1B+Rtra2i55rMcr10OGDFFaWpqqq6t9xmtqauRwOLine truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x6b0c860>"
"<matplotlib.figure.Figure at 0x6ea77f0>"
]
},
"metadata": {},
@@ -527,8 +515,6 @@
"belief = np.array([0.1] * 10)\n",
"reading = 1 # 1 is 'door'\n",
"update(hallway, belief, z=1, correct_scale=3.)\n",
"\n",
"print(belief)\n",
"print('sum =', sum(belief))\n",
"bp.bar_plot(belief)"
]
@@ -563,7 +549,7 @@
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x7126b38>"
"<matplotlib.figure.Figure at 0x6ea7e48>"
]
},
"metadata": {},
@@ -573,7 +559,7 @@
"source": [
"def normalize(distribution):\n",
" assert distribution.dtype.kind == 'f'\n",
" \"\"\" Normalize a probability distribution so it sums to 1.0\"\"\"\n",
" \"\"\" Normalize distribution so it sums to 1.0\"\"\"\n",
" distribution /= sum(distribution.astype(float)) \n",
"\n",
"def update(map_, belief, z, prob_correct):\n",
@@ -635,18 +621,20 @@
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"belief before predict = [ 0.35 0.1 0.2 0.3 0. 0. 0. 0. 0. 0.05]\n",
"belief after predict = [ 0.05 0.35 0.1 0.2 0.3 0. 0. 0. 0. 0. ]\n"
]
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x7435ba8>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x7106a58>"
"<matplotlib.figure.Figure at 0x7537048>"
]
},
"metadata": {},
@@ -655,8 +643,8 @@
],
"source": [
"def perfect_predict(belief, move):\n",
" \"\"\" move the position by 'move' spaces, where positive is to the right, \n",
" and negative is to the left\n",
" \"\"\" move the position by 'move' spaces, where positive is \n",
" to the right, and negative is to the left\n",
" \"\"\"\n",
" n = len(belief)\n",
" result = np.zeros(n)\n",
@@ -665,11 +653,10 @@
" belief[:] = result # copy back to original array\n",
" \n",
"belief = np.array([.35, .1, .2, .3, 0, 0, 0, 0, 0, .05])\n",
"print('belief before predict =', belief)\n",
"bp.bar_plot(belief, title='Before prediction')\n",
"plt.show()\n",
"\n",
"perfect_predict(belief, 1)\n",
"print('belief after predict =', belief)\n",
"bp.bar_plot(belief, title='After prediction')"
]
},
@@ -709,18 +696,11 @@
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[ 0. 0. 0. 0. 0.1 0.8 0.1 0. 0. 0. ]\n"
]
},
{
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x7099fd0>"
"<matplotlib.figure.Figure at 0x75b60b8>"
]
},
"metadata": {},
@@ -740,7 +720,6 @@
"\n",
"belief = np.array([0., 0., 0., 1., 0., 0., 0., 0., 0., 0.])\n",
"predict(belief, move=2, p_correct=.8, p_under=.1, p_over=.1)\n",
"print(belief)\n",
"bp.bar_plot(belief)"
]
},
@@ -759,18 +738,11 @@
"scrolled": true
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[ 0. 0. 0. 0.04 0.38 0.52 0.06 0. 0. 0. ]\n"
]
},
{
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x71e9d30>"
"<matplotlib.figure.Figure at 0x75ca400>"
]
},
"metadata": {},
@@ -780,7 +752,6 @@
"source": [
"belief = np.array([0, 0, .4, .6, 0, 0, 0, 0, 0, 0])\n",
"predict(belief, move=2, p_correct=.8, p_under=.1, p_over=.1)\n",
"print(belief)\n",
"bp.bar_plot(belief)"
]
},
@@ -804,7 +775,7 @@
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x45106a0>"
"<matplotlib.figure.Figure at 0x7575080>"
]
},
"metadata": {},
@@ -829,18 +800,11 @@
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[ 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1 0.1]\n"
]
},
{
"data": {
"image/png": "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\n02fc6XSqtra20zV//vOflZCQoIqKCiUkJCg+Pl5ZWVn6z3/+Y17VAAAAQAAKMgzDuNzB5uZmxcTE\nqLq6Wunp6d7xlStXatu2bTp69KjfmpycHJWVlemuu+7SunXrJEnLly+XJNXV1SkoKMg7t7W11fu6\nsbHxyj8NAAAAcJWNGjXK+zoiIsLnWLfbQnqro6ND58+f19atW3X77bdLkrZu3arExETV19dr4sSJ\nZp8SAAAACAhdhuthw4YpJCREHo/HZ9zj8SgqKqrTNVFRUQoNDfUGa0m6/fbbFRISoo8//viy4dpu\nt/e29l6pr6+/JufpS+iJP3rij574oyf+6Ik/euKPnvijJ776Sj8u3X3xdV3uuR44cKBSUlJUWVnp\nM15VVSWHw9HpmvT0dF28eFFNTU3esaamJrW3t2vkyJG9qRsAAADoU7q9z3VeXp62bNmizZs368iR\nI1qyZIncbrdycnIkSfn5+crIyPDOz8jI0IQJE7RgwQK5XC4dPHhQCxYs0KRJkwL+pxAAAADgSnS7\n5zozM1OnTp1SYWGhWlpalJSUpIqKCu89rt1ut89V6qCgIL399tt64okndM8998hms8npdKqoqOjq\nfQoAAAAgAPToFxpzc3OVm5vb6bHS0lK/sVtuuUXbt2+/ssoAAACAPqZHjz8HAAAA0D3CNQAAAGAS\nwjUAAABgEsI1AAAAYBLCNQAAAGASwjUAAABgEsI1AAAAYBLCNQAAAGASwjUAAABgEsI1AAAAYBLC\nNQAAAGASwjUAAABgEsI1AAAAYJIehevi4mLFx8fLZrPJbrerpqamR2/e2Nio8PBwhYeHX1GRAAAA\nQF/QbbguLy/X0qVLVVBQIJfLJYfDoWnTpunEiRNdrrtw4YLmzp2rKVOmKCgoyLSCAQAAgEDVbbgu\nKipSdna2Fi5cqMTERG3YsEFRUVEqKSnpct2KFSt01113afbs2TIMw7SCAQAAgEDVZbi+cOGCGhoa\n5HQ6fcadTqdqa2svu27nzp3auXOnNm7cSLAGAABAvxHa1cGTJ0+qvb1dkZGRPuPDhw+X2+3udE1z\nc7MWLVqkHTt2KCwsrMeF1NfX93julbhW5+lL6Ik/euKPnvijJ/7oiT964o+e+KMnvgK9H6NGjbrs\nMdPvFjJ//nzl5uZq4sSJZr81AAAAENC6vHI9bNgwhYSEyOPx+Ix7PB5FRUV1umbv3r2qrq7WM888\nI0kyDEMdHR0aMGCASkpK9Oijj3a6zm63f5P6e+yrn4Cu9nn6Enrij574oyf+6Ik/euKPnvijJ/7o\nia++0o/W1tbLHusyXA8cOFApKSmqrKzUzJkzveNVVVWaPXt2p2s++OADn6937Nih1atX68CBA4qO\nju5N3QAAAECf0mW4lqS8vDzNnz9fqampcjgcevHFF+V2u5WTkyNJys/P14EDB7R7925J0pgxY3zW\n/+1vf1NwcLDfOAAAAHC96TZcZ2Zm6tSpUyosLFRLS4uSkpJUUVGh2NhYSZLb7VZTU1OX78F9rgEA\nANAfdBuuJSk3N1e5ubmdHistLe1ybVZWlrKysnpdGAAAANDXmH63EAAAAKC/IlwDAAAAJiFcAwAA\nACYhXAMAAAAmIVwDAAAAJiFcAwAAACYhXAMAAAAmIVwDAAAAJiFcAwAAACYhXAMAAAAmIVwDAAAA\nJiFcAwAAACYhXAMAAAAm6XG4Li4uVnx8vGw2m+x2u2pqai47d9++fXrwwQcVHR2tG264QcnJySot\nLTWlYAAAACBQ9Shcl5eXa+nSpSooKJDL5ZLD4dC0adN04sSJTufX1dUpOTlZb7zxhg4fPqzc3Fwt\nWrRIr732mqnFAwAAAIEktCeTioqKlJ2drYULF0qSNmzYoF27dqmkpERr1qzxm5+fn+/zdU5Ojvbu\n3as33nhD8+bNM6FsAAAAIPB0e+X6woULamhokNPp9Bl3Op2qra3t8YlaW1s1dOjQ3lcIAAAA9BFB\nhmEYXU1obm5WTEyMqqurlZ6e7h1fuXKltm3bpqNHj3Z7krfffls//OEPVVtbK7vd7h1vbW31vm5s\nbPwm9QMAAADX1KhRo7yvIyIifI5d9buF/PWvf9WPfvQjbdy40SdYAwAAANebbvdcDxs2TCEhIfJ4\nPD7jHo9HUVFRXa6tqanR/fffr1WrVumnP/1pl3OvdvCur6+/JufpS+iJP3rij574oyf+6Ik/euKP\nnvijJ776Sj8u3X3xdd1euR44cKBSUlJUWVnpM15VVSWHw3HZddXV1brvvvv0zDPP6IknnuhFuQAA\nAEDf1KO7heTl5Wn+/PlKTU2Vw+HQiy++KLfbrZycHElf3h3kwIED2r17t6Qv73N9//336/HHH9e8\nefPkdrslSSEhIbr55puv0kcBAAAArNWjcJ2ZmalTp06psLBQLS0tSkpKUkVFhWJjYLine truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x6af37f0>"
"<matplotlib.figure.Figure at 0x74cb860>"
]
},
"metadata": {},
@@ -851,7 +815,6 @@
"belief = np.array([1.0, 0, 0, 0, 0, 0, 0, 0, 0, 0])\n",
"for i in range(500):\n",
" predict(belief, move=1, p_correct=.8, p_under=.1, p_over=.1)\n",
"print(belief)\n",
"bp.bar_plot(belief)"
]
},
@@ -931,19 +894,20 @@
"outputs": [
{
"data": {
"image/png": "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 truncated
"text/plain": [
"array([ 0.05, 0.05, 0.05, 0.05, 0.1 , 0.45, 0.1 , 0.05, 0.05, 0.05])"
"<matplotlib.figure.Figure at 0x76447b8>"
]
},
"execution_count": 15,
"metadata": {},
"output_type": "execute_result"
"output_type": "display_data"
}
],
"source": [
"belief = np.array([.05, .05, .05, .05, .55, .05, .05, .05, .05, .05])\n",
"belief = np.array([.05] * 10)\n",
"belief[4] = .55\n",
"predict(belief, offset=1, kernel=[.1, .8, .1])\n",
"belief"
"bp.bar_plot(belief)"
]
},
{
@@ -964,19 +928,20 @@
"outputs": [
{
"data": {
"image/png": "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 truncated
"text/plain": [
"array([ 0.05, 0.05, 0.05, 0.05, 0.05, 0.05, 0.1 , 0.45, 0.1 , 0.05])"
"<matplotlib.figure.Figure at 0x76c4b00>"
]
},
"execution_count": 16,
"metadata": {},
"output_type": "execute_result"
"output_type": "display_data"
}
],
"source": [
"belief = np.array([.05, .05, .05, .05, .55, .05, .05, .05, .05, .05])\n",
"belief = np.array([.05] * 10)\n",
"belief[4] = .55\n",
"predict(belief, offset=3, kernel=[.1, .8, .1])\n",
"belief"
"bp.bar_plot(belief)"
]
},
{
@@ -1006,20 +971,17 @@
},
"outputs": [
{
"data": {
"text/plain": [
"array([ 0.083, 0.167, 0.5 , 0.167, 0.083])"
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
"name": "stdout",
"output_type": "stream",
"text": [
"[ 0.083 0.167 0.5 0.167 0.083]\n"
]
}
],
"source": [
"kernel = np.array([1, 2, 6, 2, 1], dtype=float)\n",
"normalize(kernel)\n",
"kernel"
"print(kernel)"
]
},
{
@@ -1051,18 +1013,21 @@
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[ 0.188 0.188 0.062 0.062 0.062 0.062 0.062 0.062 0.188 0.062]\n"
]
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x74a7160>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"hallway = np.array([1, 1, 0, 0, 0, 0, 0, 0, 1, 0])\n",
"belief = np.array([.1] * 10)\n",
"update(hallway, belief, z=1, prob_correct=.75)\n",
"print(belief)"
"bp.bar_plot(belief)"
]
},
{
@@ -1072,18 +1037,11 @@
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[ 0.088 0.175 0.175 0.075 0.062 0.062 0.062 0.062 0.075 0.163]\n"
]
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAtcAAACeCAYAAAD5RibQAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAGYNJREFUeJzt3X9UlvX9x/EXYOpNISdnEAgJlMNUIuWOxS1lZ4fuM8uZ\nW0naZoE2BytTmTuOYsepqJU7bGqCzjzIahbu1HGdZB7oqBGDziS8m5k6GpvZgftuOkNzoUe4vn/0\n9T7d3ciPvPC6gefjHM+5+VyfD9f7fh/FFxcXnyvIMAxDAAAAAK5YsNUFAAAAAAMF4RoAAAAwCeEa\nAAAAMAnhGgAAADAJ4RoAAAAwCeEaAAAAMAnhGgAAADBJt+G6urpaM2bMUExMjIKDg1VWVtbtJz10\n6JCmTp2q0NBQxcTEaNWqVaYUCwAAAASybsP1uXPndNttt2n9+vWy2WwKCgrqcv6ZM2d07733Kioq\nSvX19Vq/fr3WrVunoqIi04oGAAAAAlFQb57QGBYWpk2bNunRRx+97JySkhLl5+fL4/Fo2LBhkqTV\nq1erpKREn3zyyZVXDAAAAAQo0++5rqur01133eUN1pLkdDrV3Nys48ePm306AAAAIGAMMfsTut1u\n3XTTTT5jkZGR3mNjxozxjre2tpp9egAAAOCqCQ8P9/nY9CvX3d2TDQAAAAxUpofrG2+8UW6322fM\n4/F4jwEAAAADlem3haSlpWnZsmU6f/68977rqqoqjR492ueWkK/7+iV1s9XX10uS7HZ7n56nP6En\n/uiJP3rij574oyf+6Ik/euKPnvjqL/3o6tbmHm3F53K55HK51NHRoePHj8vlcunEiROSpPz8fGVk\nZHjnP/LIIwoNDVVWVpYOHz6s119/Xc8995zy8vJMeCsAAABA4Oo2XB84cECTJ0/W5MmT1dbWpuXL\nl2vy5Mlavny5pC9/SbGpqck7f8SIEaqqqlJzc7PsdrsWLlyopUuXasmSJX33LgAAAIAA0O1tIffc\nc486Ojoue7y0tNRvbOLEiXr77bevrDIAAACgnzH9FxoBAACAwYpwDQAAAJiEcA0AAACYhHANAAAA\nmIRwDQAAAJiEcA0AAACYhHANAAAAmIRwDQAAAJiEcA0AAACYhHANAAAAmIRwDQAAAJiEcA0AAACY\nhHANAAAAmKRH4bq4uFjx8fGy2Wyy2+2qqanpcn5FRYXuvPNOjRgxQjfccINmzpypxsZGUwoGAAAA\nAlW34bq8vFyLFy9WQUGBXC6XHA6Hpk2bphMnTnQ6/6OPPtLMmTN1zz33yOVy6a233lJbW5vuu+8+\n04sHAAAAAkm34bqoqEjZ2dmaP3++EhMTtWHDBkVFRamkpKTT+S6XSx0dHVq7dq0SEhKUnJysZcuW\n6Z///Kf++9//mv4GAAAAgEDRZbi+cOGCGhoa5HQ6fcadTqdqa2s7XTNlyhRdd9112rp1q9rb23X2\n7Flt375dqampGjlypHmVAwAAAAEmyDAM43IHm5ubFRMTo+rqaqWnp3vHV65cqR07dujo0aOdrqut\nrdXMmTN1+vRpdXR0aNKkSfrLX/6iG264wWdea2ur9zX3ZAMAAKA/GDt2rPd1eHi4zzHTdwtpamrS\nzJkzlZ2drfr6eu3fv19hYWHKzMxUFzkeAAAA6PeGdHVw1KhRCgkJkcfj8Rn3eDyKiorqdM2WLVsU\nGxur5557zjv28ssvKzY2VnV1dXI4HJ2us9vtva29V+rr66/KefoTeuKPnvijJ/7oiT964o+e+KMn\n/uiJr/7Sj6/effF1XV65Hjp0qFJSUlRZWekzXlVVddmQbBiGgoN9P+2ljzs6OnpUMAAAANAfdXtb\nSF5enrZv365t27bpyJEjWrRokdxut3JyciRJ+fn5ysjI8M6fMWOGGhoatGrVKjU2NqqhoUHZ2dm6\n6aablJKS0nfvBAAAALBYl7eFSFJmZqZOnTqlwsJCtbS0KCkpSRUVFYqNjZUkud1uNTU1eeenp6er\nvLxczz77rJ5//nmFhoYqLS1Ne/bskc1m67t3AgAAAFis23AtSbm5ucrNze30WGlpqd/YQw89pIce\neujKKgMAAAD6GdN3CwEAAAAGK8I1AAAAYBLCNQAAAGASwjUAAABgEsI1AAAAYBLCNQAAAGASwjUA\nAABgEsI1AAAAYBLCNQAAAGASwjUAAABgEsI1AAAAYBLCNQAAAGASwjUAAABgkh6F6+LiYsXHx8tm\ns8lut6umpqbbNb/73e80btw4DR8+XNHR0crPz7/iYgEAAIBANqS7CeXl5Vq8eLFKSkqUnp6uTZs2\nadq0afrwww8VGxvb6Zq8vDzt3r1bv/nNb5SUlKTW1la1tLSYXjwAAAAQSLoN10VFRcrOztb8+fMl\nSRs2bNCePXtUUlKiNWvW+M0/duyYXnjhBR06dEiJiYne8eTkZBPLBgAAAAJPl7eFXLhwQQ0NDXI6\nnT7jTqdTtbW1na7585//rISEBFVUVCghIUHx8fHKysrSf/7zH/OqBgAAAAJQkGEYxuUONjc3KyYm\nRtXV1UpPT/eOr1y5Ujt27NDRo0f91uTk5KisrEy333671q1bJ0launSpJKmurk5BQUHeua2trd7X\njY2NV/5uAAAAgD42duxY7+vw8HCfY93eFtJbHR0dOn/+vF566SXdcsstkqSXXnpJiYmJqq+v1x13\n3GH2KQEAAICA0GW4HjVqlEJCQuTxeHzGPR6PoqKiOl0TFRWlIUOGeIO1JN1yyy0KCQnRxx9/fNlw\nbbfbe1t7r9TX11+V8/Qn9MQfPfFHT/zRE3/0xB898UdP/NETX/2lH1+9++LrurzneujQoUpJSVFl\nZaXPeFVVlRwOR6dr0tPTdfHiRTU1NXnHmpqa1N7erjFjxvSmbgAAAKBf6Xaf67y8PG3fvl3btm3T\nkSNHtGjRIrndbuXk5EiS8vPzlZGR4Z2fkZGhyZMna968eXK5XDp48KDmzZunO++8M+C/CwEAAACu\nRLf3XGdmZurUqVMqLCxUS0uLkpKSVFFR4d3j2u12+1ylDgoK0ptvvqmnnnpKd999t2w2m5xOp4qK\nivruXQAAAAABoEe/0Jibm6vc3NxOj5WWlvqN3Xjjjdq5c+eVVQYAAAD0Mz16/DkAAACA7hGuAQAA\nAJMQrgEAAACTEK4BAAAAkxCuAQAAAJMQrgEAAACTEK4BAAAAkxCuAQAAAJMQrgEAAACTEK4BAAAA\nkxCuAQAAAJMQrgEAAACTEK4BAAAAk/QoXBcXFys+Pl42m012u101NTU9+uSNjY0KCwtTWFjYFRUJ\nAAAA9Afdhuvy8nItXrxYBQUFcrlccjgcmjZtmk6cONHlugsXLmj27NmaOnWqgoKCTCsYAAAACFTd\nhuuioiJlZ2dr/vz5SkxM1IYNGxQVFaWSkpIu1y1btky33367Zs2aJcMwTCsYAAAACFRdhusLFy6o\noaFBTqfTZ9zpdKq2tvay63bv3q3du3dr48aNBGsAAAAMGkO6Onjy5Em1t7crMjLSZzwiIkJut7vT\nNc3NzVqwYIF27dql0NDQHhdSX1/f47lX4mqdpz+hJ/7oiT964o+e+KMn/uiJP3rij574CvR+jB07\n9rLHTN8tZO7cucrNzdUdd9xh9qcGAAAAAlqXV65HjRqlkJAQeTwen3GPx6OoqKhO1+zbt0/V1dVa\nsWKFJMkwDHV0dOiaa65RSUmJHn/88U7X2e32b1J/j136Dqivz9Of0BN/9MQfPfFHT/zRE3/0xB89\n8UdPfPWXfrS2tl72WJfheujQoUpJSVFlZaUefPBB73hVVZVmzZrV6ZoPPvjA5+Ndu3Zp9erVOnDg\ngKKjo3tTNwAAANCvdBmuJSkvL09z585VamqqHA6HNm/eLLfbrZycHElSfn6+Dhw4oLfeekuSNH78\neJ/1f/vb3xQcHOw3DgAAAAw03YbrzMxMnTp1SoWFhWppaVFSUpIqKioUGxsrSXK73Wpqauryc7DP\nNQAAAAaDbsO1JOXm5io3N7fTY6WlpV2uzcrKUlZWVq8LAwAAAPob03cLAQAAAAYrwjUAAABgEsI1\nAAAAYBLCNQAAAGASwjUAAABgEsI1AAAAYBLCNQAAAGASwjUAAABgEsI1AAAAYBLCNQAAAGASwjUA\nAABgEsI1AAAAYBLCNQAAAGCSHofr4uJixcfHy2azyW63q6am5rJz9+/frwceeEDR0dG69tprlZyc\nrNLSUlMKBgAAAAJVj8J1eXm5Fi9erIKCArlcLjkcDk2bNk0nTpzodH5dXZ2Sk5P12muv6fDhw8rN\nzdWCBQv0yiuvmFo8AAAAEEiG9GRSUVGRsrOzNX/+fEnShg0btGfPHpWUlGjNmjV+8/Pz830+zsnJ\n0b59+/Taa69pzpw5JpQNAAAABJ5ur1xfuHBBDQ0NcjqdPuNOp1O1tbU9PlFra6tGjhzZ+woBAACA\nfiLIMAyjqwnNzc2KiYlRdXW10tPTveMrV67Ujh07dPTo0W5P8uabb+qHP/yhamtrZbfbveOtra3e\n142Njd+kfgAAAOCqGjt2rPd1eHi4z7E+3y3kr3/9q370ox9p48aNPsEaAAAAGGi6ved61KhRCgkJ\nkcfj8Rn3eDyKiorqcm1NTY3uv/9+rVq1Sj/96U+7nNvXwbu+vv6qnKc/oSf+6Ik/euKPnvijJ/7o\niT964o+e+Oov/fjq3Rdf1+2V66FDhyolJUWVlZU+41VVVXI4HJddV11drfvuu08rVqzQU0891Yty\nAQAAgP6pR7uF5OXlae7cuUpNTZXD4dDmzZvldruVk5Mj6cvdQQ4cOKC33npL0pf7XN9///168skn\nNWfOHLndbklSSEiIbrjhhj56KwNH08mzaj53sc/Pc3Z4hCSp5vjpPj/XJdHXDlHCqLine truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x6b4bb38>"
"<matplotlib.figure.Figure at 0x7603550>"
]
},
"metadata": {},
@@ -1093,7 +1051,6 @@
"source": [
"kernel = (.1, .8, .1)\n",
"predict(belief, 1, kernel)\n",
"print(belief)\n",
"bp.bar_plot(belief)"
]
},
@@ -1111,18 +1068,11 @@
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[ 0.157 0.313 0.104 0.045 0.037 0.037 0.037 0.037 0.134 0.097]\n"
]
},
{
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x6b4b860>"
"<matplotlib.figure.Figure at 0x76c8f28>"
]
},
"metadata": {},
@@ -1131,7 +1081,6 @@
],
"source": [
"update(hallway, belief, z=1, prob_correct=.75)\n",
"print(belief)\n",
"bp.bar_plot(belief)"
]
},
@@ -1153,7 +1102,7 @@
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x72c7f28>"
"<matplotlib.figure.Figure at 0x6eb74a8>"
]
},
"metadata": {},
@@ -1184,7 +1133,7 @@
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAtcAAACeCAYAAAD5RibQAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAGihJREFUeJzt3X9QlWX+//EXYOrBiMklCAQFytVUIuXExpHK2aEzS7nm\nTknargXaGmyZyrrrUjRtipq5w6YG1JaDbK2FOzVuk6wDjRqx0CyEpzVT15Zds4FzWl1Dc0NHuD9/\n9PV8Ox3kx3rLfZDnY8YZuO7r5n6f98DM69xe57qDDMMwBAAAAOCiBVtdAAAAAHC5IFwDAAAAJiFc\nAwAAACYhXAMAAAAmIVwDAAAAJiFcAwAAACYhXAMAAAAm6TVc19bWatasWYqNjVVwcLAqKip6/aH7\n9u3T7bffrtDQUMXGxmrVqlWmFAsAAAAEsl7D9enTp3XjjTdqw4YNstlsCgoK6nH+yZMndccddyg6\nOlpNTU3asGGD1q9fr+LiYtOKBgAAAAJRUH+e0BgWFqaSkhI98MADF5xTVlamgoICeTwejRgxQpK0\nevVqlZWV6bPPPrv4igEAAIAAZfqa64aGBt16663eYC1JTqdTra2tOnLkiNmXAwAAAALGMLN/oNvt\n1tixY33GoqKivMfGjRvnHW9vbzf78gAAAMCACQ8P9/ne9DvXva3JBgAAAC5Xpofra6+9Vm6322fM\n4/F4jwEAAACXK9OXhaSlpWnFihU6c+aMd911TU2NxowZ47Mk5Nu+fUvdbE1NTZIku91+Sa8zmNAT\nf/TEHz3xR0/80RN/9MQfPfFHT3wNln70tLS5T1vxuVwuuVwudXV16ciRI3K5XDp69KgkqaCgQBkZ\nGd75999/v0JDQ5Wdna39+/frzTff1Lp165Sfn2/CSwEAAAACV6/hurGxUdOmTdO0adPU0dGhp556\nStOmTdNTTz0l6esPKba0tHjnX3XVVaqpqVFra6vsdrsWL16s5cuXa9myZZfuVQAAAAABoNdlITNm\nzFBXV9cFj5eXl/uNTZkyRe++++7FVQYAAAAMMqZ/oBEAAAAYqgjXAAAAgEkI1wAAAIBJCNcAAACA\nSQjXAAAAgEkI1wAAAIBJCNcAAACASQjXAAAAgEkI1wAAAIBJCNcAAACASQjXAAAAgEkI1wAAAIBJ\nCNcAAACASfoUrktLS5WQkCCbzSa73a66uroe51dVVemWW27RVVddpWuuuUazZ8/W4cOHTSkYAAAA\nCFS9huvKykotXbpUhYWFcrlccjgcyszM1NGjR7ud/8knn2j27NmaMWOGXC6X3nnnHXV0dOjOO+80\nvXgAAAAgkPQarouLi5WTk6OFCxdqwoQJ2rhxo6Kjo1VWVtbtfJfLpa6uLq1du1aJiYlKTk7WihUr\n9I9//EP/+c9/TH8BAAAAQKDoMVyfPXtWzc3NcjqdPuNOp1P19fXdnjN9+nRdeeWVeumll9TZ2alT\np05py5YtSk1N1ejRo82rHAAAAAgwQYZhGBc62NraqtjYWNXW1io9Pd07vnLlSm3dulUHDx7s9rz6\n+nrNnj1bJ06cUFdXl6ZOnao///nPuuaaa3zmtbe3e79mTTYAAAAGg/Hjx3u/Dg8P9zlm+m4hLS0t\nmj17tnJyctTU1KQ9e/YoLCxMWVlZ6iHHAwAAAIPesJ4ORkREKCQkRB6Px2fc4/EoOjq623NefPFF\nxcXFad26dd6xV199VXFxcWpoaJDD4ej2PLvd3t/a+6WpqWlArjOY0BN/9MQfPfFHT/zRE3/0xB89\n8UdPfA2Wfnxz9cW39Xjnevjw4UpJSVF1dbXPeE1NzQVDsmEYCg72/bHnv+/q6upTwQAAAMBg1Ouy\nkPz8fG3ZskWbN2/WgQMHtGTJErndbuXm5kqSCgoKlJGR4Z0/a9YsNTc3a9WqVTp8+LCam5uVk5Oj\nsWPHKiUl5dK9EgAAAMBiPS4LkaSsrCwdP35cRUVFamtrU1JSkqqqqhQXFydJcrvdamlp8c5PT09X\nZWWlnnnmGT377LMKDQ1VWlqadu7cKZvNduleCQAAAGCxXsO1JOXl5SkvL6/bY+Xl5X5j9957r+69\n996LqwwAAAAYZEzfLQQAAAAYqgjXAAAAgEkI1wAAAIBJCNcAAACASQjXAAAAgEkI1wAAAIBJCNcA\nAACASQjXAAAAgEkI1wAAAIBJCNcAAACASQjXAAAAgEkI1wAAAIBJCNcAAACASfoUrktLS5WQkCCb\nzSa73a66urpez3nuuec0ceJEjRw5UjExMSooKLjoYgEAAIBANqy3CZWVlVq6dKnKysqUnp6ukpIS\nZWZm6uOPP1ZcXFy35+Tn52vHjh36zW9+o6SkJLW3t6utrc304gEAAIBA0mu4Li4uVk5OjhYuXChJ\n2rhxo3bu3KmysjKtWbPGb/6hQ4f0/PPPa9++fZowYYJ3PDk52cSyAQAAgMDT47KQs2fPqrm5WU6n\n02fc6XSqvr6+23P+9Kc/KTExUVVVVUpMTFRCQoKys7P173//27yqAQAAgAAUZBiGcaGDra2tio2N\nVW1trdLT073jK1eu1NatW3Xw4EG/c3Jzc1VRUaGbbrpJ69evlyQtX75cktTQ0KCgoCDv3Pb2du/X\nhw8fvvhXAwAAAFxi48eP934dHh7uc6zXZSH91dXVpTNnzuiVV17R9ddfL0l65ZVXNGHCBDU1Nenm\nm282+5IAAABAQOgxXEdERCgkJEQej8dn3OPxKDo6uttzoqOjNWzYMG+wlqTrr79eISEh+vTTTy8Y\nru12e39r75empqYBuc5gQk/80RN/9MQfPfFHT/zRE3/0xB898TVY+vHN1Rff1uOa6+HDhyslJUXV\n1dU+4zU1NXI4HN2ek56ernPnzqmlpcU71tLSos7OTo0bN64/dQMAAACDSq/7XOfn52vLli3avHmz\nDhw4oCVLlsjtdis3N1eSVFBQoIyMDO/8jIwMTZs2TQsWLJDL5dLevXu1YMEC3XLLLQH/LgQAAAC4\nGL2uuc7KytLx48dVVFSktrY2JSUlqaqqyrvHtdvt9rlLHRQUpLfffluPPfaYbrvtNtlsNjmdThUX\nF1+6VwEAAAAEgD59oDEvL095eXndHisvL/cbu/baa7Vt27aLqwwAAAAYZPr0+HMAAAAAvSNcAwAA\nACYhXAMAAAAmIVwDAAAAJiFcAwAAACYhXAMAAAAmIVwDAAAAJiFcAwAAACYhXAMAAAAmIVwDAAAA\nJiFcAwAAACYhXAMAAAAmIVwDAAAAJulTuC4tLVVCQoJsNpvsdrvq6ur69MMPHz6ssLAwhYWFXVSR\nAAAAwGDQa7iurKzU0qVLVVhYKJfLJYfDoczMTB09erTH886ePau5c+fq9ttvV1BQkGkFAwAAAIGq\n13BdXFysnJwcLVy4UBMmTNDGjRsVHR2tsrKyHs9bsWKFbrrpJs2ZM0eGYZhWMAAAABCoegzXZ8+e\nVXNzs5xOp8+40+lUfX39Bc/bsWOHduzYoU2bNhGsAQAAMGQM6+ngsWPH1NnZqaioKJ/xyMhIud3u\nbs9pbW3VokWLtH37doWGhva5kKampj7PvRgDdZ3BhJ74oyf+6Ik/euKPnvijJ/7oiT964ivQ+zF+\n/PgLHjN9t5D58+crLy9PN998s9k/GgAAAAhoPd65joiIUEhIiDwej8+4x+NRdHR0t+fs3r1btbW1\nevrppyVJhmGoq6tLV1xxhcrKyvTQQw91e57dbv9f6u+z8++ALvV1BhN64o+e+KMn/uiJP3rij574\noyf+6ImvwdKP9vb2Cx7rMVwPHz5cKSkpqq6u1j333OMdr6mp0Zw5c7o956OPPvL5fvv27Vq9erUa\nGxsVExPTn7oBAACAQaXHcC1J+fn5mj9/vlJTU+VwOPTCCy/I7XYrNzdXklRQUKDGxka98847kqRJ\nkyb5nP/Xv/5VwcHBfuMAAADA5abXcJ2VlaXjx4+rqKhIbW1tSkpKUlVVleLi4iRJbrdbLS0tPf4M\n9rkGAADAUNBruJakvLw85eXldXusvLy8x3Ozs7OVnZ3d78IAXFjLsVNqPX1uQK51amSkJKnuyIkB\nuZ4kxYwapsQInuwKABh8+hSuAQSW1tPntLj22ABf9cyAXWnTbRFKjBiwywEAYBrTt+IDAAAAhirC\nNQAAAGASwjUAAABgEsI1AAAAYBLCNQAAAGASwjUAAABgEsI1AAAAYBLCNQAAAGASwjUAAABgEsI1\nAAAAYBLCNQAAAGASwjUAAABgkj6H69LSUiUkJMhms8lut6uuru6Cc/fs2aO7775bMTExGjVqlJKT\nk1VeXm5KwQAAAECg6lO4rqys1NKlS1VYWCiXyyWHw6HMzEwdPXq02/kNDQ1KTk7WG2+8of379ysv\nL0+LFi3Sa6+9ZmrxAAAAQCAZ1pdJxcXFysnJ0cKFCyVJGzdu1M6dO1VWVqY1a9b4zS8oKPD5Pjc3\nV7t379Ybb7yhefPmmVA2AAAAEHh6vXN99uxZNTc3y+l0+ow7nU7V19f3+ULt7e0aPXp0/ysEAAAA\nBole71wfO3ZMnZ2dioqK8hmPjIyU2+3u00Xefvtt7dq1q8cw3tTU1KefdbEG6jqDCT3xF+g9OTUy\n0uoSLqlTp06pqekfVpfRq0D/PbECPfFHT/zRE3/0xFeg92P8+PEXPHbJdwv5y1/+oh//+MfatGmT\n7Hb7pb4cAAAAYJle71xHREQoJCREHo/HZ9zj8Sg6OrrHc+vq6nTXXXdp1apVevjhh3uce6mD9/l3\nQAT8/4+e+BssPak7ckLSGavLuGTCwsJknzK2X+e0HDul1tPnLlFFvk6dOiXp6zoHQsyoYUqMGJhr\n/a8Gy9/OQKIn/uiJP3ria7D0o729/YLHeg3Xw4cPV0pKiqqrq3XPPfd4x2tqajRnzLine truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x7253ba8>"
"<matplotlib.figure.Figure at 0x750c7f0>"
]
},
"metadata": {},
@@ -1217,7 +1166,7 @@
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x731c7b8>"
"<matplotlib.figure.Figure at 0x7589160>"
]
},
"metadata": {},
@@ -1235,7 +1184,7 @@
"source": [
"This filter is a form of the g-h filter. Here we are using the percentages for the errors to implicitly compute the *g* and *h* parameters. We could express the discrete Bayes algorithm as a g-h filter, but that would obscure the logic of this filter.\n",
"\n",
"We can express this in pseudocode. I am going to u that won't immediately strike you as being identical to what we have done in this chapter.\n",
"We can express this in pseudocode.\n",
"\n",
"**Initialization**\n",
"\n",
@@ -1244,12 +1193,12 @@
"**Predict**\n",
"\n",
" 1. Based on the system behavior, predict state at the next time step\n",
" 2. Adjust belief in that state to account for the uncertainty in prediction\n",
" 2. Adjust belief to account for the uncertainty in prediction\n",
" \n",
"**Update**\n",
"\n",
" 1. Get a measurement and associated belief about its accuracy\n",
" 2. Compute difference (residual) between our estimated state and measurement\n",
" 2. Compute residual between estimated state and measurement\n",
" 3. Determine whether whether the measurement matches each state\n",
" 4. Update state belief if it matches the measurement\n",
"\n",
@@ -1287,18 +1236,11 @@
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[ 0.225 0.063 0.061 0.058 0.093 0.225 0.063 0.061 0.058 0.093]\n"
]
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAtcAAACeCAYAAAD5RibQAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAGexJREFUeJzt3X9QlWX+//EXP/xxKGJyCQJBgXIxlUg5sXKkdHbozFqt\nuaOStmuBti5smcq661LstCVq5Q67akJtOcjWWrhT4zbJOtCoEQvNSnhaM3Vt2TUbOKfVNTQ3dIT7\n80dfz7fTQX7kLfcBno8ZZ+C6r/vc7/MevHlxc3HfQYZhGAIAAABw2YKtLgAAAAAYLAjXAAAAgEkI\n1wAAAIBJCNcAAACASQjXAAAAgEkI1wAAAIBJCNcAAACASXoM17W1tZo1a5bi4uIUHBysioqKHl/0\nwIEDmj59usLCwhQXF6fVq1ebUiwAAAAQyHoM12fPntXNN9+sDRs2yGazKSgoqNv5p0+f1h133KGY\nmBg1NjZqw4YNWr9+vUpKSkwrGgAAAAhEQX15QmN4eLg2b96s+++//5JzysrKVFhYKI/HoxEjRkiS\n1qxZo7KyMn3yySeXXzEAAAAQoExfc93Q0KDbbrvNG6wlyel0qqWlRceOHTP7cAAAAEDACDX7Bd1u\nt8aMGeMzFh0d7d02duxY73hbW5vZhwcAAAD6TUREhM/npl+57mlNNgAAADBYmR6ur7/+erndbp8x\nj8fj3QYAAAAMVqYvC8nIyNCqVat07tw577rrmpoajR492mdJyNd9/ZK62RobGyVJdrv9ih5nIKEn\n/uiJP3rij574oyf+6Ik/euKPnvgaKP3obmlzr27F53K55HK51NnZqWPHjsnlcun48eOSpMLCQmVl\nZXnn33fffQoLC1NOTo4OHjyo119/XU8//bQKCgpMeCsAAABA4OoxXO/bt09TpkzRlClT1N7erscf\nf1xTpkzR448/LunLP1Jsbm72zr/mmmtUU1OjlpYW2e12LV26VCtXrtSKFSuu3LsAAAAAAkCPy0Jm\nzJihzs7OS24vLy/3G5s0aZLefvvty6sMAAAAGGBM/4NGAAAAYKgiXAMAAAAmIVwDAAAAJiFcAwAA\nACYhXAMAAAAmIVwDAAAAJiFcAwAAACYhXAMAAAAmIVwDAAAAJiFcAwAAACYhXAMAAAAmIVwDAAAA\nJiFcAwAAACbpVbguLS1VYmKibDab7Ha76urqup1fVVWlqVOn6pprrtF1112n2bNn6+jRo6YUDAAA\nAASqHsN1ZWWlli9frqKiIrlcLjkcDs2cOVPHjx/vcv5HH32k2bNna8aMGXK5XHrrrbfU3t6uO++8\n0/TiAQAAgEDSY7guKSlRbm6uFi9erOTkZG3cuFExMTEqKyvrcr7L5VJnZ6fWrVunpKQkpaamatWq\nVfrnP/+p//73v6a/AQAAACBQdBuuz58/r6amJjmdTp9xp9Op+vr6LveZNm2arr76ar3wwgvq6OjQ\nmTNntHXrVqWnp2vUqFHmVQ4AAAAEmCDDMIxLbWxpaVFcXJxqa2uVmZnpHX/yySe1bds2HT58uMv9\n6uvrNXv2bJ06dUqdnZ2aPHmy/vKXv+i6667zmdfW1ub9mDXZAAAAGAjGjRvn/TgiIsJnm+l3C2lu\nbtbs2bOVm5urxsZG7d27V+Hh4crOzlY3OR4AAAAY8EK72xgZGamQkBB5PB6fcY/Ho5iYmC73ef75\n5xUfH6+nn37aO/byyy8rPj5eDQ0NcjgcXe5nt9v7WnufNDY29stxBhJ64o+e+KMn/uiJP3rij574\noyf+6ImvgdKPr66++Lpur1wPHz5caWlpqq6u9hmvqam5ZEg2DEPBwb4ve/Hzzs7OXhUMAAAADEQ9\nLgspKCjQ1q1btWXLFh06dEjLli2T2+1WXl6eJKmwsFBZWVne+bNmzVJTU5NWr16to0ePqqmpSbm5\nuRozZozS0tKu3DsBAAAALNbtshBJys7O1smTJ1VcXKzW1lalpKSoqqpK8fHxkiS3263m5mbv/MzM\nTFVWVuqpp57SM888o7CwMGVkZGjXrl2y2WxX7p0AAAAAFusxXEtSfn6+8vPzu9xWXl7uNzZ37lzN\nnTv38ioDAAAABhjT7xYCAAAADFWEawAAAMAkhGsAAADAJIRrAAAAwCSEawAAAMAkhGsAAADAJIRr\nAAAAwCSEawAAAMAkhGsAAADAJIRrAAAAwCSEawAAAMAkhGsAAADAJIRrAAAAwCS9CtelpaVKTEyU\nzWaT3W5XXV1dj/v87ne/0/jx4zVy5EjFxsaqsLDwsosFAAAAAlloTxMqKyu1fPlylZWVKTMzU5s3\nb9bMmTP14YcfKj4+vst9CgoKtHPnTv3mN79RSkqK2tra1NraanrxAAAAQCDpMVyXlJQoNzdXixcv\nliRt3LhRu3btUllZmdauXes3/8iRI3r22Wd14MABJScne8dTU1NNLBsAAAAIPN0uCzl//ryamprk\ndDp9xp1Op+rr67vc589//rOSkpJUVVWlpKQkJSYmKicnR//5z3/MqxoAAAAIQEGGYRiX2tjS0qK4\nuDjV1tYqMzPTO/7kk09q27ZtOnz4sN8+eXl5qqio0C233KL169dLklauXClJamhoUFBQkHduW1ub\n9+OjR49e/rsBAAAArrBx48Z5P46IiPDZ1uOykL7q7OzUuXPn9NJLL+nGG2+UJL300ktKTk5WY2Oj\nbr31VrMPCQAAAASEbsN1ZGSkQkJC5PF4fMY9Ho9iYmK63CcmJkahoaHeYC1JN954o0JCQvTxxx9f\nMlzb7fa+1t4njY2N/XKcgYSe+KMn/uiJP3rij574oyf+6Ik/euJroPTjq6svvq7bNdfDhw9XWlqa\nqqurfcZramrkcDi63CczM1MXLlxQc3Ozd6y5uVkdHR0aO3ZsX+oGAAAABpQe73NdUFCgrVu3asuW\nLTp06JCWLVsmt9utvLw8SVJhYaGysrK887OysjRlyhQtWrRILpdL+/fv16JFizR16tSA/ykEAAAA\nuBw9rrnOzs7WyZMnVVxcrNbWVqWkpKiqqsp7j2u32+1zlTooKEhvvvmmHnnkEd1+++2y2WxyOp0q\nKSm5cu8CAAAACAC9+oPG/Px85efnd7mtvLzcb+z666/X9u3bL68yAAAAYIDp1ePPAQAAAPSMcA0A\nAACYhHANAAAAmIRwDQAAAJiEcA0AAACYhHANAAAAmIRwDQAAAJiEcA0AAACYhHANAAAAmIRwDQAA\nAJiEcA0AAACYhHANAAAAmIRwDQAAAJikV+G6tLRUiYmJstlsstvtqqur69WLHz16VOHh4QoPD7+s\nIgEAAICBoMdwXVlZqeXLl6uoqEgul0sOh0MzZ87U8ePHu93v/Pnzmj9/vqZPn66goCDTCgYAAAAC\nVY/huqSkRLm5uVq8eLGSk5O1ceNGxcTEqKysrNv9Vq1apVtuuUXz5s2TYRimFQwAAAAEqm7D9fnz\n59XU1CSn0+kz7nQ6VV9ff8n9du7cqZ07d2rTpk0EawAAAAwZod1tPHHihDo6OhQdHe0zHhUVJbfb\n3eU+LS0tWrJkiXbs2KGwsLBeF9LY2NjruZejv44zkNATf/TEHz3xR0/80RN/9MQfPfFHT3wFej/G\njRt3yW2m3y1k4cKFys/P16233mr2SwMAAAABrdsr15GRkQoJCZHH4/EZ93g8iomJ6XKfPXv2qLa2\nVk888YQkyTAMdXZ2atiwYSorK9ODDz7Y5X52u/2b1N9rF38CutLHGUjoiT964o+e+KMn/uiJP3ri\nj574oye+Bko/2traLrmt23A9fPhwpaWlqbq6WnPmzPGO19TUaN68eV3u88EHH/h8vmPHDq1Zs0b7\n9u1TbGxsX+oGAAAABpRuw7UkFRQUaOHChUpPT5fD4dBzzz0nt9utvLw8SVJhYaH27dunt956S5I0\nYcIEn/3/9re/KTg42G8cAAAAGGx6DNfZ2dk6efKkiouL1draqpSUFFVVVSk+Pl6S5Ha71dzc3O1r\ncJ9rAAAADAU9hmtJys/PV35+fpfbysvLu903JydHOTk5fS4MAAAAGGhMv1sIAAAAMFQRrgEAAACT\nEK4BAAAAkxCuAQAAAJMQrgEAAACTEK4BAAAAkxCuAQAAAJMQrgEAAACTEK4BAAAAkxCuAQAAAJMQ\nrgEAAACTEK4BAAAAkxCuAQAAAJP0OlyXlpYqMTFRNptNdrtddXV1l5y7d+9e3XPPPYqNjdVVV12l\n1NRUlZeXm1IwAAAAEKh6Fa4rKyu1fPlyFRUVyeVyyeFwaObMmTp+/HiX8xsaGpSamqrXXntNBw8e\nVH5+vpYsWaJXXnnF1OIBAACAQBLam0klJSXKzc3V4sWLJUkbN27Url27VFZWprVr1/rNLyws9Pk8\nLy9Pe/bs0WuvvaYFCxZ0eYy6Y6f6WnufnBkZ1S/H+arYq0KVFBneb8cDgK9qPnFGLWcv9Mux+vsc\ny/kVQKDqMVyfP39eTU1N+sUvfuEz7nQ6VV9f3+sDtbW1acyYMZfcvrT2RK9f6/Kc66fjSJtuj1RS\nZL8dDgB8tJy90I/n1ov65xzL+RVAoOoxXJ84cUIdHR2Kjo72GY+KipLb7e7VQd58803t3r27T2F8\nMDhz5owaG/9pdRk9amxstLqEgENP/NETf4Hek4tXkwejgXJ+lQL/68QK9MQfPfEV6P0YN27cJbdd\n8buF/PWvf9UPf/hDbdq0SXa7/UofDgAAALBMj1euIyMjFRISIo/H4zPu8XgUExPT7b51dXW66667\ntHr1av3kJz+5vEoHoPDwcNknXXopjNUu/lTIDz3/Hz3xR0/8DZSefLn+uf+WwvWnQD+/SgPn66Q/\n0RN/9MTXQOlHW1vbJbf1eOV6+PDhSktLU3V1tc94TU2NHA7HJferra3VnXfeqSeeeLine truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x724dcc0>"
"<matplotlib.figure.Figure at 0x6eab6a0>"
]
},
"metadata": {},
@@ -1314,8 +1256,7 @@
"for m in measurements:\n",
" update(hallway, belief, z=m, prob_correct=.75)\n",
" predict(belief, 1, kernel)\n",
"bp.bar_plot(belief)\n",
"print(belief)"
"bp.bar_plot(belief)"
]
},
{
@@ -1336,7 +1277,7 @@
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAtcAAACeCAYAAAD5RibQAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAGbBJREFUeJzt3X9QVXX+x/EXYOqliMk1CIQEzMVUIuXGxpXK2aE7a7Xm\nbknargXaGmyZyrrjUjRtilq5w6Ym2JaDbK2FOzVuk6wDjRqx0CyEtzVTl5Zds4F7W11Dc0NHOPtH\n3+6320V+5IFzgedjxpnL53zOPe/7Hr3z4vi5nxtkGIYhAAAAABct2OoCAAAAgKGCcA0AAACYhHAN\nAAAAmIRwDQAAAJiEcA0AAACYhHANAAAAmIRwDQAAAJikx3BdXV2t2bNnKyYmRsHBwSorK+vxSQ8c\nOKBbbrlFoaGhiomJ0erVq00pFgAAAAhkPYbrM2fO6LrrrtOGDRtks9kUFBTU7fxTp07p1ltvVVRU\nlBoaGrRhwwatX79eRUVFphUNAAAABKKgvnxDY1hYmDZv3qz77rvvgnNKSkqUn58vj8ejUaNGSZLW\nrFmjkpISffLJJxdfMQAAABCgTF9zXVdXp5tuuskbrCXJ6XSqpaVFR48eNftyAAAAQMAYYfYTut1u\nXX311T5jkZGR3mPjx4/3jre1tZl9eQAAAGDAhIeH+/xs+p3rntZkAwAAAEOV6eH6qquuktvt9hnz\neDzeYwAAAMBQZfqykLS0NK1cuVJnz571rruuqqrSuHHjfJaEfNM3b6mbraGhQZJkt9v79TqDCT3x\nR0/80RN/9MQfPfFHT/zRE3/0xNdg6Ud3S5t7tRWfy+WSy+VSZ2enjh49KpfLpWPHjkmS8vPzlZGR\n4Z1/7733KjQ0VFlZWTp48KBef/11Pf3008rLyzPhpQAAAACBq8dwXV9fr+nTp2v69Olqb2/XE088\noenTp+uJJ56Q9OWHFJubm73zL7/8clVVVamlpUV2u11LlizRihUrtHz58v57FQAAAEAA6HFZyMyZ\nM9XZ2XnB46WlpX5jU6dO1dtvv31xlQEAAACDjOkfaAQAAACGK8I1AAAAYBLCNQAAAGASwjUAAABg\nEsI1AAAAYBLCNQAAAGASwjUAAABgEsI1AAAAYBLCNQAAAGASwjUAAABgEsI1AAAAYBLCNQAAAGAS\nwjUAAABgkl6F6+LiYsXHx8tms8lut6umpqbb+RUVFbrxxht1+eWX68orr9ScOXPU1NRkSsEAAABA\noOoxXJeXl2vZsmUqKCiQy+WSw+HQrFmzdOzYsS7nf/TRR5ozZ45mzpwpl8ult956S+3t7brttttM\nLx4AAAAIJD2G66KiImVnZ2vRokVKTEzUxo0bFRUVpZKSki7nu1wudXZ2at26dUpISFBycrJWrlyp\nf/zjH/rPf/5j+gsAAAAAAkW34frcuXNqbGyU0+n0GXc6naqtre3ynBkzZuiyyy7TCy+8oI6ODp0+\nfVrbtm1TamqqxowZY17lAAAAQIAJMgzDuNDBlpYWxcTEqLq6Wunp6d7xVatWafv27Tp8+HCX59XW\n1mrOnDk6efKkOjs7NW3aNP35z3/WlVde6TOvra3N+5g12QAAABgMJk6c6H0cHh7uc8z03UKam5s1\nZ84cZWdnq6GhQfv27VNYWJgyMzPVTY4HAAAABr0R3R0cO3asQkJC5PF4fMY9Ho+ioqK6POf5559X\nbGysnn76ae/Yyy+/rNjYWNXV1cnhcHR5nt1u72vtfdLQ0DAg1xlM6Ik/euKPnvijJ/7oiT964o+e\n+KMnvgZLP76++uKbur1zPXLkSKWkpKiystJnvKqq6oIh2TAMBQf7Pu1XP3d2dvaqYAAAAGAw6nFZ\nSF5enrZt26atW7fq0KFDWrp0qdxut3JyciRJ+fn5ysjI8M6fPXu2GhsbtXr1ajU1NamxsVHZ2dm6\n+uqrlZKS0n+vBAAAALBYt8tCJCkzM1MnTpxQYWGhWltblZSUpIqKCsXGxkqS3G63mpubvfPT09NV\nXl6up556Ss8884xCQ0OVlpam3bt3y2az9d8rAQAAACzWY7iWpNzcXOXm5nZ5rLS01G/s7rvv1t13\n331xlQEAAACDjOm7hQAAAADDFeEaAAAAMAnhGgAAADAJ4RoAAAAwCeEaAAAAMAnhGgAAADAJ4RoA\nAAAwCeEaAAAAMAnhGgAAADAJ4RoAAAAwCeEaAAAAMAnhGgAAADAJ4RoAAAAwSa/CdXFxseLj42Wz\n2WS321VTU9PjOc8++6wmTZqk0aNHKzo6Wvn5+RddLAAAABDIRvQ0oby8XMuWLVNJSYnS09O1efNm\nzZo1Sx9++KFiY2O7PCcvL0+7du3Sb37zGyUlJamtrU2tra2mFw8AAAAEkh7DdVFRkbKzs7Vo0SJJ\n0saNG7V7926VlJRo7dq1fvOPHDmi5557TgcOHFBiYqJ3PDk52cSyAQAAgMDT7bKQc+fOqbGxUU6n\n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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x717af98>"
"<matplotlib.figure.Figure at 0x7522dd8>"
]
},
"metadata": {},
@@ -1367,7 +1308,7 @@
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x722c0b8>"
"<matplotlib.figure.Figure at 0x764f860>"
]
},
"metadata": {},
@@ -1427,7 +1368,7 @@
"data": {
"image/png": "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\ndDp9xp1Op+rr67vc589//rOSkpJUVVWlpKQkJSYmKicnR//5z3/MqxoAAAAIQEGGYRiX2tjS0qK4\nuDjV1tYqMzPTO/7kk09q27ZtOnz4sN8+eXl5qqio0C233KL169dLklauXClJamhoUFBQkHduW1ub\n9+OjR49e/rsBAAAArrBx48Z5P46IiPDZ1uOykL7q7OzUuXPn9NJLL+nGG2+UJL300ktKTk5WY2Oj\nbr31VrMPCQAAAASEbsN1ZGSkQkJC5PF4fMY9Ho9iYmK63CcmJkahoaHeYC1JN954o0JCQvTxxx9f\nMlzb7fa+1t4njY2N/XKcgYSe+KMn/uiJP3rij574oyf+6Ik/euJroPTjq6svvq7bNdfDhw9XWlqa\nqqurfcZramrkcDi63CczM1MXLlxQc3Ozd6y5uVkdHR0aO3ZsX+oGAAAABpQe73NdUFCgrVu3asuW\nLTp06JCWLVsmt9utvLw8SVJhYaGysrK887OysjRlyhQtWrRILpdL+/fv16JFizR16tSA/ykEAAAA\nuBw9rrnOzs7WyZMnVVxcrNbWVqWkpKiqqsp7j2u32+1zlTooKEhvvvmmHnnkEd1+++2y2WxyOp0q\nKSm5cu8CAAAACAC9+oPG/Px85efnd7mtvLzcb+z666/X9u3bL68yAAAAYIDp1ePPAQAAAPSMcA0A\nAACYhHANAAAAmIRwDQAAAJiEcA0AAACYhHANAAAAmIRwDQAAAJiEcA0AAACYhHANAAAAmIRwDQAA\nAJiEcA0AAACYhHANAAAAmIRwDQAAAJikV+G6tLRUiYmJstlsstvtqqur69WLHz16VOHh4QoPD7+s\nIgEAAICBoMdwXVlZqeXLl6uoqEgul0sOh0MzZ87U8ePHu93v/Pnzmj9/vqZPn66goCDTCgYAAAAC\nVY/huqSkRLm5uVq8eLGSk5O1ceNGxcTEqKysrNv9Vq1apVtuuUXz5s2TYRimFQwAAAAEqm7D9fnz\n59XU1CSn0+kz7nQ6VV9ff8n9du7cqZ07d2rTpk0EawAAAAwZod1tPHHihDo6OhQdHe0zHhUVJbfb\n3eU+LS0tWrJkiXbs2KGwsLBeF9LY2NjruZejv44zkNATf/TEHz3xR0/80RN/9MQfPfFHT3wFej/G\njRt3yW2m3y1k4cKFys/P16233mr2SwMAAAABrdsr15GRkQoJCZHH4/EZ93g8iomJ6XKfPXv2qLa2\nVk888YQkyTAMdXZ2atiwYSorK9ODDz7Y5X52u/2b1N9rF38CutLHGUjoiT964o+e+KMn/uiJP3ri\nj574oye+Bko/2traLrmt23A9fPhwpaWlqbq6WnPmzPGO19TUaN68eV3u88EHH/h8vmPHDq1Zs0b7\n9u1TbGxsX+oGAAAABpRuw7UkFRQUaOHChUpPT5fD4dBzzz0nt9utvLw8SVJhYaH27dunt956S5I0\nYcIEn/3/9re/KTg42G8cAAAAGGx6DNfZ2dk6efKkiouL1draqpSUFFVVVSk+Pl6S5Ha71dzc3O1r\ncJ9rAAAADAU9hmtJys/PV35+fpfbysvLu903JydHOTk5fS4MAAAAGGhMv1sIAAAAMFQRrgEAAACT\nEK4BAAAAkxCuAQAAAJMQrgEAAACTEK4BAAAAkxCuAQAAAJMQrgEAAACTEK4BAAAAkxCuAQAAAJMQ\nrgEAAACTEK4BAAAAkxCuAQAAAJP0OlyXlpYqMTFRNptNdrtddXV1l5y7d+9e3XPPPYqNjdVVV12l\n1NRUlZeXm1IwAAAAEKh6Fa4rKyu1fPlyFRUVyeVyyeFwaObMmTp+/HiX8xsaGpSamqrXXntNBw8e\nVH5+vpYsWaJXXnnF1OIBAACAQBLam0klJSXKzc3V4sWLJUkbN27Url27VFZWprVr1/rNLyws9Pk8\nLy9Pe/bs0WuvvaYFCxZ0eYy6Y6f6WnufnBkZ1S/H+arYq0KVFBneb8cDgK9qPnFGLWcv9Mux+vsc\ny/kVQKDqMVyfP39eTU1N+sUvfuEz7nQ6VV9f3+sDtbW1acyYMZfcvrT2RK9f6/Kc66fjSJtuj1RS\nZL8dDgB8tJy90I/n1ov65xzL+RVAoOoxXJ84cUIdHR2Kjo72GY+KipLb7e7VQd58803t3r27T2F8\nMDhz5owaG/9pdRk9amxstLqEgENP/NETf4Hek4tXkwejgXJ+lQL/68QK9MQfPfEV6P0YN27cJbdd\n8buF/PWvf9UPf/hDbdq0SXa7/UofDgAAALBMj1euIyMjFRISIo/H4zPu8XgUExPT7b51dXW66667\ntHr1av3kJz+5vEoHoPDwcNknXXopjNUu/lTIDz3/Hz3xR0/8DZSefLn+uf+WwvWnQD+/SgPn66Q/\n0RN/9MTXQOlHW1vbJbf1eOV6+PDhSktLU3V1tc94TU2NHA7HJferra3VnXfeqSeeeLine truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x717d400>"
"<matplotlib.figure.Figure at 0x750db00>"
]
},
"metadata": {},
@@ -1435,8 +1376,9 @@
}
],
"source": [
"belief = [0.2245871, 0.06288015, 0.06109133, 0.0581008, 0.09334062, \n",
" 0.2245871, 0.06288015, 0.06109133, 0.0581008, 0.09334062]\n",
"belief = [0.2245871, 0.06288015, 0.06109133, \n",
" 0.0581008, 0.09334062, 0.2245871,\n",
" 0.06288015, 0.06109133, 0.0581008, 0.09334062]\n",
"bp.bar_plot(belief) "
]
},
@@ -1490,10 +1432,10 @@
" self.sensor_accuracy = sensor_accuracy\n",
"\n",
" def move(self, distance=1):\n",
" \"\"\" move in the specified direction with some small chance of error\"\"\"\n",
" \"\"\" move in the specified direction\n",
" with some small chance of error\"\"\"\n",
"\n",
" self.pos += distance\n",
"\n",
" # insert random movement error according to kernel\n",
" r = random.random()\n",
" s = 0\n",
@@ -1503,13 +1445,11 @@
" if r <= s:\n",
" break\n",
" offset += 1\n",
"\n",
" self.pos = (self.pos + offset) % len(self.track)\n",
" return self.pos\n",
"\n",
" def sense(self):\n",
" pos = self.pos\n",
"\n",
" # insert random sensor error\n",
" r = random.random()\n",
" if r > self.sensor_accuracy:\n",
@@ -1548,30 +1488,27 @@
" robot.move(distance=move_distance)\n",
" m = robot.sense()\n",
" if do_print:\n",
" print('time {}: pos {}, sensed {}, at position {}'.format(\n",
" print('''time {}: pos {}, sensed {}, '''\n",
" '''at position {}'''.format(\n",
" i, robot.pos, m, track[robot.pos]))\n",
"\n",
"\n",
" update(track, belief, m, sensor_accuracy)\n",
" index = np.argmax(belief)\n",
" if do_print:\n",
" print(' update ', belief)\n",
" ind = np.argmax(belief)\n",
" if do_print:\n",
" print(' predicted position is {} with confidence {:.4}%:'.format(\n",
" ind, belief[ind]*100))\n",
" \n",
" print(''' predicted position is {}'''\n",
" ''' with confidence {:.4}%:'''.format(\n",
" index, belief[index]*100)) \n",
" if i < iterations - 1:\n",
" predict(belief, move_distance, kernel) \n",
" if do_print:\n",
" print(' predict', belief)\n",
"\n",
" bp.bar_plot(belief)\n",
" if do_print:\n",
" print()\n",
" print('final position is', robot.pos)\n",
" i = np.argmax(belief)\n",
" print('predicted position is {} with confidence {:.4}%:'.format(\n",
" i, belief[i]*100))"
" iindex = np.argmax(belief)\n",
" print('''predicted position is {} with'''\n",
" '''confidence {:.4}%:'''.format(\n",
" index, belief[index]*100))"
]
},
{
@@ -1594,30 +1531,23 @@
"output_type": "stream",
"text": [
"time 0: pos 4.0, sensed 4.0, at position 4\n",
" update [ 0.08 0. 0. 0. 0.91 0. 0. 0. 0. 0. ]\n",
" predicted position is 4 with confidence 91.07%:\n",
" predict [ 0. 0. 0. 0. 0.08 0. 0. 0. 0.91 0. ]\n",
" predicted position is 4 with confidence 91.07%:\n",
"time 1: pos 8.0, sensed 8.0, at position 8\n",
" update [ 0. 0. 0. 0. 0. 0. 0. 0. 1. 0.]\n",
" predicted position is 8 with confidence 99.99%:\n",
" predict [ 0. 0. 1. 0. 0. 0. 0. 0. 0. 0.]\n",
" predicted position is 8 with confidence 99.99%:\n",
"time 2: pos 2.0, sensed 2.0, at position 2\n",
" update [ 0. 0. 1. 0. 0. 0. 0. 0. 0. 0.]\n",
" predicted position is 2 with confidence 100.0%:\n",
" predict [ 0. 0. 0. 0. 0. 0. 1. 0. 0. 0.]\n",
" predicted position is 2 with confidence 100.0%:\n",
"time 3: pos 6.0, sensed 6.0, at position 6\n",
" update [ 0. 0. 0. 0. 0. 0. 1. 0. 0. 0.]\n",
" predicted position is 6 with confidence 100.0%:\n",
" predicted position is 6 with confidence 100.0%:\n",
"\n",
"final position is 6.0\n",
"predicted position is 6 with confidence 100.0%:\n"
"predicted position is 6 withconfidence 100.0%:\n"
]
},
{
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x73eda90>"
"<matplotlib.figure.Figure at 0x756d1d0>"
]
},
"metadata": {},
@@ -1628,7 +1558,7 @@
"import random\n",
"\n",
"random.seed(3)\n",
"np.set_printoptions(precision=2, suppress=True)\n",
"np.set_printoptions(precision=2, suppress=True, linewidth=60)\n",
"simulate(4, kernel=[1.], sensor_accuracy=.999,\n",
" move_distance=4, do_print=True)"
]
@@ -1652,30 +1582,23 @@
"output_type": "stream",
"text": [
"time 0: pos 4.0, sensed 4.0, at position 4\n",
" update [ 0.84 0.01 0.01 0.01 0.08 0.01 0.01 0.01 0.01 0.01]\n",
" predicted position is 0 with confidence 84.11%:\n",
" predict [ 0.01 0.01 0.01 0.09 0.67 0.09 0.01 0.02 0.07 0.02]\n",
" predicted position is 0 with confidence 84.11%:\n",
"time 1: pos 8.0, sensed 8.0, at position 8\n",
" update [ 0.01 0.01 0.01 0.06 0.43 0.06 0.01 0.01 0.4 0.01]\n",
" predicted position is 4 with confidence 43.44%:\n",
" predict [ 0.01 0.05 0.32 0.05 0.01 0.01 0.01 0.09 0.36 0.09]\n",
" predicted position is 4 with confidence 43.44%:\n",
"time 2: pos 2.0, sensed 2.0, at position 2\n",
" update [ 0. 0.01 0.81 0.01 0. 0. 0. 0.03 0.1 0.03]\n",
" predicted position is 2 with confidence 81.09%:\n",
" predict [ 0.01 0.03 0.09 0.03 0.01 0.09 0.65 0.09 0. 0. ]\n",
" predicted position is 2 with confidence 81.09%:\n",
"time 3: pos 5.0, sensed 5.0, at position 5\n",
" update [ 0. 0.02 0.05 0.02 0. 0.48 0.37 0.05 0. 0. ]\n",
" predicted position is 5 with confidence 47.83%:\n",
" predicted position is 5 with confidence 47.83%:\n",
"\n",
"final position is 5.0\n",
"predicted position is 5 with confidence 47.83%:\n"
"predicted position is 5 withconfidence 47.83%:\n"
]
},
{
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x73c61d0>"
"<matplotlib.figure.Figure at 0x756d0b8>"
]
},
"metadata": {},
@@ -1709,7 +1632,7 @@
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x6b02588>"
"<matplotlib.figure.Figure at 0x77f9e48>"
]
},
"metadata": {},
@@ -1721,7 +1644,8 @@
" for i in range (4):\n",
" random.seed(3)\n",
" plt.subplot(321+i)\n",
" simulate(148+i, kernel=[.1, .8, .1], sensor_accuracy=.8,\n",
" simulate(148+i, kernel=[.1, .8, .1], \n",
" sensor_accuracy=.8,\n",
" move_distance=4, do_print=False)\n",
" plt.title ('iteration {}'.format(148+i))"
]
@@ -1855,18 +1779,31 @@
" \n",
" \n",
" * [4] Khan Acadamy. \"Introduction to the Convolution\"\n",
" \n",
" https://www.khanacademy.org/math/differential-equations/laplace-transform/convolution-integral/v/introduction-to-the-convolution\n",
" \n",
" \n",
"* [5] Wikipedia. \"Convolution\"\n",
"http://en.wikipedia.org/wiki/Convolution\n",
"\n",
" http://en.wikipedia.org/wiki/Convolution\n",
"\n",
"* [6] Wikipedia. \"Law of total probability\"\n",
"\n",
" http://en.wikipedia.org/wiki/Law_of_total_probability\n",
" \n",
"* [7] Wikipedia. \"Time Evolution\"\n",
"https://en.wikipedia.org/wiki/Time_evolution"
"\n",
" https://en.wikipedia.org/wiki/Time_evolution"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
}
],
"metadata": {
+66 -74
View File
@@ -333,20 +333,17 @@
},
"outputs": [
{
"data": {
"text/plain": [
"1.8"
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
"name": "stdout",
"output_type": "stream",
"text": [
"1.8\n"
]
}
],
"source": [
"import numpy as np\n",
"x = [1.8, 2.0, 1.7, 1.9, 1.6]\n",
"np.mean(x)"
"print(np.mean(x))"
]
},
{
@@ -368,19 +365,16 @@
},
"outputs": [
{
"data": {
"text/plain": [
"1.8"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
"name": "stdout",
"output_type": "stream",
"text": [
"1.8\n"
]
}
],
"source": [
"y = [2.2, 1.5, 2.3, 1.7, 1.3]\n",
"np.mean(y)"
"print(np.mean(y))"
]
},
{
@@ -430,18 +424,15 @@
},
"outputs": [
{
"data": {
"text/plain": [
"0.14142135623730948"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
"name": "stdout",
"output_type": "stream",
"text": [
"0.141421356237\n"
]
}
],
"source": [
"np.std(x)"
"print(np.std(x))"
]
},
{
@@ -464,7 +455,7 @@
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x4170710>"
"<matplotlib.figure.Figure at 0x440c9b0>"
]
},
"metadata": {},
@@ -500,7 +491,7 @@
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x83190f0>"
"<matplotlib.figure.Figure at 0x7ed1208>"
]
},
"metadata": {},
@@ -599,18 +590,15 @@
},
"outputs": [
{
"data": {
"text/plain": [
"0.0"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
"name": "stdout",
"output_type": "stream",
"text": [
"0.0\n"
]
}
],
"source": [
"np.std([1.8, 1.8, 1.8, 1.8, 1.8])"
"print(np.std([1.8, 1.8, 1.8, 1.8, 1.8]))"
]
},
{
@@ -687,7 +675,7 @@
"data": {
"image/png": "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\nEhkAAAAASUVORK5CYII=\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x836e550>"
"<matplotlib.figure.Figure at 0x7ef21d0>"
]
},
"metadata": {},
@@ -760,7 +748,7 @@
"source": [
"We are now ready to learn about Gaussians. Let's remind ourselves of the motivation for this chapter.\n",
"\n",
" We desire a unimodal, continuous way to represent probabilities that models how the real world works, and that is very computationally efficient to calculate."
"> We desire a unimodal, continuous way to represent probabilities that models how the real world works, and that is very computationally efficient to calculate."
]
},
{
@@ -781,7 +769,7 @@
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x83b5128>"
"<matplotlib.figure.Figure at 0x7f01828>"
]
},
"metadata": {},
@@ -790,7 +778,8 @@
],
"source": [
"from filterpy.stats import plot_gaussian\n",
"plot_gaussian(mean=1.8, variance=0.1414**2, xlabel='Student Height')"
"plot_gaussian(mean=1.8, variance=0.1414**2, \n",
" xlabel='Student Height')"
]
},
{
@@ -818,7 +807,7 @@
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x847d668>"
"<matplotlib.figure.Figure at 0x8011ef0>"
]
},
"metadata": {},
@@ -827,8 +816,9 @@
],
"source": [
"import book_plots\n",
"belief = [ 0.,0., 0., 0.1, 0.15, 0.5, 0.2, .15, 0, 0]\n",
"with figsize(y=1.5):\n",
" book_plots.bar_plot([ 0.,0., 0., 0.1, 0.15, 0.5, 0.2, .15, 0, 0])"
" book_plots.bar_plot(belief)"
]
},
{
@@ -856,7 +846,7 @@
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAukAAADxCAYAAAB23inUAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XdYVFf6B/DvzMBQpEjvTQEBxQKogBobYmyxk0Sj0U02\na9ZkQePGmPWXTWJiNCYmmo3GVE3WXmKJFXsBCyKIgIiiSJsREEEQGJiZ3x+Em8yCYEEv5ft5Hp+N\n7z33znvZ4/DOmXPPkWi1Wi2IiIiIiKjZkIqdABERERER6WKRTkRERETUzLBIJyIiIiJqZlikExER\nERE1MyzSiYiIiIiaGRbpRERERETNDIt0IiIiIqJm5oGK9BUrVsDDwwNGRkYICgrCyZMnG2yflJSE\n/v37w9jYGM7OzliwYIHO8W3btiE8PBy2trYwMzNDcHAwdu3apdNm9erVkEqlOn9kMhlUKtVD3iIR\nERERUcvSaJG+ceNGREVFYf78+UhISEBoaCiGDRuGrKysetuXlJRgyJAhcHBwQFxcHJYtW4YlS5Zg\n6dKlQpvjx48jLCwMe/bsQUJCAoYPH46xY8fWKf6NjY2hVCqhUCigUCiQl5cHuVz+mLdMRERERNS8\nSRrbcbR3797o3r07Vq1aJcS8vb0xYcIELFy4sE77lStXYt68eVAqlTAwMAAAfPzxx1i5ciWys7Mb\nfJ1+/frhs88+A1Azkv7mm2/i7t27j3RjREREREQtVYMj6SqVCvHx8QgPD9eJh4eHIyYmpt5zYmNj\n0a9fP6FAr22fm5uLzMzM+75WSUkJLC0tdWLl5eVwd3eHi4sLRo0ahYSEhEZviIiIiIiopWuwSC8o\nKIBarYadnZ1O3NbWFgqFot5zFApFnfa1f7/fOV9//TVyc3MxZcoUIebj44OffvoJO3fuxPr162Fo\naIg+ffrg6tWrjd8VEREREVELptfUF5RIJA/VfuvWrXj77bexadMmuLi4CPHg4GAEBwcLfw8NDUWP\nHj3w1VdfYdmyZUK8uLj48ZMmIiIiIhKJubl5nViDI+nW1taQyWRQKpU6caVSCQcHh3rPsbe3rzNi\nXnu+vb29TnzLli2YOnUqfvnlF4wYMaLB5KVSKQICApCent5gOyIiIiKilq7BIl0ulyMwMBAHDhzQ\niUdHRyM0NLTec0JCQnDixAlUVlbqtHdycoKbm5sQ27RpE6ZOnYo1a9Zg3LhxjSaq1WqRmJgIR0fH\nRtsSEREREbVkjU53mT17NqZMmYJevXohNDQU33zzDRQKBWbMmAEAmDdvHs6dO4eDBw8CACZNmoQP\nPvgA06ZNw/z585GWlobFixfj/fffF665YcMGTJkyBUuXLkXfvn2FkXe5XC48PPrBBx8gJCQEnp6e\nKCkpwfLly5GcnIxvv/32vrnW91UBPbi4uDgAQFBQkMiZkNjYF6gW+wLVYl+gWuwLTaOxKduNFukR\nEREoLCzERx99hLy8PPj7+2PPnj3C/HGFQoGMjAyhvZmZGaKjozFz5kwEBQXB0tISc+bMwaxZs4Q2\nq1atgkajQWRkJCIjI4X4gAEDcPjwYSHx1157DQqFAubm5ggICMDx48fZIYiIiIio1Wt0nfTm7s+f\nQjiS/nj4yZhqsS9QLfYFqsW+QLXYF5pGYzVsozuOEhERERHR08UinYiIiIiomWGRTkRERETUzLBI\nJyIiIiJqZpp8x1EiImq+NFoNbpfcQmGxErfv5qOoJB+3795CaXkJ7lWWoryiDPcqS6GqroRWq4Va\nXQ2tVov1p2WQyw1hoF/zx1BuDDPj9jA3sYR5OyuYm1jCpr0D7CydYWxgIvZtEhG1eCzSiYhaKbW6\nGtn5GbihuIKcghvIK8hE3u0sqKoqHvpaGrUaVeUqlJWXNNrW1Lg97Cyc4GzTAW72XnCz94aVmR0k\nEsmj3AYRUZvEIp2IqJWoVlfhet5lpN28iIzcFGQq01FVrXrqedy9dwd3793B1ZxkIdbOyAwdHHzQ\nybUbOrl0g62FE4t2IqIGsEgnImrBistu41LGOaRmxiMt6yIqVeWNnmNqZA4bC0dYmtrC0swGFqY2\nMGtnAWMDExgZtIOxoQkM9A0hlUhx4UICJBIJevTogcqqCqiqKlChKke5qgwlZUW4U1qIkrLbuH03\nH7eKcnGrKAfV6qo6r1lWXoKkjLNIyjgLAGhvYgUftx7o1jEY3i7doK+n3+Q/GyKiloxFOhFRC1NS\nVoSEq7G4kH4KGTkp0OL+e9JZmtnCw8EHrraecLR2g6O1G0yN2z/wa+nJaopnub4B5PoGABreNE6j\nUeP23XzkFd7ETWU6MhXpyFSmo7yyTKfdndJCnE4+iNPJB2EgN0Jn90B08wxFF48g6OvJHzg/IqLW\nikU6EVELUFVdhaSMM4i9FI0r2UnQajX1trM0s4WfWwC8XPzRwcEX5iaWTzVPqVQGa3N7WJvbw79D\nLwCAVquFsigbV7KScCUrEVeyklChuiecU6kqR/yVk4i/chJGcmP08O6LXr6D4OHQiVNiiKjNYpFO\nRNSM5RXeRGzyQZxLPYKyirt1jkskUnR08oO/Ry/4uQc0y7neEokE9pYusLd0wTPdhkOtUSNTkY6k\njNNIvHoaBcUKoW256h5iLh1AzKUDsGnviL7+z6J350FcMYaI2hwW6UREzYxGq0Hy9Tgcid+h8/Bl\nLQkk6Ojkhx5efdDNMwRm7SxEyPLRyaQydHD0QQdHHzzX52XkFWYiIT0W59KOorBYKbTLv5OLX0/8\niN2xa9HTZwD6dRsOR2s3ETMnInp6WKQTETUTqqpKnE09gqMXduLWndw6xy1MbRDcOQy9fQfB0sxG\nhAybnkQigaO1Oxyt3TEs+AVk5KbibOoRXEg/JUyJUVVX4tSl/Th1aT+8nP0RFjQOPq7dm903BkRE\nTYlFOhGRyMor7+F44m4cvbCzzpQWqVSGrh16I6TLEHRy6QqpVCZSlk+eRFLzDUFHJz+M7/8q4tKO\n4XjCbuQWZgpt0rOTkJ6dBFc7L4T3HI8uHXpBKuHm2UTU+rBIJyISSYWqHMcTfsPhCztx73+KcyO5\nMUL9w/FMt5GwMLUWKUPxyPUNENolHCGdh+BabgqOJ+zGxWunofn9gdmbynR8/9siOFi5IrznRPTw\n7sNinYhaFRbpRERPmaqqEscSfsPh+O11Rs4tTW3Qv8cohHQeAkO5kUgZNh8SiQSeTp3h6dQZt0tu\n4dD57YhNjhbWYs8rvIk1+z7HwbitGNVnCnzdAjgNhohaBRbpRERPiUajxrnLR/FbzFoUl93WOWZl\nbodne0UgyGcAZK14SsvjsDSzxcSBr2For4k4cmEHTl7ch8qqCgBATsENfLNjATydOmNUn6nwcOgk\ncrZERI+HRToR0VOQdjMR20/8hJyCGzpxKzM7hPeaiF4+AyCT8S35QZi1s8DovtMQFjQeh89vx9GE\nXaiqVgEAruYk44tNc9HdMxSj+70MKzM7kbMlIno0/I1ARPQE3SrKxbbjPyDlxnmduJmxBYYFv4Bg\nv8Eszh9RO0NTjOozBc90H4H9ZzYhJjkaGo0aAJBwNQbJ1+MwKHAMhgSN/323VCKiloO/GYiIngBV\ndSWiz23FwfPboFZXC3G5ngEGBY7B4IAxMOCc8yZh3s4SEYNmYGDAaOyOXYv4KycBAFVqFfaf3YSz\nKYcxut809PDqw/nqRNRisEgnImpiydfjsOXodygs+WNjHgkk6O03CMNDJqG9iZWI2bVeNu0dMG3Y\nHPTvPhJbjn6HrFvXAABFpQVYvfczxCTtR8Sg12Fr4ShypkREjWORTkTURIru5mPrsR9w8dppnbib\nnRciBs2Ai21HkTJrWzwcfPDWC0twJuUwdp36BaXlxQCAK9lJWLw2CkN7R2BwwBhOMyKiZo3vUERE\nj0mj1SAm6QB2nFwtrDYCAMYGJhjVZwpCugzhGt5PmVQiRUjnMHTzDMa+0xtxLHE3tFoNqtQq/Bbz\nX8SnncALYTPhbu8tdqpERPVikU5E9BgKihVYf/BrpGcn6cSD/QZjVJ+pMDU2FykzAmo+KI3r/wp6\n+g7A+oNfIzs/AwCQW5iJLzbOxTPdR2Bk6Esw0DcUOVMiIl0s0omIHoFGq8GJxD3YdeoXqKorhbid\nhTNeDJuJDo6+ImZH/8vFtiPeemEJjiXswu7YdaiqVkELLY4l/IaU6+cxOTwSHRx9xE6TiEjwQN+/\nrlixAh4eHjAyMkJQUBBOnjzZYPukpCT0798fxsbGcHZ2xoIFC3SOb9u2DeHh4bC1tYWZmRmCg4Ox\na9euOtfZunUr/Pz8YGhoiM6dO2P79u0PcWtERE9GYbESX22Zj63HvhcKdIlEirDAcXh70lIW6M2U\nTCrDoIAxePelr+Dj2l2I5xfnYdmWd7Hz1C+oqq4SMUMioj80WqRv3LgRUVFRmD9/PhISEhAaGoph\nw4YhKyur3vYlJSUYMmQIHBwcEBcXh2XLlmHJkiVYunSp0Ob48eMICwvDnj17kJCQgOHDh2Ps2LE6\nxX9sbCxeeOEFTJkyBYmJiZg8eTImTpyIs2fPNsFtExE9PK1Wi7OpR7BoXRSu5aYIcQcrV8yOWIzn\n+k6Fvp5cxAzpQViZ2+H1Mf/G5CFvCstgarUaHIzbis83/hM5+TfETZCICIBEq9VqG2rQu3dvdO/e\nHatWrRJi3t7emDBhAhYuXFin/cqVKzFv3jwolUoYGNRsHvHxxx9j5cqVyM7ObvB1+vXrh88++wwA\n8Pzzz+POnTvYv3+/0GbIkCGwsbHBunXrhFhxcbHw3+bmnPv5OOLi4gAAQUFBImdCYmNfqOteRSk2\nHl6JC+mnhJhUIsWQnuMR3jMC+nr6Imb35LT2vnC75BbWRn+l80yBTKqHESGTMChwDLine truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x8458ac8>"
"<matplotlib.figure.Figure at 0x8085a90>"
]
},
"metadata": {},
@@ -937,7 +927,7 @@
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAuAAAAEtCAYAAABJQNX+AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XlcVOXiBvBnZlgERBTZF9llEUQFEXFXRAV3c0nLNM3l\npqWWmWW3utfb75ZlZje1xdSs3HFHhVRwwQ0VFVBB2ZVdBFlkmZnfH9RREgEVODPwfD8fP5/ed84M\nD3cu8HA4530lSqVSCSIiIiIiahJSsQMQEREREbUkLOBERERERE2IBZyIiIiIqAmxgBMRERERNSEW\ncCIiIiKiJsQCTkRERETUhFjAiYiIiIiaUL0K+Jo1a2BnZwcdHR14e3vj1KlTTz02PDwco0aNgoWF\nBfT09ODp6YkNGzY8cVxERAS8vLygo6MDBwcHfP/998//WRARERERqYk6C/i2bduwYMECLFu2DNHR\n0fDz88OwYcOQlpZW4/FnzpyBp6cndu3ahdjYWMydOxezZs3Cli1bhGOSkpIQGBiI3r17Izo6GkuX\nLsX8+fMRHBzccJ8ZEREREZEKktS1E2aPHj3QpUuXameoO3bsiJdeegmfffZZvT7IxIkTIZfLsXPn\nTgDAkiVLsGfPHty8eVM45o033kBsbCwiIyOf5/MgIiIiIlILtZ4BLy8vx6VLlxAQEFBtPiAg4JmK\nckFBAQwNDYXxmTNnanzNqKgoyOXyer8uEREREZG60ajtwdzcXMjlcpiamlabNzExQWZmZr0+wIED\nB3Ds2LFqhT0rK+uJ1zQ1NUVlZSVyc3OfeIyIiIiIqLmotYC/qNOnT2PKlCn49ttv4e3t/czPLygo\naIRURERERERNw8DA4Im5Wi9BMTIygkwmQ1ZWVrX5rKwsmJub1/rBTp06hcDAQPz73//G7Nmzqz1m\nZmb2xBn0rKwsaGhowMjIqNbXJSIiIiJSZ7UWcC0tLXh5eSE0NLTafFhYGPz8/J76vBMnTiAwMBCf\nfvop3nrrrSce79mzJ8LCwp54ze7du0Mmkz1LfiIiIiIitVLnJSiLFi3Cq6++Ch8fH/j5+WHdunXI\nzMzEnDlzAABLly7FhQsX8McffwCoWgc8KCgI8+bNw8svvyyc6ZbJZDA2NgYAzJkzB//73/+wcOFC\nzJo1C6dPn8amTZuwdevWp+ao6fT946KiogDguS51IXHxvVNffO+ajlKpRGrWLZy/fhwX40+i5OGD\n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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x8400eb8>"
"<matplotlib.figure.Figure at 0x8003ef0>"
]
},
"metadata": {},
@@ -975,7 +965,7 @@
},
{
"cell_type": "code",
"execution_count": 16,
"execution_count": 31,
"metadata": {
"collapsed": false
},
@@ -984,15 +974,15 @@
"name": "stdout",
"output_type": "stream",
"text": [
"Probability of value in range 21.5 to 22.5 is 19.74%\n",
"Probability of value in range 23.5 to 24.5 is 12.10%\n"
"Probability of range 21.5 to 22.5 is 19.74%\n",
"Probability of range 23.5 to 24.5 is 12.10%\n"
]
}
],
"source": [
"print('Probability of value in range 21.5 to 22.5 is {:.2f}%'.format(\n",
"print('Probability of range 21.5 to 22.5 is {:.2f}%'.format(\n",
" norm_cdf((21.5, 22.5), 22,4)*100))\n",
"print('Probability of value in range 23.5 to 24.5 is {:.2f}%'.format(\n",
"print('Probability of range 23.5 to 24.5 is {:.2f}%'.format(\n",
" norm_cdf((23.5, 24.5), 22,4)*100))"
]
},
@@ -1065,7 +1055,7 @@
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAt8AAAEWCAYAAAC+BfslAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xl4VPXZ//H3zGSHhJCEhBD2RQSLsgTUwKO4/KBYtT4q\nELX4gBRLXBFXFKwLoqKiRVmsZVHREotUqyICgqWIVTBSRUTEsCcTyB5C1pnz+2OayYwJySSZSSbh\n87quXJ793PMlwp1v7nMfk2EYBiIiIiIi4nPmlg5ARERERORMoeRbRERERKSZKPkWEREREWkmSr5F\nRERERJqJkm8RERERkWai5FtEREREpJko+RYRERERaSYeJd+LFy+mV69ehIaGkpiYyLZt2+o8/p13\n3mHw4MG0a9eOnj178vzzz3slWBERERGR1qze5Ds1NZUZM2Ywe/Zsdu3aRVJSEuPGjePIkSO1Hv/x\nxx9z0003MX36dL7//nsWL17Miy++yKJFi7wevIiIiIhIa2Kq7w2X559/PoMHD+bVV191bjvrrLO4\n/vrrmTdvXo3jb7zxRsrKynj33Xed21555RXmz5/P4cOHvRi6iIiIiEjrUufMd3l5OWlpaYwZM8Zt\n+5gxY9i+fftpzwkODnbbFhISwtGjR5V8i4iIiMgZrc7kOzs7G5vNRlxcnNv22NhYrFZrreeMHTuW\n999/n40bN2K329m3bx8vvPACAJmZmV4KW0RERESk9Qnw9gWnTZvGzz//zG9/+1sqKiro0KEDd911\nF4899hhms3uuX1BQ4O3bi4iIiIg0mw4dOjTo+DpnvmNiYrBYLGRlZbltz8rKIj4+/rTnPfPMMxQX\nF3P48GGsVivDhw8HoHfv3g0KTkRERESkLakz+Q4KCmLYsGFs2LDBbfvGjRtJSkqq88Imk4n4+HgC\nAgL461//SlJSEtHR0U2PWERERESklaq37GTmzJlMmjSJESNGkJSUxNKlS7FarUyfPh2AWbNmsWPH\nDjZt2gRATk4O77zzDqNHj6asrIwVK1bw7rvv8s9//rPO+zR0yl5Ob+fOnQAkJia2cCRti8bVNzSu\nvuHv45p/Mofn/3ofhafyauxLPPtibh57TwtEVT9/H9fWTGPrGxpX32hK6XS9yfeECRPIyclh7ty5\nZGZmMmjQINatW0e3bt0AsFqtpKenu53z5ptv8sADD2AYBklJSXz22Wf6QxcREacNX/3NLfGOjogj\np9BR4rhz7z/5n3OvoFd8/5YKT0TEZzx64DIlJYWUlJRa961YscJtPTo6+rRtCEVERPKKsvlizybn\n+pQr7ufc3uez4uPn+fbnfwPwyVfvMP23c1oqRBERn/Ho9fIiIiLe8unXa7HZKgHoGd+fwX2TsFgC\nuCrpd5gwAbDn4Nccsv7UkmGKiPiEkm8REWk2BSdz2b57o3P91yMmYjI5Eu64qK4MOWuUc98nX73T\n7PGJiPiakm8REWk2X3y/kUpbBQDd4/oxoMcQt/1jR4x3zn7vPrDDWQcuItJWeP0lOyIiIqfzXfpX\nzuVLhlzlnPWuEh/dnf49BrP30DcA7E7fwcWDr2zWGEV+yTAMKioqsNvtLR1Kg/Xo0QOA0tLSFo6k\n9QgKCqrxYkhvUvItIiLNIv9kDkeO/wyA2WxhYM9htR53bu/zq5PvA0q+pWUZhkFpaSlBQUEEBgbW\n+IHR34WEhLR0CK1K1Z93SEiIz/6sVXYiIiLN4vsDO53LfRPOITS4Xa3HndOrujXt/qPfU1J2yuex\niZxORUUFQUFBWCyWVpd4S8OZTCaCgoIoLy/32T2UfIuISLPYnb7DuTyo94jTHtcxPIausb0BsNkr\n2Xv4G5/HJnI6drvdpyUI4n8sFguGYfjs+vpuEhERnyurKOXHI/9xrv+q1/A6j3fd71onLtISNOMt\n3qTkW0REfO7Hw/9xdjmJj+5OdIe4Oo93nRnfczANm93m0/hERJqLkm8REfG5PQer673rm/UG6Nqp\nNx3aRwNwqrSIQ9Z9PotNRKQ5KfkWERGfS8/Y61w++xe9vWtjMpk4u/tgl/N/8ElcIiLNTcm3iIj4\n1KnSk1hzjwCOFoM94vp5dF6v+LOdywcy99ZxpIi0VYZhMH/+fHr37k1oaCiDBg3irbfe8ujcHTt2\ncMcdd3DOOefQvn17evTowcSJE/npp598HHXd1OdbRER86qBLyUjXmF4EBQZ7dJ5r8n0w80cMw9CD\nbyJnmIcffphnn32WadOmMWLECN577z0mTZqEyWTixhtvrPPcZ599li+++ILx48dz7rnnkpmZySuv\nvMLQoUP54osv+NWvftVMn8Kdkm8REfEp11nrXl3OruNId3FRCYQGt6OkrJiikgKyC6x0ioz3RYgi\n4gPFxcW0a1d7P39PHDt2jBdeeIGUlBQWLVoEwNSpU7n44ou5//77mThxIhaL5bTn33vvvQwfPpyA\ngOp0d+LEiQwaNIh58+bx9ttvNzq2plDZiYiI+NTBzB+dyz079/f4PLPJ7Hb8QeuPdRwtIg2xZs0a\nzGYzmzdvrrFv1apVmM1mtm7dyrfffsuUKVPo06cPoaGhdOrUiRtuuIEjR464nbNy5UrMZjNbtmzh\nrrvuIi4ujvDw8CbF+P7771NZWUlKSorb9pSUFDIzM9m2bVud51944YVuiTdA3759GThwID/80HLP\nkWjmW0REfMZut7klza6lJJ7oFd+fHw6lAXAgYy/Dzx7tzfBEzlhXXnkl4eHhpKamcumll7rtS01N\nJSEhgYsuuogXXniBffv2MXnyZLp06cL+/ftZunQpX331Fbt37yY0NNTt3DvvvJOoqCjmzJlDQUEB\n4KjbzsnJ8SiuiIgIgoKCAPjmm28ICQmpUR4yfLijY9KuXbu4+OKLG/S5DcMgKyuLAQMGNOg8b/Jo\n5nvx4sX06tWL0NBQEhMT6/1JY926dVxwwQVERETQqVMnrrnmmhYvbhcRkeaXmXOEsopSADq0i6Jj\neEyDznd76FIz3yJeExISwtVXX83atWux2ar76Ofn57NhwwbGjx8PwG233cbnn3/OnDlzmDp1Kk8/\n/TTr1q3jwIEDrF27tsZ1w8PD+eyzz7jjjjt45JFHADh06BCxsbEefa1evdp5rczMTOLiar4TID7e\nUX6WkZHR4M/91ltvkZGRQXJycoPP9ZZ6Z75TU1OZMWMGS5YsYdSoUSxatIhx48axZ88eunXrVuP4\n/fv3c8011zBz5kzefvttioqKePDBB7niiiuUgIuInGHc6r3jz27wA5Pd4/phMpkxDDsZ2YcoLS8h\nJCi0/hNFWsi6f/+V9V+m+uz6vz5/IldccINXrpWcnMxbb73Fpk2bGDt2LAB///vfqaiocCanrjPb\nJ0+epKysjH79+hEZGUlaWho33XST2zWnTZuG2ew+txsfH8+mTZs8imngwIHO5ZKSEoKDaz6gHRIS\n4tzfEHv37uX222/nwgsv5JZbbmnQud5Ub/K9YMECpkyZwtSpUwFYuHAh69evZ8mSJcybN6/G8bt2\n7cJut/P00087/5J98MEHueyyy8jNzSUqKsrLH0FERPyVa8lJz3jP672rhAaHER/dnYzsgxiGncNZ\nP3FWt3O9GaLIGWvs2LF07NiR1atXO5Pv1atX06tXL0aMcLxlNi8vj4ceeog1a9aQl5fndn5VWYmr\nPn361NgWHBxco7TFE6GhoZSWltbYXrXtlyUvdbFarfzmN7+hY8eOvPvuuy3aOanOspPy8nLS0tIY\nM2aM2/YxY8awffv2Ws8ZOXIk7du357XXXsNms1FUVMTKlSsZMWKEEm8RkTPMIWv1bzx7NSL5Bujl\n8tCl6/VEpGkCAgK49tpree+996isrCQ7O5stW7YwceJE5zETJkxg1apV3HHHHaxdu5aNGzeyceNG\noqOjsdvtNa5ZW0Jst9uxWq0efbkm2/Hx8WRlZdW4XmZmJgBdunTx6HMWFBQwbtw4CgsLWb9+PZ07\nd/boPF+pc+Y7Ozsbm81Wo94mNjYWq9Va6znx8fGsW7eOa665httvvx273c6QIUP4+OOP6wxk586d\nde6XhtOY+obG1Tc0rr7RkuNaaavgeN4xAEyYyDqcR86xhsdjK6luJfbdvq/paOrhtRgbS9+vvuNv\nY9ujRw9nmYMnrrjgBq+VhTSH5ORkli1bxscff0xGRgaVlZXOkpO8vDw+/fRTHn/8cebMmeM8p7S0\nlNzcXI/vcfjwYXr37u3RsStXruTmm28GYMiQISxbtozvvvuOQYMGOY/58ssvARg8eHCt13BVWlrK\nVVddxf79+9m0aRNnn+3ZQ99FRUXs3r37tPv79fPsZWG18Xq3k/T0dK655hqmTJnCjTfeSGFhIY8+\n+igTJkxg8+bNekGCiMgZIv/UCQwMAMJDowiwBDbqOh3bVU8A5RUf90psIuIwevRo4uLiSE1NJSMj\ngwEDBnDuuY7Srqoe2r+c4X7xxRcxDMPjezS25vu3v/0t99xzD0uWLGHx4sWAo1vJ0qVLiY+PZ9So\nUc5jc3JyOHHiBD169HDOvttsNiZOnMiXX37J+++/z/nnn+9xzL5UZ/IdExODxWKpMeWflZXlfNL0\nl1599VW6devGs88+69y2atUqunXrxhdffEFSUlKt5yUmJjY0djmNqlkDjal3aVx9Q+PqG/4wrtt3\nb3Qu9+l6dqNjKav4Feu/XYmBQWFpLucOHkRQgGdvyfQ2fxjXtspfx7a2muO2xGKxcP3117N8+XLK\nysp49NFHnfsiIiIYPXo08+fPp7y8nO7du7Nt2za2bt1KdHS0xwl4Y2u+ExISmDFjBs899xw2m43h\nw4fz/vvvs23bNt544w23F+y8/PLLPPHEE2zZssXZfvDee+/lgw8+4KqrriI7O5tVqLine truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x7dad710>"
"<matplotlib.figure.Figure at 0x7945e80>"
]
},
"metadata": {},
@@ -1112,7 +1102,7 @@
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x8458be0>"
"<matplotlib.figure.Figure at 0x7feb0b8>"
]
},
"metadata": {},
@@ -1157,7 +1147,7 @@
"data": {
"image/png": "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\njjBsExERERHpCMM2EREREZGOMGwTEREREekIwzYRERERkY4wbBMRERER6QjDNhERERGRjjBsExER\nERHpCMM2EREREZGOMGwTEREREelIv8L25s2b4e3tDRMTE0RGRiI1NbXPfT755BMEBATA2NgYLi4u\nWLNmzT0XS0REREQ0khj01WH37t147bXXkJCQgNjYWGzatAlz585Ffn4+3N3de9xn9erV2L9/P/77\nv/8bISEhqKurQ1VV1aAXT0REREQ0nPUZtjdu3IgVK1bghRdeAAB89tlnOHjwIBISErB+/fpu/YuK\nivA///M/OHfuHPz9/TXtoaGhg1g2EREREdHw1+swEqVSiezsbMTHx2u1x8fHIy0trcd9vv32W/j4\n+CApKQk+Pj7w9vbGc889h2vXrg1e1UREREREI0CvZ7ZramqgUqng6Oio1e7g4AC5XN7jPjKZDGVl\nZdizZw/++c9/AgDeeOMNPPzww0hPT4dIJOpxv6ysrLupn4YZHsfRgcdx9OCxHD14LEcPHsuRz9fX\nt999+xxGMlBqtRptbW3YsWMHxo0bBwDYsWMH/P39kZWVhUmTJg32WxIRERERDUu9hm07OztIJBIo\nFAqtdoVCAWdn5x73cXZ2hoGBgSZoA8C4ceMgkUhw5cqVO4btyMjIgdZOw8itv9J5HEc2HsfRg8dy\n9OCxHD14LEePurq6fvftdcy2kZERIiIicOjQIa325ORkxMTE9LhPbGwsOjo6IJPJNG0ymQwqlQqe\nnp79LoyIiIiIaKTrc57t1atXY9u2bfjiiy9QUFCAV199FXK5HC+99BIAYM2aNZg9e7am/+zZsxEe\nHo7nn38eubm5yMnJwfPPP48pU6bwLzkiIiIiuq/0OWZ76dKlqK2txbp161BVVYWQkBAkJSVp5tiW\ny+VaZ7FFIhF++OEH/P73v8f06dNhYmKC+Ph4bNy4UXefgoiIiIhoGOrXDZKrVq3CqlWretyWmJjY\nrc3JyQl79uy5t8qIiIiIiEa4fi3XTkREREREA8ewTURERESkIwzbREREREQ6wrBNRERERKQjDNtE\nRERERDrCsE1EREREpCMM20REREREOtKvebaJiGhkEQQBgqDWdxlERPc9hm0iohGgpa0JlTVlaGi+\niea2JrS0NaK5tVHzuKm1AS2tTWhu62prbYQAAXsypTAxNoep1AymUvOeHxubw1RqDjtrZ9hbO0Ms\n4kVPIqLBwrBNRDTMNLU2oLxahqvVJbhaXYLyahmu1VXd1WspO9qgbGxDXWNtv/pLDY3hZu8Dd4ex\ncHPwgbvDODjauEAsltzV+xMR3e8YtomI9Kihua4rUHcG66vXZLheXz0ory2CCAKEAe3T1t6Kksp8\nlFTma9qMDKRwsfeCh8NYuNmPhbvDWDjZukEi4a8QIqK+8CclEdEQEgQBV6tLcLYkA3klGVBcL+/X\nfmKxBE627hhj6aAZAmJmbA4T6c9DQUyk5l1DQsyQf74IYpEYIaHju4abNKC5tfvwk1uPG1vqUFlT\nhsaWum7vrexoQ2lVEUqrijRtRgZSBHiGIXTcFAR7R8JUaj5o/42IiEYThm0iIh1TqVWQVebjbMkp\nnL2UgRuNNb32l0gM4DLGE+5dwzjc7H3gYucJQwOjfr+npGvYh7GRCYyNTGAL+z73EQQBNxtrUX5N\newhLXdP1bn2VHW04W5KBsyUZEIsl8HUbj9Cx0QgZGwUrM9t+10lENNoxbBMR6UB7hxJFV/KQV5KB\n87LTaGpt6LGfgcQQrvbecNeMkx4L5zHuMJAYDnHFgEgkgo2FHWws7BDiE6Vpr2+60Rm8b4VwRYnW\nHwxqtQpFV/JQdCUPe49ugaezH0LHTsGEsVNgb+085J+DiGg4YdgmIhok7R1KnJOdRu6lNBSUZqOt\nvbXHfiZSM4z3noQJY6cg0DMMRobSIa50YCzNbBDsHYlg70hNm+J6OfJKMnD2UgauVF/StAsQNENO\nvk3dDpcxnpgwdgrC/WPhZOuuj/KJiPSKYZuI6B5dr7+Gk+cOIu1CMppa6nvsY2lmgwk+kxE6Lhrj\nXINH/M2FjrZuiLddjPhJi3Gj4VrnEJmSUyipuAD1bfN7V9aWobK2DAdP74afWwimT5yPYO9JmmEu\nRESj3cj+aU9EpCeCIKC4/BxS8pJwTna6xwVk7K2cMWFc53AKTyffUTt/tY2FPWZMXIAZExegsaUe\n52WZOFuSgcIruehQtWv6XSw/h4vl52BjYY/YkIcQPX4OzE0s9Vg5EZHuMWwTEQ1Am7IFpwuP4URe\nEuTXr3bbbmNuhynBsxE6LhrOYzwgEon0UKX+mJtYYkrwA5gS/ADalC3IL8vGmaIUnJNlav4gudFw\nDd+n7cCBU7sQ4TcN00LnwcNxnJ4rJyLSDYZtIqJ+qL5RgRNnD+BU/hG0Kpu7bfdznLine truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x95b2eb8>"
"<matplotlib.figure.Figure at 0x9142748>"
]
},
"metadata": {},
@@ -1167,7 +1157,7 @@
"source": [
"import math\n",
"from IPython.html.widgets import interact, interactive, fixed\n",
"import IPython.html.widgets as widgets\n",
"from IPython.html.widgets import FloatSliderWidget\n",
"\n",
"set_figsize(y=3)\n",
"def plt_g(mu,variance):\n",
@@ -1177,7 +1167,7 @@
" plt.ylim((0, 1))\n",
"\n",
"interact (plt_g, mu=(0, 10), \n",
" variance=widgets.FloatSliderWidget(value=0.6, min=0.2, max=4));"
" variance=FloatSliderWidget(value=0.6, min=0.2, max=4));"
]
},
{
@@ -1265,17 +1255,17 @@
"name": "stdout",
"output_type": "stream",
"text": [
"probability density of 1.5 is 0.1311\n",
"probability density of 2.5 is also 0.1311\n",
"whereas probability density of 2 is 0.1330\n"
"pdf of 1.5 is 0.1311\n",
"pdf of 2.5 is also 0.1311\n",
"pdf of 2 is 0.1330\n"
]
}
],
"source": [
"n23 = norm(2, 3)\n",
"print('probability density of 1.5 is %.4f' % n23.pdf(1.5))\n",
"print('probability density of 2.5 is also %.4f' % n23.pdf(2.5))\n",
"print('whereas probability density of 2 is %.4f' % n23.pdf(2))"
"print('pdf of 1.5 is %.4f' % n23.pdf(1.5))\n",
"print('pdf of 2.5 is also %.4f' % n23.pdf(2.5))\n",
"print('pdf of 2 is %.4f' % n23.pdf(2))"
]
},
{
@@ -1298,13 +1288,14 @@
"name": "stdout",
"output_type": "stream",
"text": [
"[-1.84551343 0.16224968 1.24528372 1.66242862 1.29968878 3.39047438\n",
" 1.27725073 8.76198727 -0.60691441 -2.13881535 -0.27072415 2.00097679\n",
" 0.62953538 8.63718322 -0.88693697]\n"
"[ 1.665 5.067 -3.73 1.994 -2.977 -3.43 3.368\n",
" -0.468 4.66 -1.389 0.625 2.565 4.079 1.163\n",
" -0.795]\n"
]
}
],
"source": [
"np.set_printoptions(precision=3, linewidth=50)\n",
"print(n23.rvs(size=15))"
]
},
@@ -1403,7 +1394,7 @@
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x960f6d8>"
"<matplotlib.figure.Figure at 0x79563c8>"
]
},
"metadata": {},
@@ -1412,7 +1403,8 @@
],
"source": [
"xs = np.arange(10,100, 0.05)\n",
"plt.plot(xs, [gaussian(x, 90, 30) for x in xs], label='var=0.2')\n",
"ys = [gaussian(x, 90, 30) for x in xs]\n",
"plt.plot(xs, ys, label='var=0.2')\n",
"plt.xlim((0,120))\n",
"plt.ylim(0, 0.09);"
]
@@ -1437,7 +1429,6 @@
"outputs": [],
"source": [
"from numpy.random import randn\n",
"\n",
"def sense():\n",
" return 10 + randn()*2"
]
@@ -1458,9 +1449,9 @@
"outputs": [
{
"data": {
"image/png": "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 truncated
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x966d4a8>"
"<matplotlib.figure.Figure at 0x9200780>"
]
},
"metadata": {},
@@ -1493,8 +1484,9 @@
"import math\n",
"\n",
"def rand_student_t(df, mu=0, std=1):\n",
" \"\"\"return random number distributed by student's t distribution with\n",
" `df` degrees of freedom with the specified mean and standard deviation.\n",
" \"\"\"return random number distributed by student's t \n",
" distribution with `df` degrees of freedom with the \n",
" specified mean and standard deviation.\n",
" \"\"\"\n",
" x = random.gauss(0, std)\n",
" y = 2.0*random.gammavariate(0.5*df, 2.0)\n",
@@ -1510,9 +1502,9 @@
"outputs": [
{
"data": {
"image/png": "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 truncated
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x9682da0>"
"<matplotlib.figure.Figure at 0x923c550>"
]
},
"metadata": {},
File diff suppressed because it is too large. Load diff
+24 -24
View File
@@ -381,7 +381,7 @@
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x40504a8>"
"<matplotlib.figure.Figure at 0x439c2e8>"
]
},
"metadata": {},
@@ -545,7 +545,7 @@
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAr8AAAD9CAYAAAC1Fh+gAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzsnXd4HOW5t+8p29Xdey/YOMYG0yEEAsmBBEiA0Akh9GZK\nODmkcMgJhC8kJEASIBCKqTEQAgESiAnVGLDB2BjccZNkSy7q26d8f6xnNVpt1660st77unRJuzPz\nzjujKb955nl/j2SapolAIBAIBAKBQDAAkPu6AwKBQCAQCAQCQW8hxK9AIBAIBAKBYMAgxK9AIBAI\nBAKBYMAgxK9AIBAIBAKBYMAgxK9AIBAIBAKBYMAgxK9AIBAIBAKBYMAgxK9AIBAIBAKBYMAgxK9A\nIBAIBAKBYMAgxK9AIBAIBAKBYMAgxK9AIBAIBAKBYMAgxK9AIBAIBAKBYMAgxK9AIBAIBAKBYMAg\nxK9AIBAIBAKBYMAgxK9AIBAIBAKBYMAgxK9AIBAIBAKBYMAgxK9AIBAIBAKBYMAgxK9AIBAIBAKB\nYMAgxK9AIBAIBAKBYMAgxK9AIBAIBAKBYMAgxK9AIBAIBAKBYMAgxK9AIBAIBAKBYMCg9nUHBALB\nwMY0TXRdxzAMIpEIAJIkxX/Lsowsy13+ts8jEAgEAkEuCPErEAh6FbvYNQwj6XTTNON/27+HrqLX\nEsTW33aBbAlm60cgEAgEAhDiVyAQFBm72LULW8gcvU0UusmwC2i7aE6cP1EIW0JZUZT43/ZpAoFA\nINg3EeJXIBAUlExit5jCMpN4TRZVtvfPvmyiGE5MvRBRZYFAIOifCPErEAh6RCHFriRJ3cRoschH\nKNv/ToxKJ0aVFUXpJpTTrU8gEAgEvYNk9tadRiAQ7BOYpolhGPj9fqLRKKZp4nK5cDgcPRZ2Vnv9\nnWSiORqNxlM0XC4XqhqLPYioskAgEPQuIvIrEAjSYold68cSdJqmxd0ZCiF89yWSRXkNw0DX9fjf\nlhDONapsH9AnhLJAIBDkjhC/AoGgC6nELpDy9X2horW9mfZQKmQzqM+egmEJ6GQDB1MN6rNHloVY\nFggEAx0hfgWCAU62YjeRYohfQWaKlassrOIEAsFAQYhfgWCAka/YzdSmoPTINaqc+DvToD5RgEQg\nEPRHhPgVCPZxEsWu9R30zHqsGALHSnsQ4qlvKKRVnChAIhAIShUhfgWCfYxMYtf+uyeItIeBTTbH\n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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x40503c8>"
"<matplotlib.figure.Figure at 0x439c198>"
]
},
"metadata": {},
@@ -582,9 +582,9 @@
"outputs": [
{
"data": {
"image/png": "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 truncated
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x79624a8>"
"<matplotlib.figure.Figure at 0x853f1d0>"
]
},
"metadata": {},
@@ -621,7 +621,7 @@
"data": {
"image/png": "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\n5j62b9++ph/zxS9+MXbv3t304xLR8mEuIAq+Zr/OD+16n4itW7cesbi+4447cMcddzQrLDoOzpgT\nEREREfkAC3MiIiIiIh9gYU5ERERE5AMszH1AkiTfbB5ARN5hLiAKvrC8zsPwGJeDJIQQXgdBRERE\nRBR27JgTEREREfkAC3MiIiIiIh9gYe4D1113HWRZxoEDB7wOZR5ZlrF9+3avwyAKBeYCouDz8+u8\nmdavX48tW7Z4HUbLYWHeAnbv3o0tW7Ygl8shm83ixS9+Me66664FHWPv3r24+eab8cpXvhJr165F\nPB5HT08PLrzwQnz3u9895s/yAg4if2hGLgAAVVXxoQ99CGeccQaSySTy+Ty2bNmCu++++5g/x1xA\ntHwqlQo+9rGP4c1vfjPOOOMMKIoCWZZx7733LvhYSznnP9fIyAg+85nP4KKLLsKGDRuQTCbR0dGB\nzZs3HzP/hOUi12bjzp8+99nPfhZXXXUVurq68Ja3vAWxWAzf+MY3sG3bNvzf//3fUbfHfa5rrrkG\nX//613H66afjggsuQHd3N5555hl8+9vfxr333ourr74aN9988zI/GiJarGblgnK5jJe97GV47LHH\nsGnTJrzzne+EYRj47ne/i9e//vXYuXMnduzYscyPhoiea9++fXj/+98PSZKwevVqdHd3Y2JiYlHF\nbTPP+bfeeituvvlmrFu3Dps3b8bAwABGRkawa9cubNu2Dbt378bXvva1eT/HtUUWSZDnrr32WiFJ\nkhgcHDzs9n379ol4PC66uroO+1qpVBKnnHKKkCRJ/PznPz+h+7jjjjvEo48+Ou/23//+9yKXywlJ\nksT//M//zPu6JEli+/btC3xERLQYK5EL3v3udwtJksTrX/96Ydv23O2VSkWcddZZIhKJMBcQLaOj\nvc5LpZJ44IEHRKlUEkIIsXXrViFJkrj33nsXfB+LPecfya5du8RDDz007/bR0VGxZs0aIUmS2LVr\n17yvr1u3TmzZsmXBsYcdR1l87Itf/CJM08Tf/u3fYu3atXO35/N5fOADHwAAfP7znz+hY23btg0v\nfOEL593+vOc9D5dddhkA4KGHHlp60ETUdM3MBbt27YIkSfjIRz6CSCQyd3tbWxt27NgB13Xx2c9+\ntrkPgIiOa3akLJ/PL/lYzTznX3LJJTjvvPPm3d7f348rrrhiQcei42Nh7mMPPPAAAOCCCy6Y97UL\nL7wQAPDggw8u+X4URTnsbyLyl2bmgvHxcQDAhg0b5n1t9rbZ+yOi4GnmOZ/1Q/OxMPexPXv2QJIk\nnHrqqfO+1tfXh1QqheHhYei6vuj7qFQq+Na3voVIJIJXvepVSwmXiJZJM3NBV1cXAOCZZ56Z97Wn\nn34aADA4OAjDMJYYNRH5TTPP+bZtz138eaSmAS0OC3Mfq1QqAIBcLnfEr8/ePvt9C+W6LrZv347J\nyUlcccUVOO200xYXKBEtq2bmgte+9rUQQuBDH/oQHMeZu71areKGG26Y+/9yubyUkInIZ5p9zr/6\n6qvx2GOP4eKLL8b555/fpCiJnz2ElBACf/M3f4O7774bW7ZswSc+8QmvQyKiFbBz507cf//92LVr\nF8466yy84hWvgGEY+N73vod4PI5cLodqtQpZZt+GKCiafc7/6Ec/iltuuQXPf/7z8eUvf7lJURLA\njrmvHa8Ldrwu2tEIIfCud70L//7v/45XvvKV2L17N+fDiHysmbmgp6cHv/71r/Ge97wHjUYDn//8\n53H33XfjVa96FR5++GHYtg1FUdDR0dG8B0BEnmn2Of+GG27ABz/4QZx11ll48MEHF1yD0LGxMPex\n0047DUII7NmzZ97XxsbGoGkaVq9ejUQiccLHdBwH27Ztw+23344LL7wQ3/ve9xb080S08pqdCzo6\nOvCJT3wCTz/9NAzDwPj4OL74xS+i0WigXq/jBS94wWErthBRa2r2OX/Hjh245pprcPbZZ+PBBx9E\nZ2dnE6MlgIW5r73iFa8AAPzgBz+Y97Xvf//7AICXv/zlJ3w8y7Lwpje9CV/+8pfxute9Dt/5zncQ\ni8WaEywRLZtm54KjufPOOwEAb37zm5d8LCLyVrPP+e973/tw44034iUveQl++MMfNmVZR5qPhbmP\nbd++HfF4HJ/5zGcwODg4d3upVMKNN94ISZLwrne964SOZRgGLr30UnzjG9/AZZddhm9+85scXyFq\nEc3MBUIIqKo67/bvf//7uPnmm3H66afjHe94R9NiJ6KlEcfYQbNQKODJJ5+cWwZ1VjPP+UIIXHHF\nFfjUpz6F8847D/fffz+y2eyijkXHx8rMx9avX4+Pf/zjuOqqq3D22WfjsssuQzQaxTe/+U2MjIzg\n6quvxp/8yZ+c0LHe9a534Xvf+x5yuRw2btyInTt3zvueF7zgBfjzP//zZj8MIlqiZLine truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x875deb8>"
"<matplotlib.figure.Figure at 0x8980128>"
]
},
"metadata": {},
@@ -663,7 +663,7 @@
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAtUAAAE6CAYAAADZSa6hAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3X2wHXV9P/D3Pu+e53vuc54gqQEUK0MaLGSm/AgIJVJT\naXwCCkodUYtWEHWkQ0nUFAfbUq2iVh3bqGPFsVYdUcQWECOoCTZYiCKaB0KSe3MfzvPZ593fHyf3\nSkgCZ/fszTn33vdrBoVzzu5+707m5J1PPvv5CmEYhiAiIiIiotjEbi+AiIiIiGi+Y6gmIiIiIuoQ\nQzURERERUYcYqomIiIiIOsRQTURERETUIYZqIiIiIqIOMVQTEXXZli1bIIoinnnmmW4v5TiiKOL6\n66/v9jKIiHoeQzURUY96/PHH8aEPfQh/8id/gqVLl0LTNCxZsgSbNm3Cj3/841jnfPTRR3HFFVeg\nWCwilUrhnHPOwSc+8QkEQXDSYwRBiPsjEBEtGnK3F0BERCf29re/HT//+c9x7rnn4rWvfS3y+Tx2\n796Nb3/72/iv//ovfPKTn8SNN97Y9vm+/e1vY9OmTUilUnjjG9+IYrGI73znO7j55pvxk5/8BF//\n+tfn8KchIlrYGKqJiHrUNddcgy9/+ctYvXr1Ma8/+OCD+NM//VPccssteN3rXofh4eEXPVe1WsXb\n3vY2KIqChx56CGvWrAEAfPjDH8bFF1+Mb3zjG7jnnnvwxje+cU5+FiKihY7tH0REPerd7373cYEa\nANavX4+LLroIjuPgJz/5SVvn+sY3voHJyUm86U1vmg3UAKBpGrZu3QoA+MxnPpPMwomIFiGGaiKi\neUhRlGP+/8U88MADAIDLL7/8uPcuvPBCGIaBRx99FK7rJrdIIqJFhKGaiGie2b9/P/7nf/4H6XQa\nF154YVvHPPXUUwCAM84447j3JEnCypUr4Xke9uzZk+haiYgWC/ZUExHNI6Zp4k1vehMcx8Edd9yB\nfD7f1nGVSgWCIJz08/l8HmEYolwuJ7lcIqJFg5VqIqJ5wnEcvOENb8DPfvYzXHPNNXjve9/b7SUR\nEdFRDNVERPOAbdvYtGkT7r33Xlx77bX40pe+FOn4mUp0pVI54fszrxcKhY7XSkS0GDFUExH1uGaz\nide85jW499578da3vhXbtm2LvCHLmWeeCeD3vdXP5Xke9u7dC0VRsGrVqkTWTES02DBUExH1sFqt\nhg0bNuC///u/ceONN+Lzn/98rPNccsklAID77rvvuPcefvhhmKaJdevWtT1NhIiIjsVQTUTUo8rl\nMi699FL8+Mc/xi233IJPfvKTsc/1ute9DgMDA/ja176Gxx57bPZ1y7Jw2223AQDe+c53drxmIqLF\nitM/iIh61JVXXomf//znWLZsGTKZDLZs2XLcZ9avX4//9//+34ueK5vN4gtf+AI2bdqEiy66CG96\n05vQ19eH73znO/jNb36D17/+9XjDG94wBz8FEdHiwFBNRNSj9u3bB0EQcPDgQXzoQx867n1BECCK\nYluhGgA2btyIH//4x/jIRz6C//zP/4RlWVi9ejX++Z//GX/zN3+T9PKJiBYVhmoioh61d+/exM95\n/vnn49577038vEREix17qomIiIiIOsRQTURERETUIYZqIiIiIqIOMVQTEXWZIAiRN3MhIqLeIoRh\nGHZ7EURERERE8xkr1UREREREHWKoJiIiIiLqEEM1EVGXbdmyBaIo4plnnun2Uo4jiiKuv/76bi+D\niKjnMVQTEfW4e++9F+vXr0c+n0c2m8X555+PL33pS5HPU6/Xcfvtt+NlL3sZDMNAoVDA+vXr8a1v\nfesFj+NDlEREL46hmoioh9199914zWtegyeffBLXXXcdbrjhBhw6dAhvectb8P73v7/t85TLZVxw\nwQXYunUrBEHA29/+dlx11VV4+umn8Rd/8RfYunXrHP4UREQLH7cpJyLqUfv27cMtt9yC/v5+7Ny5\nEytWrAAA/N3f/R3OO+88/NM//RM2bdqE888//0XPtWXLFjz55JO48sor8fWvfx2SJAEA7rzzTlx4\n4YXYsmULrrjiCpx77rlz+jMRES1UrFQTEfWoL37xi3AcB+9617tmAzUAFAoF/O3f/i0A4LOf/Wxb\n5/rmN78JQRDwkY98ZDZQA0Aul8Ntt92GIAhw9913J/sDEBEtIgzVREQ96oEHHgAAXH755ce9t2HD\nBgDAgw8+2Na5xsbGAACrVq067r2Z12auR0RE0TFUExH1qKeeegqCIOCMM8447r2RkRGkUik8++yz\nsCzrRc81MDAAANizZ89x7/3ud78DAOzfvx+2bXe4aiKixYmhmoioR1UqFQBAPp8/4fszr8987oVs\n3LgRYRji9ttvh+/7s69Xq1X8/d///ex/l8vlTpZMRLRo8UFFIqJF4MMf/jB++MMf4pvf/CbOOecc\n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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x8c21208>"
"<matplotlib.figure.Figure at 0x91b9710>"
]
},
"metadata": {},
@@ -696,7 +696,7 @@
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x9050470>"
"<matplotlib.figure.Figure at 0x8980320>"
]
},
"metadata": {},
@@ -776,7 +776,7 @@
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAukAAAEtCAYAAAC1Vf40AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XdcVuX/x/EXCKg4c++VK2ea+a2s3IKCgFtxm3ubaW4t\nv+6BmuYeuEoFEQUUVHBShiXOb47cO0coCCrc5/eHP8/3e+fIEgTx/Xw8ekT3de5zXffhPOjNxXU+\nl41hGAYiIiIiIpJi2Cb3AERERERExJpCuoiIiIhICqOQLiIiIiKSwiiki4iIiIikMArpIiIiIiIp\njEK6iIiIiEgKo5AuIiIiIpLCJFtI37VrF25ubhQoUABbW1u8vb2t2u/cuUPPnj0pWLAgjo6OlC5d\nmhkzZiTTaEVEREREXh275Oo4JiaGChUq0L59e9q1a4eNjY1Ve//+/dm5cycrV66kaNGi7Ny5ky5d\nupAjRw7atGmTTKMWEREREUl6Nilhx9FMmTIxZ84c2rVrZ75Wvnx5mjZtyujRo83XatSoQYUKFZg1\na1ZyDFNERERE5JVIsWvS69evz8aNG7l48SIA4eHhREZG4uzsnMwjExERERFJWsm23OWvTJo0iXbt\n2lGoUCHs7B4Nc/bs2TRo0CCZRyYiIiIikrRSbEj/4osv2LdvH5s2baJw4cLs3LmTgQMHUrhwYZyc\nnKyOjYqKSqZRioiIiIi8vCxZslj9d4oM6TExMcycORM/Pz9cXFwAKFeuHJGRkUydOvWJkC4iIiIi\nkpqkyDXphmFgGAa2ttbDs7W1JQU85yoiIiIikqSStQTjyZMnAbBYLJw7d47IyEiyZ89OwYIFqV27\nNkOGDCFjxowUKlSInTt3smLFCqZMmfLc8/75TwXy+tu/fz8AVapUSeaRSGqhe0qSgu4rSWy6p1K/\n5y3ZTraZ9IiICCpXrkzlypWJi4tj9OjRVK5c2Sy5uGrVKv71r3/Rpk0bypYty+TJk/n3v/9Nr169\nkmvIIiIiIiKvRLLNpNeoUQOLxfLM9pw5c7Jo0aJXOCIRERERkZQhRa5JFxERERF5kymki4iIiIik\nMArpIiIiIiIpjEK6iIiIiEgKo5AuIiIiIpLCKKSLiIiIiKQwCukiIiIiIimMQrqIiIiISAqjkC4i\nIiIiksIopIuIiIiIpDAK6SIiIiIiKYxCuoiIiIhICqOQLiIiIiKSwiiki4iIiIikMArpIiIiIiIp\n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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x7da30f0>"
"<matplotlib.figure.Figure at 0x7cceb38>"
]
},
"metadata": {},
@@ -811,7 +811,7 @@
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x7909550>"
"<matplotlib.figure.Figure at 0x89edc88>"
]
},
"metadata": {},
@@ -854,7 +854,7 @@
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x90cffd0>"
"<matplotlib.figure.Figure at 0x91c7e80>"
]
},
"metadata": {},
@@ -908,7 +908,7 @@
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x82c0ba8>"
"<matplotlib.figure.Figure at 0x8107f28>"
]
},
"metadata": {},
@@ -939,7 +939,7 @@
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAtIAAAEWCAYAAABL+3CVAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Wd0nOd55//vzGAaBr2XAUACRGGnWCSSkiiKaqYsUVZs\n2ZLsSEo2TvP6xLveJP/NsVf7wik+e06y3hPFKyfrWHbiknUkq1iWqEZRFEmRFDtBFBJEBwa9TZ95\nnv8LiloViiKBAQbA/D7n+AjGgPNcJMF5frjnuq/bYpqmiYiIiIiIXBNrsgsQEREREVmIFKRFRERE\nRKZBQVpEREREZBoUpEVEREREpkFBWkRERERkGhSkRURERESmQUFaRERERGQarhik9+7dy65du/B6\nvVitVp566qkPPf7tb3+b5cuXk5GRQV5eHrfffjsHDhyY1YJFREREROaDKwZpv9/PmjVr+N73vofb\n7cZisXzo8YaGBv7hH/6B06dPs2/fPpYuXcpdd92Fz+eb1aJFRERERJLNcrUnG2ZmZvLEE0/wyCOP\nfOLXTExMkJOTw8svv8wdd9yRsCJFREREROabhPVIRyIRfvCDH5Cfn8+GDRsS9bQiIiIiIvNS2kyf\n4IUXXuChhx4iEAhQWFjIr3/9a/Ly8hJRm4iIiIjIvDXjIL1jxw5OnDjB0NAQP/jBD7j33ns5dOgQ\nVVVV73/N+Pj4TC8jIiIiIpI02dnZH/vcjFs70tPTqa6u5vrrr+ef/umfyM7O5kc/+tFMn1ZERERE\nZF5L+BzpeDyOYRiJfloRERERkXnliq0dfr+f1tZWAAzDoKOjg+PHj5Ofn09OTg7f/e532bVrFyUl\nJQwODvLEE0/Q29vLF7/4xU98zssti4tcjSNHjgCwcePGJFciMr/o34bI5enfhszUp7UnX3FF+vDh\nw6xfv57169cTCoV4/PHHWb9+PY8//jhpaWk0NjZy//33U1dXx65duxgdHeWtt95i5cqVCf1NiIiI\niIjMN1dckd6+ffsV2zSefvrphBckIiIiIrIQJLxHWkREREQkFShIi4iIiIhMg4K0iIiIiMg0KEiL\niIiIiEyDgrSIiIiIyDQoSIuIiIiITIOCtIiIiIjINChIi4iIiIhMg4K0iIiIiMg0KEiLiIiIiEyD\ngrSIiIiIyDQoSIuIiIiITIOCtIiIiIjINChIi4iIiIhMg4K0iIiIiMg0pCW7ABER+XSmaTIVjDDu\nDxMMRzEME8M0iRsmLb0TWADXhQFsVgs2qxWr1YLHZSfb48LtTMNisST7tyAisugoSIuIzANjUyF6\nBicYmwox7g8z7g996OPxqTCxeATDiGCaMcDExATTZHR0BIBXznYDFixYwGLBYrFjtThwOhxke1xk\ne5xke1zkZLz3cYaLvEw33sIs0l32pP7+RUQWIgVpEZE5NjYVotM3Todv7L3/jjM6NUk87sc0whhm\nBNOIfOy/LnucDLeJ22FitZrYrGC1Qo59EgB3eiamCXEDDMNCIGxhImBhYiKN4REHFosDi9WB1eLA\nar30sQubzUNRbhaVRdlUFWdTVZJDZVG2wrWIyKdQkBYRmUXxuEFrzwit3cMfCc1TF/8XmyJuTOKw\nhSjJjZPjMch0m2S6DTLcJlnpF/9/htvAbrv8NQYHhwEoLLz8tpdwFCaDViaDFqaCViYC730csjIy\nacU3ZqNtKp2O3gz22zKw2TI/Fq7rKwuoKs5Wi4iIyAcoSIuIJFggFOX0hQFOtvk41TbAVHCEWGzs\nQ6G5NC9OWV6csvw4Zblx8jINZiujOu3gtBsUZAHEP/a4YcDA+CS9I0P0jqTRN2Kjf/SD4TqTtLQc\n8rLyWFNTzNqaYhoqC7CnfUKyFxFJEQrSIiIJMDjm5+R5HyfO+2jpHiQSGSUaGyYWHaEgK8gyb4zy\ngtkPzdNhtUJJrkFJrsH6mijw4XDdM5RGS28a3f0e+ofyeeNoHm5XHiuXFLKmupjV1cVkeZxJ/l2I\niMw9BWkRkWkanQyy71QnR1v76B4cIRq9GJwNY5SqwggN3ij13hi5GUayS71mHw3Xpgn9o36ae0Zp\n6rbTN+Jk/0Qeh8/mY7fnUVNWwMb6Mjav8Kq3WkRShoK0iMg1ME2Tps4h9hxv58S5XkLhfiLRAezW\nSWrLojR4oywri+F2mMkuNaEsFijNMyjNC7N9dZiJgJ/mnkmau3u44HNwsjWHsx3FPP1WMTcs97J9\n3RIqirKTXbaIyKxSkBYRuQqBUJT9Z7rYe6KD3iEf4UgfRmyA5RUh1tdEWFIcw5ZCR1xlpZtsqo2w\nqTZCJBqgpdfPu+cGueBr45XDxew90coybwm3rF3ChrpS9VOLyKKkIC0icgUd/WO8eaKDQ03d+IM+\nIuFePM4xbm6IsGFZhAz34lp5ng6HHVZVRVlVFWVoIsjhlkmOtXVxqjWf5s42cjKLuWlVJdvWVlGQ\nnZ7sckVEEkZBWkTkMtp6R3lm31maOnoJR/qIRPqpKQ5yfX2YurIY1hRafb4WBVkGOzeGuG1tiNMd\nQQ61DNA/kMFz+y7w8uESNjVUsmtrPUW5nmSXKiIyYwrSIiIf0Dc8ya/2NXG0pZNQuAMb/WyoDrOp\nNkJ+1sLbNJgsDjusXxbhupoIPcNBDrWMc7qzg7eOd/Nuczc3r1nKPVvqNO1DRBY0BWkREWBkIsjz\n+5s5cKadQLATM97LloYgN64I4XIku7qFy2IBb0Ecb0GQHWtDvHEyyMn2PnYf6mX/mU7u2FDDnZtq\ncDs16UNEFh4FaRFJaf5ghN8cOscbx84zFegiFuli/bIgt6wKkan+54TK8ZjcvyXIjSvCvHY8QHNv\nD796q489J9q5+4Zatq9bok2JIrKgfGqX3969e9m1axderxer1cpTTz31/mOxWIw///M/Z+3atWRk\nZFBWVsaXv/xlurq6ZrVoEZGZisUNfvNOK3/xT6/xwv59jIy+Q21xK1/77Bj3bAoqRM+iomyDh24J\n8B9uH6YosxHf4Dv87NW3+PYP3+BgYzemqT97EVkYPnVF2u/3s2bNGh599FEeeeQRLB84jsvv93Ps\n2DG+9a1vsW7dOsbGxvjmN7/JZz7zGU6ePInNppUFEZl/OvrHeOrlE7T3tRMMnae6eIo71gUpzVMP\n9FyqKIzzO7f7ae0N8+rxCbr6uvmnFwY53FTNV+5YQ26mO9kliohc0acG6Z07d7Jz504AHnvssQ89\nlp2dze7duz/0uSeffJKVK1fS1NTEypUrE1epiMgMxeIGLx5s5cWDZ/EHzpHp6ueBW4NUl8SSXVrK\nsligrjxGbdkUxy+EefndCY6cHeZczzBf3L6KrasqPrSAIyIynyS8R3p8fByA3NzcRD+1iMi0fXAV\nOhRq5fraSW5bF8KhnSLzgsUC11VHqS2d4PlD52npHeaffzPO0VatTovI/JXQW0gkEuGb3/wmu3bt\noqysLJFPLSIyLZdbhf7SjgBLiuPJLk0uI8Nt8uC2AKfao7x4xK/VaRGZ1yzmNezqyMzM5IknnuCR\nRx752GOxWIyHH36Ys2fPsnfv3g+tSF9apQZobW2dYckiIlenbzTAC0d6GBjrxzS7WL90lJuXT2BP\n02a2hcAfsrL7ZC7n+3OxWKpYVlrEzvVestI1Kk9E5kZtbe37H2dnZ3/s8YSsSMdiMR566CHOnDnD\nnj171NYhIkl3tG2Y3ce7iMW6yEkf5K7rRqjIjyS7LLkGHpfB5zYNc7YnwGungrT2jdHzqp/f2ryE\nJUUZyS5PRGTmQToajfLggw/S2NjInj17KCoquuLXb9y4caaXlBR15MgRQN9DcmXxuMG/7TnDofYx\nHI4utq4Y447r4jjSPr6SsFgMDg4CUFhYmORKZkdREWxoiPLMwWEuDMArZ3N4sLSK7euWqNVDrkj3\nDZmpD3ZVXM5Vjb+71I5hGAYdHR0cP36c/Px8ysrKeOCBBzhy5AjPP/88pmnS398PQE5ODi6XKwG/\nBRGRqzMVjPCD59/ldFsL4XAT990wybrqaLLLkgTIcJt8+RY/r5+Ms+9smH99JUz34AQP3baaNNun\nHokgIjIrPrVHes+ePezYsePiF1ss7w/Kf+yxx3j88cdZunTphz5/yY9+9KP3e6k/mOYv118icjW0\nsiBX0jM4wT88e5jugRbsljYevNlPRWFqbChc7CvSH3Wq3c6vDmbicNazfEktf7hrI5npzmSXJfOQ\n7hsyU5+WYT91RXr79u0YxicfUnClx0RE5sLxc/38nxffZWz8LIVZfTy0zU9WujYULlarl0TJyxzn\n53vPcPq8n7/8lyBf+9wmKoq0UCMic0vvh4nIgmWaJi8ebOWJZ95mePQoDeU9/O4dUwrRKaA8P84f\nfGaSosw2un3H+O7P3uLd5t5klyUiKUZBWkQWJMMw+fHLJ/j3vYfx+4+xY/Ugn98awG5LdmUyVzLc\nJo/dPsWqih5GRo/yv5/bzytHzie7LBFJITrTS0QWnHjc4Ie/OcaBM43EImd4cNsk9eU65jsVpdng\nc5uDFOcMsvvYCX7xhkE0ZnD35tpP/8UiIjOkIC0iC0osbvCPL7zL4bONxKKN/Patk1SmyKZCuTyL\nBbYuj+B2jvL8Oyd5eq9JJBbnvhvrNR5PRGaVgrSILBixuMH/fu4IR5sbMWKNPLpjCm+BQrRcdF11\nlDTrGE8fOMkL+01icYPPb1uuMC0is0ZBWkQWhFjc4AfPv8vR5jMQP8tjt01SmqepQfJhq5dEsVnH\n+OX+k7z0jkmazaqVaRGZNdpsKCLznmGY/PDFYxxpasSMneVRhWi5ghWVMR64cZxA4DQv7D/Biwdb\nk12SiCxSCtIiMq8ZhsmPXjrOwcYzxKON/PaOKUpyFaLlypZXxPitreMEA6d4Zt9xdLine truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x90efe10>"
"<matplotlib.figure.Figure at 0x89b6fd0>"
]
},
"metadata": {},
@@ -972,7 +972,7 @@
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x910edd8>"
"<matplotlib.figure.Figure at 0x941f1d0>"
]
},
"metadata": {},
@@ -1010,7 +1010,7 @@
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x9116240>"
"<matplotlib.figure.Figure at 0x89b26d8>"
]
},
"metadata": {},
@@ -1041,7 +1041,7 @@
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0xa3ed908>"
"<matplotlib.figure.Figure at 0xa6eebe0>"
]
},
"metadata": {},
@@ -1081,7 +1081,7 @@
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x911b6d8>"
"<matplotlib.figure.Figure at 0xa716be0>"
]
},
"metadata": {},
@@ -1117,7 +1117,7 @@
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAtIAAAEWCAYAAABL+3CVAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xlwpfdd5/v3s5x919EutXpxt5du23Fkk0xwyJhgJ3ES\nGjJcBwIpYiDMpchkCJcaqJkK9PwxC6mhAE/BcJMAN87MAEXNDRMSyI1NSOK4EhN30h0v7aXt7tbS\n2o/Ovj7b/UPujjttt9uSWudI+ryqTkk6j/roK/tIz0ff8/39HiMIggAREREREXldzG4XICIiIiKy\nHSlIi4iIiIisg4K0iIiIiMg6KEiLiIiIiKyDgrSIiIiIyDooSIuIiIiIrIOCtIiIiIjIOlwxSD/y\nyCMcPXqU8fFxTNPkwQcfvOT4b//2b3PTTTeRTCbp6+vj7rvv5lvf+tY1LVhEREREpBdcMUjX63Vu\nvfVWHnjgAWKxGIZhXHL8xhtv5L/9t//GU089xaOPPsr+/ft55zvfyeLi4jUtWkRERESk24yrvbJh\nKpXij//4j/n5n//5V/2cSqVCNpvly1/+Mvfcc8+mFSkiIiIi0ms2bUa60+nwqU99inw+z+23375Z\nDysiIiIi0pPsjT7AF7/4RT7wgQ/QaDQYGBjg7/7u7+jr69uM2kREREREetaGg/Tb3/52vve977Gy\nssKnPvUpfvzHf5xvf/vb7N279+LnlMvljX4ZEREREZGuyWQyl9234dGOeDzOgQMHeNOb3sSf/umf\nkslk+MxnPrPRhxURERER6Wmbvo+053n4vr/ZDysiIiIi0lOuONpRr9c5ffo0AL7vMzU1xcmTJ8nn\n82SzWT7xiU9w9OhRhoeHWV5e5o//+I+Zm5vj/e9//6s+5iu1xUWuxvHjxwG44447ulyJSG/Rz4bI\nK9PPhmzUa40nX7Ej/fjjjzM5Ocnk5CStVotjx44xOTnJsWPHsG2bU6dO8b73vY/rr7+eo0ePUiwW\n+cY3vsGRI0c29ZsQEREREek1V+xI33XXXVcc0/jc5z636QWJiIiIiGwHmz4jLSIiIiKyGyhIi4iI\niIisg4K0iIiIiMg6KEiLiIiIiKyDgrSIiIiIyDooSIuIiIiIrIOCtIiIiIjIOihIi4iIiIisg4K0\niIiIiMg6KEiLiIiIiKyDgrSIiIiIyDooSIuIiIiIrIOCtIiIiIjIOihIi4iIiIisg4K0iIiIiMg6\n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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0xa45aa90>"
"<matplotlib.figure.Figure at 0xa731208>"
]
},
"metadata": {},
@@ -1150,7 +1150,7 @@
"data": {
"image/png": "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\nHmkBF0LMCgWZCSTEa1QagwT1USzqzLhDpaIopDtyibMkU3vqCK/39dPZ9xa3r1vIndctlpFShBBC\nnENawIUQs4LFrFGQGU+sx2Ag2BPtcs5hNzlZEbeB2OBijryr8stX6vnus69zqnMw2qUJIYSYYaQF\nXAgxayxZkER8XDd9LZ0k2zKiXc45FEUh21VAXCiJ2hNH6O0dpq37IB+/bhG3XZOPqspdNIUQQkgL\nuBBiFilZlEZiEvQFOwjroWiXc0Fus4eShE2Yfbm8U6bzsz/U8G+/OsSANxDt0oQQQswAEsCFELNG\nYqyDpbmJxMVH6A60RbucCamKRp57KYvs66irsvGnN/p4+JkDnGjpjXZpQgghokwCuBBiVrl2aRYp\nqdAZaI52KZckzprEqvhNDHUmcuidUR597k3+dLgewzCiXZoQQogokQAuhJhVSgrSSEs2Mar24wsP\nR7ucS2JRrSzzrMM1ms/hwwY/famSn/zhXUaD4WiXJoQQIgokgAshZhWLWeOaogxSkqHTPztawWHs\nAs1cdxELbWuoOGbipf1t/MsvDtLZ5412aUIIIabZhAH8wIEDbN26lczMTFRVZdeuXWfN3717N7fe\neivJycmoqsr+/fsvaaf79+9n9erV2O128vLyeOqpp678CIQQ887GZdmkpkJn4BRhfXa1Iifa0lju\nuY6Wehf73xzmu88e5OjJjmiXJYQQYhpNGMB9Ph/Lly9n586d2O12FOXsIbRGRkbYuHEjjz32GMA5\n88+noaGB22+/nY0bN1JeXs5DDz3EAw88wO7du6/iMIQQ80lOqoflBQnEJYTo8DdFu5zL5jC5WBl/\nHeH+dN4qDfHvvyrlhYM16Lr0CxdCiPlgwnHAt2zZwpYtWwDYvn37OfPvueceAHp6Lv2mGE8++SSZ\nmZns3LkTgMLCQt5++22+//3v84lPfOKStyOEmN9uXZvPkZpejpfXk+7IRVVmV486k2picWwJrSMe\nyo9U4/efoKljgC/dUYLLbol2eUIIIabQtH9jvfnmm2zevPmsaZs3b6asrIxIJDLd5QghZqninCQK\nc2JwxQboCrREu5wroigKmc48Cl3rqK2y8sob3Xz32QM0dQxEuzQhhBBTaNoDeGdnJykpKWdNS0lJ\nIRwOX1ZLuhBiflMUhVvX5pOVBS2+92b1sH4eSyIr466jtyWON97288hzh3jj+KlolLine truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x915fc18>"
"<matplotlib.figure.Figure at 0xa699668>"
]
},
"metadata": {},
@@ -1199,7 +1199,7 @@
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0xa42e358>"
"<matplotlib.figure.Figure at 0xa7560f0>"
]
},
"metadata": {},
@@ -1229,7 +1229,7 @@
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0xa42ed30>"
"<matplotlib.figure.Figure at 0xa7562e8>"
]
},
"metadata": {},
@@ -1264,7 +1264,7 @@
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x82dab70>"
"<matplotlib.figure.Figure at 0x853fcf8>"
]
},
"metadata": {},
@@ -1293,7 +1293,7 @@
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x8768630>"
"<matplotlib.figure.Figure at 0x91a6fd0>"
]
},
"metadata": {},
@@ -1322,7 +1322,7 @@
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x907b3c8>"
"<matplotlib.figure.Figure at 0xa679470>"
]
},
"metadata": {},
@@ -1351,7 +1351,7 @@
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAvUAAAEtCAYAAACIx59SAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xl0XeV5Nvxr731mDUeTNduWbGvyCMZMJiU2ZTBNY5KP\npLw42EDTkATC2JIvtLQ2lAWLN10UWCYU0tLXHwRCmr5JM7BspyVgHJzEBtvY8mxLsq15PJLOfPbe\n3x/P2WewJVuWzihdv7W0ztHZW/KjvbykS7fu596Srus6iIiIiIgoa8npXgAREREREU0NQz0RERER\nUZZjqCciIiIiynIM9UREREREWY6hnoiIiIgoyzHUExERERFlOYZ6IiIiIqIslxWh/rnnnsOVV14J\np9OJ0tJSrF27Fs3Nzeedt2nTJlRVVcHhcGD16tU4dOhQGlZLRERERJRaWRHqP/zwQ3znO9/Brl27\n8P7778NkMuHGG2/E4OBg5Jznn38eL7zwAjZv3ozdu3ejtLQUN910E0ZHR9O4ciIiIiKi5JOy8Y6y\nbrcbTqcT//Vf/4UvfOEL0HUdlZWVeOihh/DEE08AAHw+H0pLS/FP//RPuO+++9K8YiIiIiKi5MmK\nSv25hoeHoWkaCgsLAQAtLS3o7u7GzTffHDnHZrPh+uuvx8cff5yuZRIRERERpURWhvqHH34Yl19+\nOa699loAQFdXFwCgrKws7rzS0tLIMSIiIiKi6cqU7gVcqsceewwff/wxdu7cCUmSLnr+uee4XK5k\nLY2IiIiIKOmcTud5r2VVpf7RRx/Fu+++i/fffx81NTWR18vLywEA3d3dced3d3dHjhERERERTVdZ\nE+offvjhSKCvr6+PO1ZbW4vy8nJs37498prP58POnTuxcuXKVC+ViIiIiCilsqL95oEHHsBbb72F\nn//853A6nZE++by8POTk5ECSJDzyyCN49tln0djYiLq6OjzzzDPIy8vDunXrxv28Y/3pYqbYs2cP\nAGDFihVpXkl24vWbPF67qeH1mxpev8njtZsaXr+p4fW7eAt5VoT6V199FZIk4U//9E/jXt+0aRP+\n4R/+AQDw3e9+F16vFw888AAGBwdxzTXXYPv27cjJyUnHkomIiIiIUiYrQr2maRM6b+PGjdi4cWOS\nV0NERERElFmypqeeiIiIiIjGxlBPRERERJTlGOqJiIiIiLIcQz0RERERUZZjqCciIiIiynIM9URE\n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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x82e1320>"
"<matplotlib.figure.Figure at 0x808f0b8>"
]
},
"metadata": {},
File diff suppressed because it is too large. Load diff
+132 -200
View File
@@ -364,15 +364,15 @@
"Let's rewrite this using our newly learned terminology.\n",
"\n",
"```python\n",
"def update(prior_probability, measure, prob_hit, prob_miss):\n",
" posterior_probability = np.zeros(len(prior_probability))\n",
"def update(prior, measure, prob_hit, prob_miss):\n",
" posterior = np.zeros(len(prior))\n",
" for i in range(len(hallway)):\n",
" if hallway[i] == measure:\n",
" posterior_probability[i] = prior_probability[i] * p_hit\n",
" posterior[i] = prior[i] * p_hit\n",
" else:\n",
" posterior_probability[i] = prior_probability[i] * p_miss\n",
" posterior[i] = prior[i] * p_miss\n",
"\n",
" return posterior_probability / sum(posterior_probability)\n",
" return posterior / sum(posterior)\n",
"```\n",
"\n",
"\n",
@@ -588,7 +588,7 @@
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x6ab96d8>"
"<matplotlib.figure.Figure at 0x6dd0e80>"
]
},
"metadata": {},
@@ -622,7 +622,7 @@
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x4020dd8>"
"<matplotlib.figure.Figure at 0x436c9e8>"
]
},
"metadata": {},
@@ -652,7 +652,7 @@
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x7b8beb8>"
"<matplotlib.figure.Figure at 0x7ed9128>"
]
},
"metadata": {},
@@ -1022,9 +1022,9 @@
"outputs": [
{
"data": {
"image/png": "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\nNmwgPT3ds25SRERERORK5LNg/thjj7F+/XrWr19f53nDMIiLi+P+++/n0UcfBcDpdBIdHc2iRYuY\nOXOmL4YhIiIiItIq+ezlz/fee4/+/fszadIkYmJiuOaaa1i8eLHnfEZGBg6Hg1GjRnmOWa1WhgwZ\nwsaNG301DBERERGRVslnwfzgwYO89NJLdOnShbS0NB544AF+/etfe8L58ePHAYiJifFqFx0d7Tkn\nIiIiInKl8tkGQ263m/79+/PUU08B0Lt3b/bt28fixYuZNWvWOdueXa6rsLDQV8MSEREREbnowsLC\nGt3GZzPmcXFx9OzZ0+tY9+7dyczMBCA2NhYAh8PhdY3D4fCcExERERG5UvksmN94443s2bPH69je\nvXs9NXiTkpKIjY0lLS3Nc97pdLJhwwZuuOEGXw1DRERERKRV8tlSlgcffJAbbriBBQsWcOedd/LV\nV1/xpz/9iaeffhqoWa4ye/ZsFixYQPfu3UlOTubJJ5/EbrczderUevttyq8B5MqwdetWAPr163eJ\nRyItmZ4TaQg9J3I+ekakIS50ObbPgnm/fv147733eOyxx/jd735Hhw4dePLJJ/nZz37muWbOnDmU\nl5cza9Ys8vPzGThwIGlpaQQHB/tqGCIiIiIirZLPgjnA2LFjGTt27DmvSU1NJTU11Ze3FRERERFp\n9Xy2xlxERERERJpOwVxEREREpAVQMBcRERERaQF8usZcREREpKUzDIPKykrcbneD23To0AGoKfUs\nVyaz2UxAQECtjTF9ScFcRERErhiGYeB0OrFYLI0KWVartZlHJi2ZYRi43W6cTidWq7XZwrmWsoiI\niMgVo7KyEovFgp+fX7POfMrlxWQy4efnh8ViobKystnuo2AuIiIiVwy3243ZrPgjTWM2mxu1BKrR\n/TdbzyIiIiItkGbKpama+9lRMBcRERERaQEUzEVEREREWgAFcxERERGp0/Tp00lKSrpk9x86dCjD\nhg27ZPe/2BTMRURERFq5efPmYTabOXHiRJ3nhw4dSo8ePRrdr8lkuqRr8i/k/i+99BLLli3z8Yia\nl+qYi4iIiFwBmhJwlyxZgmEYzTCahvnoo4+a3Pall14iKiqKu+++24cjal6aMRcRERGROvn7+xMQ\nEHDR71teXu65v7//lTOPrGAuIiIicgVZs2YNZrOZN998kwULFhAfH4/NZmPEiBEcOHDA69qz15hf\nddVVDBkypM5+k5OTvdaD/+EPf2DQoEFERUVhs9no1asXf/vb32q169ixI2PGjOGTTz5hwIAB2Gw2\nnn32WaDuNeYN6bdjx47s2rWLtWvXYjabMZvNXp+joqKCJ554guTkZKxWK/Hx8Tz00EOeHwgulSvn\nRxARERER8XjmmWfw9/dnzpw5FBQU8Mwzz/DDH/6QzZs3e1135hKYKVOmMHfuXI4ePUr79u09x7/8\n8ksOHDjAww8/7Dn2wgsvMH78eCZPnozJZOK9997j3nvvpaqqip/85Cde/e/fv5+JEycyc+ZM7r33\nXhITE+u8f0P7ffHFF/nFL36B3W7nN7/5DQAhISEAGIbBhAkTWLduHTNnzqRnz57s2rWLl156iZ07\nd7Jq1aoL/dI2mYK5iIiIyBWooqKCLVu2eJaKRERE8MADD7Bz505SUlI81525xnzy5Mn89re/5e23\n32b27Nme4ytWrCAgIIAf/OAHnmP79u3DarV6/j1r1ixuueUWFi1a5BXMDcPgwIEDrFy5kltvvfW8\n425Iv9/73vf4zW9+Q3R0NFOnTvVqv3z5clatWsWaNWsYPHiw53i/fv246667+Oijjxg5cuR5x9Ec\nFMxFRERE6vHB5uV8+PmKZut/9IBJjB04pdn6P5dp06Z5rd8eNGgQABkZGV7B/EydO3emb9++rFix\nwiuYv/XWW9x88820adPGc+x0eK6srKS4uBi3283QoUP56KOPKC4uxm63e65NSEhoUChvbL91eeut\nt+jatSs9e/YkJyfHc3zIkCGYTCZWr16tYC4iIiIizefsJSFnLheBmhlzgPz8/HP2M3nyZB5++GEO\nHz5Mhw4d2LRpE5mZmcyfP9/run//+9/87ne/45tvvqG6utprHIWFhV4BulOnTg3+HI3pty579+4l\nPT2dqKioWudMJhMnT55s8Fh8TcFcREREpJU7PYtc38uLZWVlXss/APz8/Oq89nzlESdNmsScOXNY\nsWKF53+tVisTJkzwXLNhwwYmTJjAkCFDeOWVV4iLi8NisfD+++/z/PPP43a7vfq02Wzn/YxN6bcu\nbreblJQUXnzxxTrPx8XFNWgszUHBXERERKQeYwdOuWRLTRqjQ4cOAOzZs8fz99Oqq6vZv38/Q4cO\n9cm94uPjueGGG1ixYgUPP/wwb7/9NqNHj/aaqf7nP/9JUFAQaWlpWCwWz/FPPvnkgLine truncated
"image/png": "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\nHHDVTYqIiIiItEUeC+aPPfYYGzduZOPGjXWeNwyDTp068cADD/Doo48CYLfbiYiIYMWKFdxzzz2e\nGIaIiIiISKvkscmf77//Ptdccw0zZswgMjKSgQMH8sILL7jOp6WlYbPZmDhxouuY1WplzJgxbNmy\nxVPDEBERERFplTwWzI8cOcKLL75It27dSE5O5sEHH+SRRx5xhfOcnBwAIiMj3a6LiIhwnRMRERER\naas8tsGQ0+nkmmuu4cknnwRgwIABpKam8sILLzBv3rzzXnvucl0FBQWeGpaIiIiIyCUXHBzc6Gs8\n9sa8U6dO9O7d2+1Yz549yczMBCAqKgoAm83m1sZms7nOiYiIiIi0VR4L5iNHjmT//v1uxw4ePOha\ngzchIYGoqCiSk5Nd5+12O5s2bWLEiBGeGoaIiIiISKvksVKWhx56iBEjRrBs2TJuvfVWdu3axV//\n+lf+9Kc/AdXlKvPnz2fZsmX07NmTxMREli5dSlBQELNnz66336b8GkDahu3btwMwePDgyzwSacn0\nnEhD6DmRC9EzIg1xseXYHgvmgwcP5v333+exxx7jj3/8I507d2bp0qX86le/crVZsGABZWVlzJs3\nj7y8PIYNG0ZycjIBAQGeGoaIiIiISKvksWAOMHnyZCZPnnzeNosWLWLRokWevK2IiIiISKvnsRpz\nERERERFpOgVzEREREZEWQMFcRERERKQF8GiNuYiIiEhLZxgGDocDp9PZ4Gs6d+4MVC/1LG2T2WzG\nx8en1saYnqRgLiIiIm2GYRjY7XYsFkujQpbVam3mkUlLZhgGTqcTu92O1WpttnCuUhYRERFpMxwO\nBxaLBS8vr2Z98ylXFpPJhJeXFxaLBYfD0Wz3UTAXERGRNsPpdGI2K/5I05jN5kaVQDW6/2brWURE\nRKQF0ptyaarmfnYUzEVEREREWgAFcxERERGRFkDBXERERETqNGfOHBISEi7b/ZOSkhg3btxlu/+l\npmAuIiIi0sotXrwYs9nMiRMn6jyflJREr169Gt2vyWS6rDX5F3P/F198kVWrVnl4RM1L65iLiIiI\ntAFNCbivvvoqhmE0w2ga5vPPP2/ytS+++CLh4eHceeedHhxR89IbcxERERGpk7e3Nz4+Ppf8vmVl\nZa77e3u3nffICuYiIiIibci6deswm828+eabLFu2jJiYGPz8/Ljuuus4fPiwW9tza8z79u3LmDFj\n6uw3MTHRrR78z3/+M6NGjSI8PBw/Pz/69+/PP//5z1rXxcfHM2nSJL788kuGDh2Kn58fTz/9NFB3\njXlD+o2PjyclJYX169djNpsxm81un6O8vJwnnniCxMRErFYrMTExPPzww64fCC6XtvMjiIiIiIi4\nPPXUU3h7e7NgwQLy8/N56qmnuO222/jmm2/c2tUsgZk1axYLFy4kOzub6Oho1/EdO3Zw+PBhfvvb\n37qOPffcc0ydOpWZM2diMpl4//33ufvuu6msrOTee+916//QoUNMnz6de+65h7vvvpu4uLg679/Q\nfp9//nnuv/9+goKC+P3vfw9AYGAgAIZhMG3aNDZs2MA999xD7969SUlJ4cUXX+SHH37gs88+u9gv\nbZMpmIuIiIi0QeXl5WzdutVVKhIaGsqDDz7IDz/8QJ8+fVztataYz5w5kz/84Q+8/fbbzJ8/33V8\nzZo1+Pj4cMstt7iOpaamYrVaXf+eN28e119/PStWrHAL5oZhcPjwYT788ENuvPHGC467If3+5Cc/\n4fe//z0RERHMnj3b7frVq1fz2WefsW7dOkaPHu06PnjwYG6//XY+//xzJkyYcMFxNAcFcxEREZF6\nfPLNaj79dk2z9X/D0BlMHjar2fo/nzvuuMOtfnvUqFEApKWluQXzmrp27cqgQYNYs2aNWzB/6623\nuPbaa2nfvr3r2Jnw7HA4KCoqwul0kpSUxOeff05RURFBQUGutrGxsQ0K5Y3tty5vvfUW3bt3p3fv\n3pw6dcp1fMyYMZhMJtauXatgLiIiIiLN59ySkJrlIlD9xhwgLy/vvP3MnDmT3/72t2RkZNC5c2e+\n/vprMjMzWbJkiVu7Dz74gD/+8Y98//33VFVVuY2joKDALUB36dKlwZ+jMf3W5eDBgxw4cIDw8PBa\n50wmEydPnmzwWDxNwVxERESklTvzFrm+yYulpaVu5R8AXl5edba90PKIM2bMYMGCBaxZs8b1n1ar\nlWnTprnabNq0iWnTpjFmzBhefvllOnXqhMVi4eOPP+bZZ5/F6XS69enn53fBz9iUfuvidDrp06cP\nzz//fJ3nO3Xq1KCxNAcFcxEREZF6TB4267KVmjRG586dAdi/f7/r72dUVVVx6NAhkpKSPHKvmJgY\nRowYwZo1a/jtb3/L22+/zQ033OD2pvrf//43/v7+JCcnY7FYXMe//PLLi7p3Y/qtbLine truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x7b94240>"
"<matplotlib.figure.Figure at 0x7ee7c50>"
]
},
"metadata": {},
@@ -1034,7 +1034,7 @@
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x7cb7f60>"
"<matplotlib.figure.Figure at 0x8012470>"
]
},
"metadata": {},
@@ -1069,7 +1069,8 @@
" pos = predict(pos[0], pos[1], u, Q)\n",
" f.predict(u=u)\n",
"\n",
" plt.scatter(range(len(x_kf)), x_kf, c='r', s=80, label='Kalman')\n",
" plt.scatter(range(len(x_kf)), x_kf, c='r',\n",
" s=80, label='Kalman')\n",
" plt.title('State')\n",
" plt.plot(x_uni, label='Univariate')\n",
" plt.xlim([0, 50])\n",
@@ -1331,82 +1332,19 @@
"metadata": {},
"source": [
"### Numerical Solutions\n",
"Finally, there are numerical techniques to find $\\Phi$. As filters get larger finding analytical solutions becomes very tedious (though packages like SymPy make it easier). C. F. van Loan [3] has developed a technique that finds both $\\Phi$ and $Q$ numerically.\n",
"Finally, there are numerical techniques to find $\\Phi$. As filters get larger finding analytical solutions becomes very tedious (though packages like SymPy make it easier). C. F. van Loan [3] has developed a technique that finds both $\\Phi$ and $Q$ numerically. Given the continuous model\n",
"\n",
"$$ x' = Fx + Gu$$\n",
"\n",
"where u is the unity white noise, we compute and return the $\\sigma$ and $Q_k$ that discretizes that equation.\n",
" \n",
"I have implemented van Loan's method in `FilterPy`. You may use it as follows:\n",
"\n",
" from filterpy.common import van_loan_discretization\n",
" \n",
" F = np.array([[0,1],[-1,0]], dtype=float)\n",
" G = np.array([[0.],[2.]]) # white noise scaling\n",
" phi, Q = van_loan_discretization(F, G, dt=0.1)\n",
" \n",
"See the docstring documentation for van_loan_discretization for more information, which I have embedded below."
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Help on function van_loan_discretization in module filterpy.common.discretization:\n",
"\n",
"van_loan_discretization(F, G, dt)\n",
" Discretizes a linear differential equation which includes white noise\n",
" according to the method of C. F. van Loan [1]. Given the continuous\n",
" model\n",
" \n",
" x' = Fx + Gu\n",
" \n",
" where u is the unity white noise, we compute and return the sigma and Q_k\n",
" that discretizes that equation.\n",
" \n",
" \n",
" **Example**::\n",
" \n",
" Given y'' + y = 2u(t), we create the continuous state model of\n",
" \n",
" x' = | 0 1| * x + |0|*u(t)\n",
" |-1 0| |2|\n",
" \n",
" and a time step of 0.1:\n",
" \n",
" \n",
" >>> F = np.array([[0,1],[-1,0]], dtype=float)\n",
" >>> G = np.array([[0.],[2.]])\n",
" >>> phi, Q = van_loan_discretization(F, G, 0.1)\n",
" \n",
" >>> phi\n",
" array([[ 0.99500417, 0.09983342],\n",
" [-0.09983342, 0.99500417]])\n",
" \n",
" >>> Q\n",
" array([[ 0.00133067, 0.01993342],\n",
" [ 0.01993342, 0.39866933]])\n",
" \n",
" (example taken from Brown[2])\n",
" \n",
" \n",
" **References**\n",
" \n",
" [1] C. F. van Loan. \"Computing Integrals Involving the Matrix Exponential.\"\n",
" IEEE Trans. Automomatic Control, AC-23 (3): 395-404 (June 1978)\n",
" \n",
" [2] Robert Grover Brown. \"Introduction to Random Signals and Applied\n",
" Kalman Filtering.\" Forth edition. John Wiley & Sons. p. 126-7. (2012)\n",
"\n"
]
}
],
"source": [
"from filterpy.common import van_loan_discretization\n",
"help(van_loan_discretization)"
" phi, Q = van_loan_discretization(F, G, dt=0.1)"
]
},
{
@@ -1552,7 +1490,7 @@
},
{
"cell_type": "code",
"execution_count": 11,
"execution_count": 10,
"metadata": {
"collapsed": false
},
@@ -1579,14 +1517,15 @@
"⎣ 6 2 ⎦ "
]
},
"execution_count": 11,
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import sympy\n",
"from sympy import init_printing, Matrix,MatMul, integrate, symbols\n",
"from sympy import (init_printing, Matrix,MatMul, \n",
" integrate, symbols)\n",
"\n",
"init_printing(use_latex='mathjax')\n",
"dt, phi = symbols('\\Delta{t} \\Phi_s')\n",
@@ -1613,7 +1552,7 @@
},
{
"cell_type": "code",
"execution_count": 12,
"execution_count": 11,
"metadata": {
"collapsed": false
},
@@ -1634,7 +1573,7 @@
"[\\Delta{t}⋅\\Phi_s]"
]
},
"execution_count": 12,
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
@@ -1649,7 +1588,7 @@
},
{
"cell_type": "code",
"execution_count": 13,
"execution_count": 12,
"metadata": {
"collapsed": false
},
@@ -1678,7 +1617,7 @@
"⎣ 2 ⎦ "
]
},
"execution_count": 13,
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
@@ -1728,7 +1667,7 @@
},
{
"cell_type": "code",
"execution_count": 14,
"execution_count": 13,
"metadata": {
"collapsed": false
},
@@ -1750,7 +1689,7 @@
"⎣ 2 ⎦ "
]
},
"execution_count": 14,
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
}
@@ -1790,7 +1729,7 @@
},
{
"cell_type": "code",
"execution_count": 15,
"execution_count": 14,
"metadata": {
"collapsed": false
},
@@ -1817,7 +1756,7 @@
"⎣ 2 ⎦ "
]
},
"execution_count": 15,
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
}
@@ -1851,6 +1790,30 @@
"FilterPy offers several routines to compute the $\\mathbf{Q}$ matrix. The function `Q_continuous_white_noise()` computes $\\mathbf{Q}$ for a given value for $\\Delta t$ and the spectral density."
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[[ 0.33333333 0.5 ]\n",
" [ 0.5 1. ]]\n"
]
}
],
"source": [
"from filterpy.common import Q_continuous_white_noise\n",
"from filterpy.common import Q_discrete_white_noise\n",
"\n",
"Q = Q_continuous_white_noise(dim=2, dt=1, spectral_density=1)\n",
"print(Q)"
]
},
{
"cell_type": "code",
"execution_count": 16,
@@ -1859,45 +1822,18 @@
},
"outputs": [
{
"data": {
"text/plain": [
"array([[ 0.33333333, 0.5 ],\n",
" [ 0.5 , 1. ]])"
]
},
"execution_count": 16,
"metadata": {},
"output_type": "execute_result"
"name": "stdout",
"output_type": "stream",
"text": [
"[[ 0.05 0.125 0.16666667]\n",
" [ 0.125 0.33333333 0.5 ]\n",
" [ 0.16666667 0.5 1. ]]\n"
]
}
],
"source": [
"import filterpy.common as common\n",
"\n",
"common.Q_continuous_white_noise(dim=2, dt=1, spectral_density=1)"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"array([[ 0.05 , 0.125 , 0.16666667],\n",
" [ 0.125 , 0.33333333, 0.5 ],\n",
" [ 0.16666667, 0.5 , 1. ]])"
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"common.Q_continuous_white_noise(dim=3, dt=1, spectral_density=1)"
"Q = Q_continuous_white_noise(dim=3, dt=1, spectral_density=1)\n",
"print(Q)"
]
},
{
@@ -1907,6 +1843,27 @@
"The function `Q_discrete_white_noise()` computes $\\mathbf{Q}$ assuming a piecewise model for the noise."
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[[ 0.25 0.5 ]\n",
" [ 0.5 1. ]]\n"
]
}
],
"source": [
"Q = Q_discrete_white_noise(2, var=1.)\n",
"print(Q)"
]
},
{
"cell_type": "code",
"execution_count": 18,
@@ -1915,43 +1872,18 @@
},
"outputs": [
{
"data": {
"text/plain": [
"array([[ 0.25, 0.5 ],\n",
" [ 0.5 , 1. ]])"
]
},
"execution_count": 18,
"metadata": {},
"output_type": "execute_result"
"name": "stdout",
"output_type": "stream",
"text": [
"[[ 0.25 0.5 0.5 ]\n",
" [ 0.5 1. 1. ]\n",
" [ 0.5 1. 1. ]]\n"
]
}
],
"source": [
"common.Q_discrete_white_noise(2, var=1.)"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"array([[ 0.25, 0.5 , 0.5 ],\n",
" [ 0.5 , 1. , 1. ],\n",
" [ 0.5 , 1. , 1. ]])"
]
},
"execution_count": 19,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"common.Q_discrete_white_noise(3, var=1.)"
"Q = Q_discrete_white_noise(3, var=1.)\n",
"print(Q)"
]
},
{
@@ -1965,26 +1897,25 @@
},
{
"cell_type": "code",
"execution_count": 20,
"execution_count": 19,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"array([[ 0.00000002, 0.00000078, 0.00002083],\n",
" [ 0.00000078, 0.00004167, 0.00125 ],\n",
" [ 0.00002083, 0.00125 , 0.05 ]])"
]
},
"execution_count": 20,
"metadata": {},
"output_type": "execute_result"
"name": "stdout",
"output_type": "stream",
"text": [
"[[ 0.00000002 0.00000078 0.00002083]\n",
" [ 0.00000078 0.00004167 0.00125 ]\n",
" [ 0.00002083 0.00125 0.05 ]]\n"
]
}
],
"source": [
"common.Q_continuous_white_noise(dim=3, dt=0.05, spectral_density=1)"
"Q = Q_continuous_white_noise(\n",
" dim=3, dt=0.05, spectral_density=1)\n",
"print(Q)"
]
},
{
@@ -2064,16 +1995,17 @@
},
{
"cell_type": "code",
"execution_count": 21,
"execution_count": 20,
"metadata": {
"collapsed": false
"collapsed": false,
"scrolled": true
},
"outputs": [
{
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x7c71c18>"
"<matplotlib.figure.Figure at 0x7fbc160>"
]
},
"metadata": {},
@@ -2097,7 +2029,7 @@
},
{
"cell_type": "code",
"execution_count": 22,
"execution_count": 21,
"metadata": {
"collapsed": false
},
@@ -2106,7 +2038,7 @@
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x7c71b38>"
"<matplotlib.figure.Figure at 0x7fbc7f0>"
]
},
"metadata": {},
@@ -2118,7 +2050,7 @@
"t = np.linspace(-1, 2, 20)\n",
"plt.plot(t, np.exp(t))\n",
"t = np.linspace(0, 1, 2)\n",
"plt.plot([1,2, 4])\n",
"plt.plot([1, 2, 4])\n",
"book_plots.set_labels(x='x', y='y');"
]
},
@@ -2131,7 +2063,7 @@
},
{
"cell_type": "code",
"execution_count": 23,
"execution_count": 22,
"metadata": {
"collapsed": true
},
@@ -2148,7 +2080,7 @@
},
{
"cell_type": "code",
"execution_count": 24,
"execution_count": 23,
"metadata": {
"collapsed": false
},
@@ -2178,7 +2110,7 @@
},
{
"cell_type": "code",
"execution_count": 25,
"execution_count": 24,
"metadata": {
"collapsed": false
},
@@ -2187,7 +2119,7 @@
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x8a834a8>"
"<matplotlib.figure.Figure at 0x8ddb940>"
]
},
"metadata": {},
@@ -2207,7 +2139,7 @@
},
{
"cell_type": "code",
"execution_count": 26,
"execution_count": 25,
"metadata": {
"collapsed": false
},
@@ -2288,7 +2220,7 @@
},
{
"cell_type": "code",
"execution_count": 27,
"execution_count": 26,
"metadata": {
"collapsed": false
},
@@ -2299,8 +2231,8 @@
" y is the initial value for y\n",
" x is the initial value for x\n",
" dx is the difference in x (e.g. the time step)\n",
" f is a callable function (y, x) that you supply to compute dy/dx for\n",
" the specified values.\n",
" f is a callable function (y, x) that you supply \n",
" to compute dy/dx for the specified values.\n",
" \"\"\"\n",
" \n",
" k1 = dx * f(y, x)\n",
@@ -2326,7 +2258,7 @@
},
{
"cell_type": "code",
"execution_count": 28,
"execution_count": 27,
"metadata": {
"collapsed": false
},
@@ -2342,7 +2274,7 @@
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0xa34f550>"
"<matplotlib.figure.Figure at 0x9dbbc50>"
]
},
"metadata": {},
@@ -2396,7 +2328,7 @@
},
{
"cell_type": "code",
"execution_count": 29,
"execution_count": 28,
"metadata": {
"collapsed": false
},
@@ -2405,7 +2337,7 @@
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0xa31f048>"
"<matplotlib.figure.Figure at 0x8d8b748>"
]
},
"metadata": {},
@@ -2621,7 +2553,7 @@
},
{
"cell_type": "code",
"execution_count": 30,
"execution_count": 29,
"metadata": {
"collapsed": false
},
@@ -2671,8 +2603,8 @@
" [500, 500]], dtype=float)\n",
"\n",
"def satellite_range(pos, sat_pos):\n",
" \"\"\" Compute distance between position 'pos' and the list of positions\n",
" in sat_pos\"\"\"\n",
" \"\"\" Compute distance between position 'pos' and \n",
" the list of positions in sat_pos\"\"\"\n",
"\n",
" N = len(sat_pos)\n",
" rng = np.zeros(N)\n",
@@ -2706,8 +2638,8 @@
"\n",
"\n",
"def lop_ils(zs, sat_pos, pos_est, hx, eps=1.e-6):\n",
" \"\"\" iteratively estimates the solution to a set of measurement, given\n",
" known transmitter locations\"\"\"\n",
" \"\"\" iteratively estimates the solution to a set of\n",
" measurement, given known transmitter locations\"\"\"\n",
" pos = np.array(pos_est)\n",
"\n",
" with book_format.numpy_precision(precision=4):\n",
@@ -2733,7 +2665,7 @@
"\n",
" return pos, converged\n",
"\n",
"# compute measurement of where you are with respect to each sensor\n",
"# compute range to each sensor\n",
"rz = satellite_range(user_pos, sat_pos)\n",
"\n",
"pos, converted = lop_ils(rz, sat_pos, (900, 90), hx=hx_ils)\n",
@@ -2754,7 +2686,7 @@
},
{
"cell_type": "code",
"execution_count": 31,
"execution_count": 30,
"metadata": {
"collapsed": false
},
@@ -2798,7 +2730,7 @@
},
{
"cell_type": "code",
"execution_count": 32,
"execution_count": 31,
"metadata": {
"collapsed": false
},
File diff suppressed because it is too large. Load diff
+34 -30
View File
@@ -374,9 +374,9 @@
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAtMAAAEWCAYAAACkORurAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XtcVHX+P/DXDJeBQQIygVEMQRkvpFZYXlBJC2OtNMsu\nsq6Ja641mX23fphmYerSYpu1FWlZoWvietktamtZbZcohyxlW02l0JWslRHRGFRuAnN+f9Dn05lh\nhvud1/Px8CGcc+bMZ+YwZ97nc96f90ejKIoCIiIiIiJqNm1nN4CIiIiIqLtiME1ERERE1EIMpomI\niIiIWojBNBERERFRCzGYJiIiIiJqIQbTREREREQtxGCaiIiIiKiFGg2mV61aBa1Wa/evf//+cv38\n+fPrrZ8wYUK7NpqIiIiIqCtwb8pGw4YNwyeffCJ/d3Nzkz9rNBrExsZi69atcpmnp2fbtZCIiIiI\nqItqUjDt5uaGwMBAp+sURYGnp6fL9UREREREPVWTcqZPnjyJAQMGIDw8HHPmzEFBQYFcp9FosG/f\nPgQFBWHo0KFYtGgRiouL263BRERERERdhUZRFKWhDTIzM3Hp0iUMGzYMRUVFWLt2Lb755hscPXoU\nV155JXbs2AEfHx+EhYWhoKAAK1euRG1tLXJzc5nuQUREREQ9WqPBtKPy8nKEhYXhySefxP/93//V\nW2+xWBAaGoodO3Zg1qxZcnlpaWnrW0tERERE1En8/PzqLWt2aTy9Xo/IyEicOHHC6XqDwYCQkBCX\n64mIiIiIeopmB9OVlZXIy8uDwWBwur64uBinT592uZ6IiIiIqKdotJrHE088gRkzZmDgwIE4e/Ys\n1qxZg4qKCjzwwAMoKytDUlISZs+ejeDgYHz33XdYvnw5goKC7FI8HDnrIqeu4eDBgwCAMWPGdHJL\nqK3x2PZsPL49F49tz8bj2/U1lqrcaDB9+vRpzJkzB+fOnUO/fv0wfvx47N+/HwMHDkRlZSWOHDmC\nrVu3wmq1wmAwYOrUqdi9ezd8fHza7EUQEREREXVFjQbT27dvd7nOy8sLmZmZbdogIiIiIqLuotk5\n00REREREVIfBNBERERFRCzGYJiIiIiJqoUZzpomIiIgc2Ww2XL58ubOb0e2FhoYCqCs9TJ3D09MT\nWm3L+5cZTBMREVGzKIqCqqoqeHl5QaPRdHZzujUvL6/ObkKvpigKKisrW/W3zDQPIiIiapbLly/D\n09OTgTR1exqNBp6enq26y8JgmoiIiJpFURS4ubl1djOI2oSbmxsURWnx4xlMExERERG1EINpIiIi\nIqIWYjBNRERERNRCDKaJiIiIiFqIwTQRERH1eps3b4ZWq4VWq8W+ffucbjNkyBBotVpMmTKlg1tH\najk5OXj22WdRWlra2U0BwGCaiIiISPL29kZ6enq95fv378fJkydZW7sLYDBNRERE1EX94he/wK5d\nu1BTU2O3PD09HcOGDcPgwYM7qWVto6ysrLOb0GZaU86uLTGYJiLqxhRFgc1mg5eXF7y8vGCz2brM\nFwxRdzRnzhz8+OOP+Mc//iGX1dbWYufOnfjlL39Zb3tFUfDKK69g5MiR8Pb2RlBQEBYuXIjz58/b\nbff+++/jjjvuwMCBA+Hl5YVBgwYhMTERVVVVdtsVFRVh4cKFcrvg4GBMnz4dx44dk9totVo8++yz\n9doyaNAgJCQkyN9F6kpWVhYeffRRBAUFwdfXV64/cOAApk+fDn9/f+j1ekyaNAmffPKJ3T5XrVoF\nrVaLb775BnPnzoW/vz/69euHp556CgDwww8/YObMmfDz80NwcDD+8Ic/1GtXVVUVnn32WURERMDL\nywshISH47W9/i4qKCrvttFotHnroIbz33nu45ppr4OXlhWuuucbuWKxatQqJiYkAgLCwMJma8+mn\nnwIA/v3vf2P69OkIDAyEt7c3Bg0ahHnz5rXrdO2cTpyIqBuqqqrC0aNHkZeXh9zcXBw+fBgAMGrU\nKERFRWH48OGIjIyETqfr5JYSdS8hISGYNGkS0tPTcdtttwEAPv74Y5w9exZz5szB9u3b7bZ/6KGH\n8Pbbb2P+/Pl49NFH8f333+OVV17Bl19+iQMHDsjP4ObNm+Ht7Y2lS5fCz88Pn3/+OV588UX88MMP\ndvucPXs2jhw5giVLliAsLAxnz57Fp59+iuPHj2PEiBFyO2epJhqNxunyJUuW4Morr8TTTz8tUyOy\ns7Nx66234vrrr0dSUhLc3d2xdetWTJs2DXv37kVMTIzdPubMmYPhw4cjJSUFH374IZ577jn4+fnh\nzTffxC233IJ169bhnXfeQWJiIqKiomReuaIomDVrFj799FMsWrQII0aMwLFjx/Daa6/h6NGjdoEy\nAHz++ef44IMP8PDDD6NPnz54+eWXcffdd+P777/HlVdeibvvvhvHjx/H9u3b8dJLL+Gqq64CAAwf\nPhzFxcWIjY1FYGAgli1bhoCAAHz//ff44IMPUF5e3n5TtysdxGq1yn/UdR04cEA5cOBAZzeD2gGP\nbc9gs9mUQ4cOKQ899JDi4eGhAHD6z8PDQ1m8eLFy6NAhxWazdXazqRW64me3oqKis5vQ5tLS0hSN\nRqN88cUXyuuvv674+Pgo5eXliqIoyq9+9Stl/PjxiqIoSmRkpDJlyhRFURTFbDYrGo1Geeedd+z2\ntW/fPkWj0ShvvPGGXCb2pZacnKxotVrlhx9+UBRFUUpKShSNRqO88MILDbZVo9Eozz77bL3lgwYN\nUhISEuq9pnHjxim1tbVyuc1mU4YOHarExsbaPf7y5ctKZGSkMmHCBLksKSlJ0Wg0ysKFC+Wy2tpa\nZeDAgYpGo1GSk5PlcqvVquj1emXu3Lly2bZt2xStVqt8+umnds+1bds2RaPRKHv27LF7XTqdTvnv\nf/8rlx0+fFjRaDTKq6++Kpc9//zzikajUU6dOmW3z/fee0/RaDRKbm6uk3etYQ39TTcWwzLNg4io\nm6ipqUFmZiamTJmCDRs2oLq62uW21dXV2LhxI6ZMmYIdO3bUy/8kItfuueceVFdX47333kNFRQXe\ne+89pykeO3fuRJ8+fTBt2jScO3dO/hs6dCgCAwORlZUlt/X29gYA2Gw2lJaW4ty5c4iOjoaiKPjq\nq6/kNp6ensjKykJJSUmbvZ4HH3wQWu3PId+hQ4eQn5+POXPm2LW7tLQUt9xyC7744ot6aRELFy6U\nP2u1WkRFRUGj0eDXv/61XO7n54ehQ4eioKDA7j0yGo0YMWKE3XNNnjwZGo3G7j0CgClTpiA8PFz+\nPnLkSFxxxRV2+3TF398fAPDBBx906DmPaR5ERO1EVASIj49v9b4URcHevXsxc+bMBoNoRz/++CPm\nzZsHRVFw//33swoBdWmVlZWora2Fj49Pp7YjICAAt956K9555x1otVpUVFTgvvvuq7ddfn4+Ll26\nhKCgIKf7KS4ulj8fOXIEiYmJyM7OrpcrLFIvdDodUlJS8MQTTyAoKAhjx47F9OnT8atf/QohISEt\nfj2Ogybz8/MBwC4QVtNoNDh//jwGDBggl1199dV22/j5+cHDwwOBgYF2y6+44gq7152fn49vv/0W\n/fr1c/o86m2dPQ9QdzyacnERExOD2bNn49lnn8X69esRExODGTNmID4+Hnq9vtHHt1SjwfSqVauw\nevVqu2XBwcEoLCy022bTpk0oKSnB2LFjkZqaapfXQ0TUW5nNZgAtC6jVwfjhw4cxd+7cZgXSQnV1\nNZYsWQJfX19cuHAB8fHxMJlMyM/PR0JCQr22ObsIcHVh0JYXDESJiYk4f/48tm3b1tlNQXx8PObN\nm4cLFy4gNjZW5uaq2Ww29O3bFzt27HC6j4CAAAB1wfKUKVPg6+uL5ORkDBkyBN7e3vjf//6H+fPn\nw2azyccsXboUM2fOREZGBvbu3Ys1a9YgOTkZf/vb3+rlMTty1RsresXV7QaAlJQUREVFOX2M4+t1\nc3Ort42ri3NFNQjaZrMhMjISf/zjH51u279//0afx3GfDdm5cycOHDiAv/3tb9i7dy8WLVqE5557\nDvv373ca0LeFJvVMDxs2zG50p/qFpqSkYP369diyZQuMRiNWr16N2NhYfPvtt+jTp0+bN5iIqCM5\nBouN/S6Wmc1mREdHIzo62m5/JpMJAORys9ksg1oReKsfYzabkZWVhcrKSvz4448tfh3nz5/Hjh07\ncOnSJfk8Yv+iDUajEdHR0TCbzcjOzkZaWpqsDJCWlmb3Oh1fh6v3gqg5XnzxRbvAsjPNnDkTOp0O\nOTk52LJli9NtBg8ejI8//hhjx45tsDc9KysL58+fx1//+ldMmjRJLt+7d6/T7QcNGoSlS5di6dKl\nOH36NK699lr87ne/k8F0QEAArFar3WMuX74Mi8XSpNcmeqr79OmDqVOnNukxLTVkyBDk5ua26fM0\ndofthhtuwA033IBnn30WmZmZmD59OjZt2oQVK1a0WRvUmpQz7ebmhsDAQPmvb9++AOquEl566SUs\nX74cs2bNQmRkJLZs2YKLFy86LXhORNTdmc1mJCcny2BSBKNAXTBpMplkcKoOWsX6jIwMZGRkyHX5\n+fmwWCwwm81yXWJiIhITE+U2o0aNctnz1Rw7d+7E1KlTkZ2dLYNnwWKxyFu/6mXJyclIS0uTVUMc\nz+3x8fEwm83y/VC/VmffAyaTqd62RIKbmxs8PDw6uxkA6npzN2zYgKSkJNx5551Ot7n//vths9nq\n3cEH6srpiYBXdEKqLxRsNhvWr19v95iKiop6KSADBgxAv3797CYoGTx4MLKzs+22e+ONN5p8ITJm\nzBgMGTIE69evx6VLl+qtd0y9cKUpaWP33XcfioqKsGHDhnrrqqqqnD5/Y8SFi2MHgLine truncated
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x5d217b8>"
"<matplotlib.figure.Figure at 0x6e01f28>"
]
},
"metadata": {},
@@ -394,11 +394,12 @@
"xs = r * np.cos(a)\n",
"ys = r * np.sin(a)\n",
"\n",
"plt.scatter(xs, ys, label='Measurements', color='k', marker='.', s=2)\n",
"plt.scatter(sum(xs)/N, sum(ys)/N, c='r', marker='*', s=200, label='Mean')\n",
"plt.scatter(0, 50, c='k', marker='o', s=400, label='Intuition')\n",
"plt.scatter(xs, ys, label='Sensor', color='k', marker='.', s=2)\n",
"xs, ys = sum(xs)/N, sum(ys)/N\n",
"plt.scatter(xs, ys, c='r', marker='*', s=200, label='Mean')\n",
"plt.scatter(0, 50, c='k', marker='o', s=300, label='Intuition')\n",
"plt.axis('equal')\n",
"plt.legend(scatterpoints=1);"
"plt.legend();"
]
},
{
@@ -431,9 +432,9 @@
"outputs": [
{
"data": {
"image/png": "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\nKhKJaOXKlcpms/kx69at04kTJ3Tw4EEdOHBAx48f1/r168fp2wRQrkzTLOvAnkjFFfj6gsL9XyuV\nTkga+Dehnx0AisewLTErVqzQihUrJA3Mpl/KsixVVlbK6/UO+fxwOKxXXnlFr776qh544AFJ0muv\nvabZs2frvffe07Jly3Tq1CkdPHhQH330ke666y5J0ksvvaR77rlHn3/+uW6++eZr/f4AlLlyDuvS\nt60x0URYZsZUZUW1zRUBAEZrzBedulwuHT58WK2trbrlllu0YcMGBQKB/OPHjh1TOp3WsmXL8ttm\nzpyp+fPnq6OjQ5LU0dGh+vp6LV68OD+mvb1ddXV1+TEAMFqDw7plWTZW4kxVQ6wkAwBwnjEH9uXL\nl+u1117T+++/r3/+53/W//zP/+j+++9XKpWSJPX09Mjtdqu5ubngea2trerp6cmPaWlpKXjc5XLJ\n6/XmxwDAaORaYQK9F9QXDRPYNcSdUC3Rxw4ARWDMq8SsWbMm//WCBQu0cOFCzZ49W2+//bYefvjh\nKz5vPE6eH3/88ZhfA6WNfaR8NTU1KW3F1ZfoVX1No9LplDKZjAxX4c2Ssll7g/xQNU0cl/r6+tTd\n3a1YNKq4O6aLvX51d9LLPhyOJRgJ9hNczdy5c6/5ueO+Dvu0adM0c+ZMnT59WpLU1tamTCajYDBY\nMM7n86mtrS0/ZnAbjTQQ6P1+f34MAIxWJB5S1soqEutV1srKKNE7m14Lw81tOACgWIz7OuyBQEDn\nz5/XtGnTJEkLFy5URUWFDh06pLVr10qSurq69Nlnn+WXf1y8eLH6+/vV0dGR72Pv6OhQNBq9bInI\nwRYtWjTe5aNE5GY52EfKVyKRUF/nRaXNZH6bYVx+yDMM12XbJpPb7Z7UGhoaGjR9+vT8v01DQ4O+\n+x1+Tq6EYwlGgv0EIzGW5cqHDezRaFRffPGFJCmbzeqrr77SiRMn1NzcrKamJm3fvl2PPPKI2tra\ndPbsWW3btk2tra35dpjGxkY98cQT2rp1q7xer5qamrRlyxbdfvvtWrJkiSRp/vz5Wr58uTZu3KiX\nX35ZlmVp48aNeuihh8b08QEAoJDhMtQX5R4XAFBMhv1M9OjRo7rzzjt15513KpFIaPv27brzzju1\nfft2ud1u/e53v9Pq1at1yy236LHHHsuv/lJXV5d/jT179ujhhx/WmjVr9P3vf19TpLine truncated
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAuwAAAEWCAYAAAA9wcIeAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3X+MVPV+//HXOTM7+4uFlb07LD/8gSleCFarUJXt1SsK\nCL0KMdeWQorXW1O5qfVeLr0lMTGF5hIa+zUGKVevNrESjdUmNb25ubeA5jZVYJsglFyvQJWIjjDs\nzDK7zszO7zNzvn+sc5hZdll2d3ZnZuf5SAi753xm+KzOnvOe97w/749h27YtAAAAABXJLPcEAAAA\nAAyPgB0AAACoYATsAAAAQAUjYAcAAAAqGAE7AAAAUMEI2AEAAIAKRsAOAAAAVLArBuz/8A//oD/8\nwz/UjBkz5PV6tXbtWn388ceXjduxY4fmzp2rpqYmLV++XCdPniw6n0ql9NRTT6m9vV3Tpk3TunXr\ndP78+aIxfX192rRpk1pbW9Xa2qpHH31U4XC4BD8iAAAAUL2uGLD/93//t/76r/9aXV1d+s1vfiO3\n260VK1aor6/PGfPss8/q+eef1969e3X06FF5vV6tXLlS/f39zpgtW7bonXfe0VtvvaUPPvhAkUhE\nDz74oHK5nDNm48aNOnHihA4cOKD9+/fr+PHj2rRp0wT8yAAAAED1MEaz02ksFtOMGTP0i1/8Qt/5\nzndk27bmzJmjH/7wh3r66aclSclkUl6vV88995yeeOIJhcNheb1evfbaa9qwYYMk6dy5c7r++uv1\nn//5n1q1apVOnTqlxYsX6/Dhw1q2bJkk6fDhw7r77rt1+vRp3XTTTRPwowMAAACVb1Q17JFIRLlc\nTtdcc40k6ezZswoEAlq1apUzpqGhQffcc4+OHDkiSTp27JgymUzRmHnz5mnRokXq6uqSJHV1dWna\ntGlOsC5JnZ2dam5udsYAAAAAtWhUAfuPfvQj3XbbbU5g3d3dLUmaNWtW0Tiv1+uc6+7ulsvlUltb\nW9GYWbNmFY1pb28vOm8YRtHzAAAAALXIfbUDt27dqiNHjujQoUMyDGPE8SONGUUlThEWogIAAKCa\nzZgxY1TjryrD/uMf/1hvv/22fvOb3+iGG25wjnd0dEiSAoFA0fhAIOCc6+joUDabVSgUuuKYnp6e\novO2bSsYDDpjAAAAgFo0YsD+ox/9yAnWBy/+nD9/vjo6OnTw4EHnWDKZ1KFDh9TZ2SlJWrJkierq\n6orGnDt3TqdPn3bGLFu2TP39/UX16l1dXYrFYs4YAAAAoBZdsUvMk08+qTfeeEP/8R//oUWLFjnH\nW1pa1NzcLEn6x3/8R+3atUv/8i//ogULFmjnzp06dOiQ/u///s8Z81d/9Vf65S9/qddee00zZ87U\n1q1bFQ6HdezYMad05o//+I917tw5vfLKK7JtW0888YRuvPFG/eIXvyiaU2FJzGg/TgAm24cffihJ\nWrp0aZlnAoyM1yuqCa9XVJvxxLBXrGF/6aWXZBiG7r///qLjO3bs0N/93d9JkrZt26ZEIqEnn3xS\nfX19uuuuu3Tw4EEnWJek3bt3y+12a/369UokElqxYoXeeOONojr3N998U0899ZQeeOABSdK6deu0\nd+/eUf0wAAAAwFQzqj7slYAMO6oJGSBUE16vqCa8XlFtxhPDjqqtIwAAAIDJRcAOAAAAVDACdgAA\nAKCCEbADAAAAFYyAHQAAAKhgBOwAAABABSNgBwAAACoYATsAAABQwQjYAQAAgApGwA4AAABUMAJ2\nAAAAoIIRsAMAAAAVjIAdAFC1/EGf/EFfuacBABOKgB0AUFajCboHjw1FggpFghM1NQCoCO5yTwAA\nUNvyAfcc73WXncsH5/lzVxucD34cAFQzAnYAQMUaLpgfKXC/0psAAKg2lMQAAKqCZVnlngIAlAUZ\ndgDAhCgsS7EsS2632/l7LM9V56ov9RQBoCqQYQcATIjCBaH57LhlWUULR/1Bn9KZ5FU9VyIVkySZ\nhnlVjwGAqYKAHQAwqQoD+VAkqIyVGdXjo/GwMlZG9XWNEzE9AKg4BOwAgJIabW900zBlGqb8Qd+o\n6tQbCNgB1AgCdgBASY22N7ppmorGwwpFgkMG7CNl0scS7ANANWHRKQCgZPI16Z66hiHP9/RdUDqT\nVIOnadgsvD/oUyIZV2NDk6SBTHoqkxj234zGw8rZOc2c7lWw139Vc5Ro+QigehCwAwBKJl+TPlzA\n3hvtUcbKKJuNKmfnhn2OVDqheHr0JS/5zL5t2zIMwzleGKSHIkHq3wFUFUpiAAATaqhSFdMc+fZz\ntd1gTOPy57Jtu+j7wWU61L8DqCZk2AEAE8Y0TPWFQ2ppniF/0Kds9urrzKPxcNH3yXRiyAD+SsH/\naBa/AkClIsMOABiXobrCuE2P0pmkovGw0z89FAkqZ2ev+nkHZ84j8V5ls8M/Pl8fX6gws04ZDIBq\nRcAOABiXobrCxJLhEfur54P6wu+jsUtZ9XzmvDCznj82VBlMvj5+OJTBAKhWBOwAgLIYHNTHkpey\n8YUi8d7LAnHTNIctkXHGsCMqgCmCgB0AcNUmutf5SEF4oaEC+UL5HVFHMtqNngBgshGwAwCu2nAB\ne37zosHdWaSBILyw1OVKRgrCr4ZpmKNa3DrajZ4AYLLRJQYAMCaFWel8RxerINg2DVM5O6dIvFcN\nnsmrH4/Gw3K7ru72xu6oAKoBATsAYEwGZ6UHB8qmaSqXHdgcaTSlLqVUuDg1mU5cVvpyoefLYXdm\nZUdUAJWCkhgAwKj5gz6lM8mrXthZilKXsTBN02nnGIn3qi960ZmvP+hTz1cXhp0XpTIAKgUZdgDA\nVfEHfUqmEmqob1QoElQ2m71sc6OKZMsJ0gvnO1xfeBagAqg0BOwAgKsSigSVSidUnxrIWBeWvJSb\naZjKZNNDnovEe2VlraJynaFKdCzLktvtJqsOoOJQEgMAqHrReFg5OzvkhkpDGapEx7Isp9QHACoJ\nATsAYNQGt2+82kB5ouV3Qh32/AjzDEWCZam1B4ArqYwrLACgIniaTaeG+0otDy8L2EcIlCtFtcwT\nAApRww4AcPQnw2pI1EsaCNiDvX5JknfmHGfM4HrxSsmuj5VpmDINU9FYeMiNnwbL17oDwGThigMA\nKNJQd2mTo1AkKNMwVeeqd44N1W+9mpmmqWg8rJbGVgJ2ABWpuq+yAIAJF42HlUjFyj2NSXW1/eUB\nYDKQIgCAGjdU33F/0FeUVa81+X7tDZ4m+YM+djsFUFYE7ABQ44bqOx6KBDWjaWYZZlM+yXRC2Wzx\nQtuBdpE5AnYAZUVJDAAAGujNPtTOp6ZhsvspgLIiYAcAOFwFC0iH2g20VhR2vonGw+x+CqCsCNgB\nAA7Tdem2ULgbaK0F74M73wzOsl+pRz0AlBoBOwDgikzDLArea1E0HlZ/Iup8T8AOYDIRsANAjRup\n93i191kfj/ymSlJxf3oAmEwjXoXff/99rV27VvPmzZNpmtq3b1/R+ccee0ymaRb96ezsLBqTSqX0\n1FNPqb29XdOmTdO6det0/vz5ojF9fX3atGmTWltb1draqkcffVThcLgEPyIA4EoGB+y1Vv5yJfn7\nmjTw34XFpwDKYcSAPRaL6ZZbbtELL7ygxsZGGYZRdN4wDK1cuVLd3d3On1//+tdFY7Zs2aJ33nlH\nb731lj744ANFIhE9+OCDyuVyzpiNGzfqxIkTOnDggPbv36/jx49r06ZNJfoxAQAj8TSbMgyj5stf\nhhOJ9zqLT3v6LhC8A5g0I/ZhX7NmjdasWSNpIJs+mG3b8ng88nq9Qz4+HA7r1Vdf1Wuvvab7779f\nkvT666/r+uuv13vvvadVq1bp1KlTOnDggA4fPqw777xTkvTyyy/r7rvv1ieffKKbbrpprD8fAGAY\ngwPO/mRY7jqXzEGJGVxiGqaisbB6oz1yuwZuod6Zc+R2s60JgIkz7sJEwzB06NAhzZo1S9/85jf1\nxBNPqKenxzl/7NgxZTIZrVq1yjk2b948LVq0SF1dXZKkrq4uTZs2TcuWLXPGdHZ2qrm52RkDACit\nUCToZIzdpkemq8wTqgLReFiJVMz5uj8RZQEqgAk37pTA6tWr9d3vflfz58/X2bNn9cwzz+i+++7T\nsWPH5PF41N3dLZfLpba2tqLHzZo1S93d3ZKk7u5utbe3F503DENer9cZAwCYOLFkWNlcViZR+6iw\nEBXAZBh3wL5+/Xrn68WLF2vJkiW6/vrr9atf/UoPP/zwsI8bqSvB1fjwww/H/RzAZOC1ikrS2Nio\nRCKhtGugTWFdnVu2Ll2Tczlb2WxWpuFy/pZ0xWPjPV9Nz5lKp5VOp5yv/X6/ent7S/W/B6PE9RXV\nYsGCBWN+bMl7dc2ePVvz5s3TmTNnJEkdHR3KZrMKhUJF4wKBgDo6OpwxhWU00kBAHwwGnTEAgNHz\nNJvyNJtF30+b0VTGGQEARqvkq2R6enp0/vx5zZ49W5K0ZMkS1dXV6eDBg9qwYYMk6dy5czp9+rTT\n/nHZsmXq7+9XV1eXU8fe1dWlWCx2WYvIQkuXLi319IGSymd+eK2iXD46c+k16A/6dCHkk2G2aunS\npc65XC6njJVyHmOahlwuV9Hfkq54bLznq+k56z0eeTz1ytqW6j0eeWfO0Y033liS/1+4elxfUW3G\n0658xIA9Fovp008/lTRwUf/iiy904sQJtbW1aebMmdq+fbseeeQRdXR06PPPP9fTTz+tWbNmOeUw\nM2bM0OOPP65t27bJ6/Vq5syZ2rp1q2699VatWLFCkrRo0SKtXr1amzdv1iuvvCLbtrV582Y99NBD\n4/r4AABwSSgSVMbKKJlO6IzvlNKZpBo8Tcpk0+WeWtVKphOKxsJqaGgo91QATGEjlLine truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x5d198d0>"
"<matplotlib.figure.Figure at 0x435cac8>"
]
},
"metadata": {},
@@ -465,9 +466,9 @@
"outputs": [
{
"data": {
"image/png": "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 truncated
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAtUAAAFfCAYAAACBcDBIAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XdcVFf6P/DPvdPoA9IUKaKiIjYUjTWCLWrQaIwmMUbF\nbNxNNaZsyiYx/lJM25TN6nezJoBJ1hijscTYFXuJYIsdCwhSpDN0mLm/PwyTTGYgCAN3GD7v18uX\nw3Nuea7gnYcz554jSJIkgYiIiIiIGk2UOwEiIiIiotaORTURERERUROxqCYiIiIiaiIW1URERERE\nTcSimoiIiIioiVhUExERERE1EYtqkl1KSgpEUURMTIzcqRARERE1CotqshmCIMidwp+q/QUgKipK\n7lSIiIjIhijlToDI398fFy5cgFarlTuVP1Vb+LeGXwCIiIio5bCoJtkplUp069ZN7jQahAuQEhER\nkSUc/kGyszSmeu7cuRBFEXv37sWaNWswaNAgODs7w9PTEw8++CAyMjLMjhMZGQlRFHHt2jV8+OGH\n6N69OxwdHREYGIjnn38eJSUlZvvUN5TjjTfegCiK2LdvHwAgPj4enTt3BgDs2bMHoiga/yxevNga\n/xRERETUSrGnmmyGpSEVy5Ytw8aNG3HPPfcgKioKR44cwXfffYdTp07h5MmTUKvVZvssWLAABw8e\nxP333w+tVovNmzfjo48+woEDB7Bv3z6zfRo6lCM8PBwLFizAp59+ik6dOmHu3LnGtsjIyNu6ViIi\nIrIvLKrJpm3btg2JiYkICwszxh566CF8++232LBhA6ZPn262z5EjR3Dq1Cn4+/sDAN5++21MmzYN\nGzZswEcffYSXXnqpUbn07dsXzzzzjLGofv311xt3UURERGR3OPyDbNrTTz9tUlADwKOPPgoAOHbs\nmMV9FixYYCyogVtDPN577z0IgoDY2Ngm5cMx1URERGQJi2qyaREREWax2oK5oKDA4j4jR440i3Xr\n1g0+Pj64cuUKSktLrZskERERtXksqsmmubu7m8WUylujlvR6vcV9fH19640XFxdbKTsiIiKiW1hU\nk93Jzs6uN+7m5mYSr6mpsbh9YWGhdRMjIiIiu8WimuzOnj17zGIXL15EdnY2unbtCmdnZ2Pcw8MD\naWlpFo9jacy2QqEAUHcvOREREbVNLKrJ7nz66acmhbJer8eLL74IACZzYQPA4MGDkZqaii1btpjE\n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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x7910fd0>"
"<matplotlib.figure.Figure at 0x435c8d0>"
]
},
"metadata": {},
@@ -507,9 +508,9 @@
"outputs": [
{
"data": {
"image/png": "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 truncated
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0xa0a8898>"
"<matplotlib.figure.Figure at 0xa248cf8>"
]
},
"metadata": {},
@@ -549,9 +550,9 @@
"outputs": [
{
"data": {
"image/png": "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 truncated
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAtUAAAFfCAYAAACBcDBIAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XlYVGX7B/DvOTPDDiMiIKuggiuKivsCLmWaS0Za2qYt\nvuWSWllpi/or833L9rR6LcPeyhb3XDJLFDdcEXdFRVxAZJGRfWDm/P5ARscBBJmZw8D3c11czLnP\nc86554gz93nmmecIkiRJICIiIiKieybKnQARERERka1jUU1EREREVEssqomIiIiIaolFNRERERFR\nLbGoJiIiIiKqJRbVRERERES1xKKaZHfhwgWIoogJEybInQoRERHRPWFRTXWGIAhyp3BX5RcA/fv3\nlzsVIiIiqkOUcidA5O/vj1OnTkGtVsudyl2VF/62cAFARERE1sOimmSnVCoRGhoqdxrVwhuQEhER\nUUU4/INkV9GY6vHjx0MURWzfvh0rVqxAt27d4OzsDA8PD4wdOxapqakm+4mKioIoikhOTsbChQvR\nqlUrODo6IjAwEK+++iry8vJMtqlqKMfcuXMhiiLi4uIAADExMWjevDkAYNu2bRBF0fAzb948c5wK\nIiIislHsqaY6o6IhFYsXL8a6deswcuRI9O/fH/Hx8fj111+RmJiIw4cPw87OzmSbadOmYdeuXXj0\n0UehVquxceNGfPzxx9i5cyfi4uJMtqnuUI5OnTph2rRp+OyzzxAUFITx48cb1kVFRdXouRIREVH9\nwqKa6rTNmzfjwIEDaNeunSH2+OOPY/ny5Vi7di1Gjx5tsk18fDwSExPh7+8PAJg/fz6io6Oxdu1a\nfPzxx3jjjTfuKZeOHTti+vTphqL6nXfeubcnRURERPUOh39QnfbSSy8ZFdQA8PzzzwMA9u/fX+E2\n06ZNMxTUQNkQj//85z8QBAFLly6tVT4cU01EREQVYVFNdVpERIRJrLxgvn79eoXbREZGmsRCQ0Ph\n5eWFc+fOIT8/37xJEhERUYPHoprqtEaNGpnElMqyUUs6na7Cbby9vauM37hxw0zZEREREZVhUU31\nTnp6epVxNzc3o3hpaWmF7XNycsybGBEREdVbLKqp3tm2bZtJ7PTp00hPT0fLli3h7OxsiLu7u+PS\npUsV7qeiMdsKhQJA5b3kRERE1DCxqKZ657PPPjMqlHU6HV5//XUAMJoLGwB69OiBlJQUbNq0ySi+\n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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x7917a58>"
"<matplotlib.figure.Figure at 0xa243438>"
]
},
"metadata": {},
@@ -583,14 +584,16 @@
"name": "stdout",
"output_type": "stream",
"text": [
"input mean, variance: -0.0002, 1.0020\n",
"output mean, variance: -0.1246, 2.4094\n"
"input mean, variance: -0.0008, 1.0010\n",
"output mean, variance: -0.1237, 2.4052\n"
]
}
],
"source": [
"print('input mean, variance: %.4f, %.4f'% (np.average(data), np.std(data)**2))\n",
"print('output mean, variance: %.4f, %.4f'% (np.average(y), np.std(y)**2))"
"print('input mean, variance: %.4f, %.4f' % \n",
" (np.mean(data), np.var(data)))\n",
"print('output mean, variance: %.4f, %.4f' % \n",
" (np.mean(y), np.var(y)))"
]
},
{
@@ -611,9 +614,9 @@
"outputs": [
{
"data": {
"image/png": "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 truncated
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0xa277b00>"
"<matplotlib.figure.Figure at 0x9f25ef0>"
]
},
"metadata": {},
@@ -623,7 +626,7 @@
"name": "stdout",
"output_type": "stream",
"text": [
"output mean, variance: 0.0003, 2.2545\n"
"output mean, variance: 0.0012, 2.2522\n"
]
}
],
@@ -634,7 +637,8 @@
"with figsize(y=5):\n",
" plot_nonlinear_func(data, g3, gaussian)\n",
"out = g3(data)\n",
"print ('output mean, variance: %.4f, %.4f'% (np.average(out), np.std(out)**2))"
"print('output mean, variance: %.4f, %.4f' % \n",
" (np.mean(out), np.var(out)))"
]
},
{
@@ -655,8 +659,8 @@
"name": "stdout",
"output_type": "stream",
"text": [
"linear output mean, variance: 0.0157, 7496.7472\n",
"nonlinear output mean, variance: -9.1550, 30561.5318\n"
"linear output mean, variance: 0.0714, 7489.0102\n",
"nonlinear output mean, variance: -9.1074, 30507.3721\n"
]
}
],
@@ -691,9 +695,9 @@
"outputs": [
{
"data": {
"image/png": "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 truncated
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x886fef0>"
"<matplotlib.figure.Figure at 0x7931f60>"
]
},
"metadata": {},
@@ -742,7 +746,7 @@
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x79dfcc0>"
"<matplotlib.figure.Figure at 0x7947c18>"
]
},
"metadata": {},
@@ -772,7 +776,7 @@
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x808f7b8>"
"<matplotlib.figure.Figure at 0x7b4bbe0>"
]
},
"metadata": {},
@@ -801,7 +805,7 @@
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x5d60438>"
"<matplotlib.figure.Figure at 0x7fc6908>"
]
},
"metadata": {},
@@ -830,7 +834,7 @@
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x7c305c0>"
"<matplotlib.figure.Figure at 0x7fe6278>"
]
},
"metadata": {},
+151 -125
View File
@@ -294,9 +294,9 @@
"outputs": [
{
"data": {
"image/png": "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 truncated
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x6ba9c88>"
"<matplotlib.figure.Figure at 0x6e2a400>"
]
},
"metadata": {},
@@ -357,7 +357,7 @@
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x40df240>"
"<matplotlib.figure.Figure at 0x432c668>"
]
},
"metadata": {},
@@ -403,14 +403,14 @@
"name": "stdout",
"output_type": "stream",
"text": [
"Difference in mean x=0.201, y=42.679\n"
"Difference in mean x=-0.014, y=43.369\n"
]
},
{
"data": {
"image/png": "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\nV/VduHAh3G43Pv/8cwDAK6+8Arfb7fg3ZMgQW78rVqzA0UcfjXA4jHA4jBNOOAHvvfdei2tZvnw5\n9tlnH4RCIey77774zW9+U/Y9nTJlCl544QXbtf3jH//A6tWrcfbZZzse09DQgCuuuALf+ta3EAgE\nMHToUMydO7fFspy33347Ro0ahd122w2hUAj77bcfHn744Rb9DR48GCeccAJWrlyJQw45BKFQCEOH\nDsXixYvLvp72RPXr6AYdAifiJpGPlDkd0xplr9C66F6vV60TLs8hl5ssFm/JVRBYOJ3biyXQ6O55\nvU5mofV0W1vuqFCh9kLHtqUGqIRx9xgY2CFVTfe2bSUdU01qJuH02z7rrLMwdOhQzJ8/H2+//TYe\neugh1NfXY/78+arN/Pnzcf311+PMM8/EjBkzsGXLFtx999044ogj8N5776FXr14AgGXLlqGpqQkX\nXXQR6uvr8d577+Ghhx7C6tWr8frrr7c496RJk7D77rtj3rx5eVeq2XvvvbFkyRLbti1btuDKK69E\n79691balS5finHPOwbhx4zB//nwkEgk88MADOPLII7Fq1SrstddeALaT0dNPPx0jR47ELbfcgi1b\ntmDGjBno379/ybbP5XLh1FNPxQUXXIBly5bh/PPPV2MYNGgQRo0a1eKYeDyO0aNH4/PPP8dFF12E\nwYMH46233sKcOXOwbt06PPjgg6rtz3/+c3zve9/DWWedBZfLheXLl+P8889HJpPBhRdeaBvH2rVr\nceaZZ+K8887Dueeei4cffhjTp0/HQQcdhL333ruk62l3WFWIbdu2qT+D9kcul7P9ZbNZK5FIWPF4\n3IrH41YikbCy2aza5/SXyWRU+0wmo7al02krk8m0+Eun03n36W1SqZQViUSsSCRipVIp2/ZUKmUl\nk0m1P5lMqj/uTyQSVlNTk9XU1GQlEgm1P992+ae3kefRzx+NRtX4UqmUFY1GrVgsVvQ6ea2xWMyK\nxWKqD7k/333X//TPsrV/rYX57Rq0Fu393YnH4206PpvNWvGf/cyygJL+ErNmWZlUqkKjz49HHnnE\ncrlc1ltvvZW3zdq1ay2Xy2UtWrRIbZs9e7blcrmsGTNm2Nr+z//8j9WrVy/1ft26dZbX67Vuuukm\nW7tPPvnECgaD1nXXXae2xWKxFudeunSp5XK5rJUrV7Y49xlnnJH3etatW+d4Ldls1Line truncated
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x78f07f0>"
"<matplotlib.figure.Figure at 0x866a7b8>"
]
},
"metadata": {},
@@ -465,7 +465,7 @@
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x78f4eb8>"
"<matplotlib.figure.Figure at 0x866ed30>"
]
},
"metadata": {},
@@ -503,7 +503,7 @@
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x7832c18>"
"<matplotlib.figure.Figure at 0x7a8a1d0>"
]
},
"metadata": {},
@@ -548,7 +548,7 @@
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x7a7df28>"
"<matplotlib.figure.Figure at 0x7b8afd0>"
]
},
"metadata": {},
@@ -599,7 +599,7 @@
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x77a19e8>"
"<matplotlib.figure.Figure at 0x7c58898>"
]
},
"metadata": {},
@@ -648,7 +648,7 @@
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x8cf5518>"
"<matplotlib.figure.Figure at 0x87249e8>"
]
},
"metadata": {},
@@ -656,7 +656,8 @@
}
],
"source": [
"from filterpy.kalman import unscented_transform, MerweScaledSigmaPoints\n",
"from filterpy.kalman import unscented_transform\n",
"from filterpy.kalman import MerweScaledSigmaPoints as SigmaPoints\n",
"import scipy.stats as stats\n",
"\n",
"def f_nonlinear_xy(x, y):\n",
@@ -669,7 +670,7 @@
"\n",
"### create sigma points - we will learn about this later\n",
"### in the chapter\n",
"points = MerweScaledSigmaPoints(n=2, alpha=.1, beta=2., kappa=1.)\n",
"points = SigmaPoints(n=2, alpha=.1, beta=2., kappa=1.)\n",
"Wm, Wc = points.weights()\n",
"sigmas = points.sigma_points(mean, p)\n",
"\n",
@@ -863,7 +864,7 @@
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAtkAAAEjCAYAAADnrB18AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XmQbGd52P/vWXpfp2e/+xWREBCMjYWgEBKyMGB+trEr\nLJVyJbGpuIgDSRxIuRxiKiEkwfESB5JKjMEJW2IHUjKkYiqmXEJAZBRApjAISXClu8zSM70v55w+\n3Wd7f3/0zJWu7jb33p7l9Dyfqlsa9fT0eXum+zlPP+d531dTSimEEEIIIYQQE6Pv9wCEEEIIIYSY\nNpJkCyGEEEIIMWGSZAshhBBCCDFhkmQLIYQQQggxYZJkCyGEEEIIMWGSZAshhBBCCDFhkmSLibn/\n/vvR9Vt/SX3yk59E13X+5b/8lxMYlRBCiL0i5wEhniVJtpgoTdMO5GPtpieffJK3v/3tLCwskMlk\nuPPOO/nABz7AcDi8ocf59V//dV73utdx/PhxstkslUqFl73sZbz//e+nVqvt0uiFEGKyDtt54L/8\nl//C3/t7f49XvvKVZLNZdF3nfe97334PSxwA5n4PQIg4++Y3v8kDDzxAEAS89a1v5fjx4zz00EN8\n8IMf5KGHHuKhhx4imUzu6LE+/OEP8+M//uO88Y1vZGFhAcdxePTRR/nQhz7EH/zBH/DII4/wwhe+\ncJefkRBCiBvxT/7JP6Hf71OpVDh69CjPPPNMLD4ciN0nSbYQNykMQ37pl34J13X5X//rf/EzP/Mz\nACilePvb386DDz7Iv//3/55f//Vf39HjWZZ1xYT8/e9/Px/60If40Ic+xKc+9amJPgchhBC35nOf\n+xwvetGLOH78OJ/61Kd4xzvesd9DEgeEtIuIa/rkJz/JW97yFm677Tay2SylUonXvOY1fOYzn9nR\nz3/lK19B13Xe8Y538MQTT/DmN7+ZSqVCPp/nvvvu46GHHrrmz3/nO9/hp3/6pymXy+RyOe6//34e\nffTRy+5XrVb54Ac/yD333MPS0hKpVIqjR4/yC7/wCzzxxBM39dyv56tf/SpPPfUU991338UEG8aX\nN3/7t38bgI9+9KM7fryrVbzf9ra3AbCxsXELoxVCiJsj54Fre8Mb3sDx48eBcZFFiG2SZItrete7\n3sXq6ir3338/73nPe/ibf/NvcuHCBX7xF3+R3/iN39jx45w7d4577rkHy7L4+3//7/OWt7yFb33r\nW7zxjW/kT/7kT674M9/61re455578DyPd77znfzMz/wMjzzyCK973ev44Q9/eMl9v/a1r/Fbv/Vb\nVCoV3va2t/He976XV73qVTz44IPcfffdfOc737ml38OVfPnLXwbgp37qpy773unTp7n99ttZWVnh\n7Nmzt3Sc//2//zcwnlAkhBB7Tc4DQtwcaRcR1/T973+f06dPX3Kb7/u86U1v4rd/+7d517vexdGj\nR6/7OF/72tf4tV/7NX7rt37r4m3vfve7ueeee3jnO9/JG9/4RnK53CU/88UvfpFPfvKT/J2/83cu\n3vaxj32MX/mVX+EjH/kI/+k//aeLt7/uda+jXq9f9hjf/e53ueeee3jf+97H//k//+eS7334wx+m\n2+1e/5ew5fTp0/ziL/7ixf//wQ9+AMAdd9xxxfvffvvtnDlzhjNnznDbbbft+Di/+7u/i23b9Ho9\nHnvsMb7xjW/wy7/8y/zar/3ajh9DCCEmRc4Dz3r+eUCIa1JC3IQHH3xQaZqmPv3pT1+87bWvfa3S\ndf2S+z388MNK0zQ1MzOjbNu+7HF+4Rd+QWmapv77f//vF2/7xCc+oTRNU/fee+9l9/d9X5mmqV7x\nilfseKw/+7M/q9LptAqC4JLbT506pTRN2/G/n/iJn7jk51//+tcrTdPUQw89dMXjbj+3//E//seO\nx6qUUktLS5cc9zWvec1VjyGEEPtFzgOX2x73+973vh2PTUwvaRcR17SyssK73/1u7rzzTnK5HLqu\no+s6b33rW4FxD9xOvPzlL7+sugBw3333AVzxMt5dd9112W2mabK4uEin07nse1/84hf52Z/9WZaX\nl0kmkxfH+qd/+qd4nkez2bzk/ufOnSOKoh3/224P2W0bGxtEUUS9Xufzn/88rVaLN7zhDTvufxRC\niEmS88DenwfEdJB2EXFVZ8+e5e6776bb7XLffffxUz/1U5RKJQzD4Ny5c3zqU59iNBrt6LEWFxev\neXuv17vse+Vy+Yo/Y5omYRhecttHPvIR3vOe91CpVHj961/PiRMnyGazaJrG5z//ef7qr/5qx2Pd\nqVKpdNWxP/f2qz2P65mbm+Pnfu7nePnLX84dd9zBe9/7Xv723/7bNzdYIYS4CXIeEOLmSZItrur3\nfu/3aLfbl/XDAfzxH//xDS0nd7XNVLZv305Yb0YQBHzgAx9geXmZb3/725cF8r/4i7+44s/dai/e\nnXfeCTzbm/18Z86cQdO0q/Zs79Tx48e58847+e53v8v6+vqOeh+FEGIS5DxwKenJFjdCkmxxVU8/\n/TSapvGWt7zlsu999atfvaHH+va3v41t2+Tz+Ss+zo/92I/d9DibzSa9Xo+f/MmfvCyw2rbNt7/9\n7StuDPCRj3yECxcu7Pg4999//yXB9YEHHuDf/Jt/w5/92Z/xT//pP73kvmfPnuXMmTOcOnXqsglD\nN6NaraJpGoVC4ZYfSwghdkrOA5d6/nlAiGuRnmxxVadPn0YpxcMPP3zJ7V/60pf4wz/8wxt6rG63\nywc/+MFLbvvGN77B5z73OSqVCj/3cz930+NcWFggm83y2GOP4TjOxdt93+dXf/VXabVaV/y5W+3F\ne+1rX8uLXvQivva1r11cZg8giqKLG9D8yq/8yiU/47ouTz311GXL+p05c+aKl0qjKOI3fuM3aDQa\n3H///RSLxRv75QghxC2Q84D0ZIubJ5VscVXvete7+MQnPsHb3vY23vrWt7K8vMzjjz/Ol770Jd7+\n9rfz2c9+9rKfUVdZiP/ee+/l4x//ON/85jd59atfzfr6Op/97GfRNI2PfexjZLPZmx6nruv8o3/0\nj/i3//bf8tKXvpQ3v/nNeJ7Hww8/TLfb5Sd+4icuO0FMgq7rfOITn+CBBx7grW996yXbqv/lX/4l\nr3nNa3jPe95zyc984xvf4IEHHuDkyZOcO3fu4u1f/OIXed/73se9997LqVOnmJ2dpVar8dWvfpVz\n585x4sQJPvaxj038OQghxLXIeeD6/vAP/5BHHnkEGFf+Af70T//04oTQ+fl5fud3fmdXji0ONqlk\ni6t66UtfysMPP8yrX/1qvvjFL/LRj34U27b5/Oc/f1mFFsY7HV7pchzAC17wAh599FFKpRIf/ehH\nefDBB3nlK1/Jl770Jf7G3/gbO36c7e8/37/6V/+Kf/fv/h2ZTIaPfexjfOELX+Duu+/mm9/8JidO\nnLjm492Ku+++m29961v8/M//PH/+53/Ohz/8YSzL4l/8i3/Bn//5n5NIJK449ueP5/Wvfz2//Mu/\nTKPR4POf/zy/+7u/yxe+8AUWFhb41//6X/O9733vhtbaFkKISZDzwPX9xV/8BZ/+9Kf5zGc+w6OP\nPoqmaXz/+9/n05/+NJ/+9Kd58MEHd+W44uDT1NU+cgoxAV/5yld44IEH+KVf+iX+63/9r/s9HCGE\nEHtMzgPisJJKthBCCCGEEBMmSbYQQgghhBATJkm2EEIIIYQQE7bnPdlX2x1PCCGm0a1ssBE3Et+F\nEIfJ9eK7VLKFEEIIIYSYMEmyhRBCCCGEmLB93YxmWi6jPvbYYwDcdddd+zySyZDnc7DJ8zn4pG1C\n4vtBJc/nYJPnc/DdSHyXSrYQQgghhBATJkm2EEIIIYQQEyZJthBCCCGEEBMmSbYQQgghhBATJkm2\nEEIIIYQQEyZJthBCCCGEEBO2a0n2b/7mb6LrOv/wH/7D3TqEEEKIfSDxXQghrm9Xkuz/9//+Hx//\n+Mf5kR/5ETRN241DCCGE2AcS34UQYmcmnmT3ej3+1t/6W3ziE59gZmZm0g8vhBBin0h8F0KInZt4\nkv3Od76Tt73tbbz2ta9FKTXphxdCCLFPJL4LIcTOTXRb9Y9//OOcPXuWP/qjPwKQS4lCTFAUKYIw\nwg8iNG38/7ou7zGxNyS+C7F7wjCS+D6FNDWhcsQPfvAD7r33Xh555BHuuOMOAO6//35e+tKX8h//\n43+8eL/n7vl+5syZSRxaiFjzg4iRHzIKxkE2jNQ4oY7Uxa/DSBGqiEhFAGiApunomo6ujROe5/43\nYRqkEzpJ0yCZ0EmZuiRFe+j222+/+HWpVNrHkUyGxHchbo4XhIz8cYwPt2P58/5FkSJUIdFWOnat\n+G7oGklTJ2nqpBIGqa04L/bOjcT3iVWyH330UZrNJi95yUsu3haGIf/3//5f/uAP/gDHcUgkEpM6\nnBCxE4TRONgGIZ4fMfRDRn6IHwaMIo8g8glUSKQiIhUSqBClIkIilIpAG1c2NCBSCqVAKdDQ0DQN\nDR0NDV3TMXWTpJYkaSQwtQRJPUEyYZDaCszZlEk2ZUjiLXZE4rsQ1xaE2zF9q2jih3hBhBcGeJGH\nH3mEKiRU43h+MdYzTq41TWHoGgpQShFtxXf9CvE9oY9jekJPktASpMwEie2k29TJpU0yyYk2Koib\nNLFKdq/XY319/eL/K6V4xzvewR133ME/+2f/jBe/+MUX77dtGio8AI899hgAd9111z6PZDLk+UzG\nYOhjDUZYrsdg6DP0fUbhiFEwZBR4W1+P0PSIVFInmTBImDqGPq5WGIZ2ydfbCfETTz4BwItfNH5P\nXQzIkSJSiihiHOD9iJE3Dvp+EJE0UiSNJGkjRS6Zo5DKUcylKOfTlHLpfbs0OW2vNLine truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x8411358>"
"<matplotlib.figure.Figure at 0x86c39b0>"
]
},
"metadata": {},
@@ -986,7 +987,7 @@
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x928b9e8>"
"<matplotlib.figure.Figure at 0x9721470>"
]
},
"metadata": {},
@@ -1016,7 +1017,8 @@
"kf.Q[0:2, 0:2] = Q_discrete_white_noise(2, dt=1, var=0.02)\n",
"kf.Q[2:4, 2:4] = Q_discrete_white_noise(2, dt=1, var=0.02)\n",
"\n",
"zs = [np.array([i + randn()*sigma_x, i + randn()*sigma_y]) for i in range(100)] \n",
"zs = [np.array([i + randn()*sigma_x, \n",
" i + randn()*sigma_y]) for i in range(100)] \n",
"xs, _, _, _ = kf.batch_filter(zs)\n",
"plt.plot(xs[:, 0], xs[:, 2]);"
]
@@ -1042,7 +1044,8 @@
"outputs": [],
"source": [
"def f_cv(x, dt):\n",
" \"\"\" state transition function for a constant velocity aircraft\"\"\"\n",
" \"\"\" state transition function for a \n",
" constant velocity aircraft\"\"\"\n",
" \n",
" F = np.array([[1, dt, 0, 0],\n",
" [0, 1, 0, 0],\n",
@@ -1087,7 +1090,7 @@
"cell_type": "markdown",
"metadata": {},
"source": [
"The rest of the code is the same as for the linear kalman filter. Let's just implement it! I'll use the same measurements as used by the linear Kalman filter, and compute the standard deviation of the difference between the two solution. I will use the `batch_filter` method to keep the code succinct; for clarity I put the equivalent iterative loop in a comment. As with all the filters we have done to date you ju"
"The rest of the code is the same as for the linear kalman filter. Let's just implement it! I'll use the same measurements as used by the linear Kalman filter, and compute the standard deviation of the difference between the two solution."
]
},
{
@@ -1109,7 +1112,7 @@
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x92817b8>"
"<matplotlib.figure.Figure at 0x970b0f0>"
]
},
"metadata": {},
@@ -1117,13 +1120,13 @@
}
],
"source": [
"from filterpy.kalman import MerweScaledSigmaPoints\n",
"from filterpy.kalman import UnscentedKalmanFilter as UKF\n",
"\n",
"import numpy as np\n",
"\n",
"sigmas = MerweScaledSigmaPoints(4, alpha=.1, beta=2., kappa=1.)\n",
"ukf = UKF(dim_x=4, dim_z=2, fx=f_cv, hx=h_cv, dt=dt, points=sigmas)\n",
"sigmas = SigmaPoints(4, alpha=.1, beta=2., kappa=1.)\n",
"ukf = UKF(dim_x=4, dim_z=2, fx=f_cv,\n",
" hx=h_cv, dt=dt, points=sigmas)\n",
"ukf.x = np.array([0., 0., 0., 0.])\n",
"ukf.R = np.diag([0.09, 0.09]) \n",
"ukf.Q[0:2, 0:2] = Q_discrete_white_noise(2, dt=1, var=0.02)\n",
@@ -1179,7 +1182,7 @@
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x92333c8>"
"<matplotlib.figure.Figure at 0x970dba8>"
]
},
"metadata": {},
@@ -1223,8 +1226,8 @@
"outputs": [],
"source": [
"def f_radar(x, dt):\n",
" \"\"\" state transition function for a constant velocity aircraft\n",
" with state vector [x, velocity, altitude]'\"\"\"\n",
" \"\"\" state transition function for a constant velocity \n",
" aircraft with state vector [x, velocity, altitude]'\"\"\"\n",
" \n",
" F = np.array([[1, dt, 0],\n",
" [0, 1, 0],\n",
@@ -1299,7 +1302,7 @@
"\n",
" \n",
" def reading_of(self, ac_pos):\n",
" \"\"\" Returns actual range and bearing to aircraft as tuple. \n",
" \"\"\" Returns (range, bearing) to aircraft. \n",
" Bearing is in radians.\n",
" \"\"\"\n",
" \n",
@@ -1310,13 +1313,13 @@
"\n",
"\n",
" def noisy_reading(self, ac_pos):\n",
" \"\"\" Compute range and bearing to aircraft with simulated noise\"\"\"\n",
" \"\"\" Compute range and bearing to aircraft with \n",
" simulated noise\"\"\"\n",
" \n",
" rng, brg = self.reading_of(ac_pos) \n",
" rng += randn() * self.range_std\n",
" brg += randn() * self.bearing_std \n",
" return rng, brg\n",
" \n",
" return rng, brg \n",
" \n",
"class ACSim(object): \n",
" def __init__(self, pos, vel, vel_std):\n",
@@ -1326,12 +1329,11 @@
" \n",
" \n",
" def update(self, dt):\n",
" \"\"\" compute next position. Incorporates random variation in\n",
" velocity. Returns new position.\"\"\"\n",
" \"\"\" Compute and returns next position. Incorporates \n",
" random variation invelocity. \"\"\"\n",
" \n",
" vel = self.vel*dt + (randn() * self.vel_std) * dt \n",
" self.pos += vel\n",
" \n",
" self.pos += vel \n",
" return self.pos"
]
},
@@ -1356,7 +1358,7 @@
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAvcAAAEtCAYAAACMMk9vAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XtU1PeZP/D3DHK/jMj9JteZQVAuM0RRGZKYYKJxbWxu\n22wSbTc12WibS3ez9axVa4xuGtdN0xibeLbWmqYbTVPz26bxWBMbZkQrzAgi6Ax3kZuAIyBynfn+\n/qDSEL7ooMwFeL/OyTky8zDz+DkE3g7feR6JIAgCiIiIiIho0pM6uwEiIiIiIpoYDPdERERERFME\nwz0RERER0RTBcE9ERERENEUw3BMRERERTREM90REREREUwTDPRERERHRFOEy4X7Hjh2QSqX4wQ9+\nMOL2LVu2ICoqCj4+Prj33ntRXl7upA6JiIiIiFybS4T7U6dOYe/evUhLS4NEIhm+/Y033sCuXbvw\nzjvvoLCwEKGhocjLy8O1a9ec2C0RERERkWtyerjv6OjAU089hX379iEwMHD4dkEQ8NZbb2HDhg1Y\ntWoVUlNTsX//fnR1deHDDz90YsdERERERK7J6eF+7dq1eOyxx3D33XdDEITh22tqatDS0oKlS5cO\n3+bl5YXc3FwUFBQ4o1UiIiIiIpc2w5lPvnfvXlRXVw+/Ev/1S3Kam5sBAGFhYSM+JzQ0FI2NjY5r\nkoiIiIhoknBauDcajfiP//gP6HQ6uLm5ARi6FOfrr96P5ev/CACGLu0hIiIiIpqsZDLZhDyO0y7L\nOXnyJNra2pCamgp3d3e4u7sjPz8f7777Ljw8PBAcHAwAaGlpGfF5LS0tCA8Pd0bLREREREQuzWnh\nftWqVTh37hxKSkpQUlKC4uJiZGVl4Tvf+Q6Ki4shl8sRHh6Oo0ePDn9Ob28vdDodFi1a5Ky2iYiI\niIhcltMuy5HJZKN+/eDj44PAwECkpKQAAF566SVs374dycnJkMvl2LZtG/z9/fHkk0/e9HFpYhQV\nFQEAsrKynNzJ1MOztQ+eq33wXO2D52ofPFf74Lnahz0uLXfqG2q/SSKRjLie/tVXX0VPTw/WrVsH\ns9mM7OxsHD16FL6+vk7skoiIiIjINblUuD9+/Pio2zZv3ozNmzc7oRsiIiIiosnF6XPuiYiIiIho\nYjDcExERERFNEQz3RERERERTBMM9EREREdEUwXBPRERERDRFMNwTEREREU0RDPdERERERFMEwz0R\nERER0RTBcE9ERERENEUw3BMRERERTREM90RERERkN+auVnyhP4w3f/cjtHU0O7udKW+GsxsgIiIi\noqnlWk8niisKoDdpUdVQNny7wajF0vmPObGzqY/hnoiIiIjuWG9/D85WnYLBqMWF+hJYrZZRNSVV\npxju7YzhnoiIiIhuy8BgP8prDdCb8lFWXYQBS/+oGolECkXMPGQpc5GWmO2ELqcXhnsiIiIispnF\nakFFfSn0Ji3OVp5ET/910bq4CCWylLnISFqMAN+ZDu5y+mK4JyIiIqKbEgQBbV0N+PgvBpwxnUBX\nT4doXWRwHNQKDVTKHAQFhDm4SwIY7omIiIhoDI1ttSgyanGq9Biu9YkH+iBZGNSKXKiVGkQEzXZw\nh/RNDPdERERENKz1ahMMJh0MJi2a2i+K1gT4BCJTsRhqZS5iw+SQSCQO7pLGwnBPRERENM11XLsC\nQ4UOBqMWdS0VojUebl5QJedArdBAHj0XUqmbg7skWzg13O/evRvvv/8+amtrAQCpqanYuHEjli9f\nDgBYs2YNfvOb34z4nOzsbBQUFDi6VSIiIqIppbunE8WVJ4dm0V8qgwBhVI37DA/MS5iPAGkEogIT\nsWA+p924OqeG+5iYGPzsZz+DXC6H1WrFr3/9azz88MMoLCxEeno6JBIJ8vLycODAgeHP8fDwcGLH\nRERERJNXX38PzlafhsGoxfmLZ0Rn0UulbpgTmwm1QoN5CfPh6eGNoqIiJ3RLt8Op4X7lypUjPt62\nbRv27NmD06dPIz09HYIgwMPDA6GhoU7qkIiIiGhyGxgcwPk6PfRGLc7VFGJgUGQWPSRIip4LtVKD\n9KSF8PXyd0KnNBFc5pp7i8WCQ4cOobe3F7m5uQAAiUQCnU6HsLAwzJw5E3fffTdef/11hISEOLlb\nIiIiItdl6yz62DA5VEoNVPIcyPxmObhLsgenh/vS0lIsXLgQfX198Pb2xsGDB6FUKgEADz74IB55\n5BHEx8ejpqYGGzduxJIlS6DX63l5DhEREdHXWAUrapuM0Bu1KK4YexZ9RNBsqBQaqBQ5CJkZ4eAu\nyd4kgiCMfveEAw0MDKC+vh4dHR04dOgQfvGLX+D48ePIysoaVdvU1ITY2Fh89NFHWLVq1fDtHR1/\n/+KtqBB/hzcRERHRVCMIAszdLahpK0NtWxm6+zpF6/w8ZyI+JBVxwakI9OXlzq5CLpcP/1kmk03I\nYzr9lXt3d3ckJCQAADIzM1FYWIjdu3dj3759o2ojIiIQHR2NyspKR7dJRERE5DI6e9pR0zoU6Dt6\n2kVrvN39EBecgriQVAT7RXIW/TTh9HD/TRaLBVarVfS+1tZWNDQ0ICJi7F8hib3iT7fnxjvjeaYT\nj2drHzxX++C52gfP1T6m8rle6WzFmQod9EYtLrVWi9b4ePohPWkh1EoNkqJSJ2wW/VQ+V2f6+tUn\nE8Wp4f7HP/4xVqxYgejoaHR1deHDDz/EV199hSNHjqC7uxubN2/Go48+ivDwcNTW1mLDhg0ICwsb\ncUkOERER0VTV2X0VxZUnYDDqUN10XrTGw90L8xLmQ6XIwZzYTMxwc3dwl+RKnBruW1pa8NRTT6G5\nuRkymQzp6ek4cuQI8vLy0Nvbi3PnzuHAgQO4evUqIiIisGTJEnz88cfw9fV1ZttEREREdnO99xpK\nqk7BYNTCdKkUgjD6igY3txlIjcuCSpGDufF3wcPd0wmdkityargXu67+Bi8vLxw5csSB3RARERE5\nR99AL85Vn4bepMP5WgMs1sFRNVKJFIrZ6VArNEhLXABvT77YSaO53DX3RERERNPB0HIpAwwmLc5V\nF6J/sE+0LjEyBSqlBhlJi+DvMzETVWjqYrgnIiIichBbl0vNDk2CSpmDTHkOAv2DHdwlTWYM90RE\nRER2ZOtyqfBZMVArNciU5yA0MNLBXdJUwXBPRERENMEEQUBDWw30Ri0MJh3MXa2idUEBYVApcqBW\nahARFMtZ9HTHGO6JiIiIJshlcwP0Jh0MRi1azJdEawJ8A5EpXwy1MhexYXIGeppQDPdEREREd8Dc\n1QqD6QT0pnxcujz2cqkM+UKoFLlIikqZsOVSRN/EcE9EREQ0Tl3XO1BcWQCDUYuqxnLRmhvLpdQK\nDZJjM7hcihyC4Z6IiIjIBj1913G26hT0Ji1MF0tgHXO5lBoqhYbLpcgpGO6JiIiIxtA/2IeyGj0M\nxnyU1eoxaBkYVSORSKGMSYNKoUFa0gL4ePo5oVOiIQz3RERERF9jsQziwsViGEw6nK3+K/r6e0Tr\nEiLmQKXUIFO+CP4+Mx3cJZE4hnsiIiKa9qyCFVUN5TAYtSiuLEB3b5doXVRIPNQKDVSKHMwKCHVw\nl0S3xnBPRERE05IgCKi/XAW9MR+GihPouNYuWhc6MxIqhQZqpQZhs6Id3CXR+DDcExER0bTS1F4P\ngykfBqMOrR1NojUz/YKGA310SAJn0dOkwXBPREREU157ZwsMRh30Ji0a22pFa3y9A5CZtAhqpQbx\nkXMglUgd2yTRBGC4JyIioimps9uMMxUnoDdpUdtkFK3x9PBGemI2VAoNlDFpcHNjNKLJjV/BRERE\nNGX0DfbgYvsFnPrk/6Hi0jkIIrPo3d08kBqfBbVSg5Q4NdxneDihUyL7YLgnIiKiSa2vvwfnagqh\nN2pRXqsXXS4llbohOSYdKqUG8xIWwNvTxwmdEtkfwz0RERFNOgOD/ThfZ4DeqMW5mkIMDPaPqpFA\ngsSoFKiVuUhPWgg/7wAndErkWAz3RERENClYLIMw1p+FwaTF2aq/orf/umhdkF8ENJkPIlO+GIH+\nwQ7uksi5nBrud+/ejffffx+1tbUAgNTUVGzcuBHLly8frtmyZQv27t0Ls9mMBQsWYPfu3UhJSXFS\nx0RERORIw8ulTLqh5VI9naJ1EUGzoVJo4N4nQ4D3LGSpshzcKZFrcGq4j4mJwc9+9jPI5XJYrVb8\n+te/xsMPP4zCwkKkp6fjjTfewK5du7B//34oFAps3boVeXl5MBqN8PPzc2brREREZCeCIOBiSwX0\nJh3OmHTo6L4iWhckC4NakQuVIgeRwbEAgKKiIke2SuRynBruV65cOeLjbdu2Yc+ePTh9+jTS0tLw\n1ltvYcOGDVi1ahUAYP/+/QgNDcWHH36ItWvXOqNlIiIisgNBENDUXgeDaWgWfXtHi2idzC8IKvli\nqBQazA5L4nIpom9wmWvuLRYLDh06hN7eXuTm5qKmpgYtLS1YunTpcI2Xlxdyc3NRUFDAcE9ERDQF\nXDY3wmDSwmDSoflKvWjNjeVSKqUGCVwuRXRTTg/3paWlWLhwIfr6+uDt7Y2DBw9CqVSioKAAABAW\nFjaiPjQ0FI2Njc5olYiIiCbA1WvtMJh0MBi1uHi5UrTGy8NnaLmUUgNFTBrcpG4O7pJocpIIgiA4\ns4GBgQHU19ejo6MDhw4dwi9+8QscP34c/f39yMnJwcWLFxEdHT1c/73vfQ9NTU34/PPPh2/r6OgY\n/nNFRYVD+yciIqJb6x24jovtF1DTWoaWzjrRGjfpDMTMUiAuOBVRgYlwkzr9NUgiu5LL5cN/lslk\nE/KYTv+/xt3dHQkJCQCAzMxMFBYWYvfu3di0aRMAoKWlZUS4b2lpQXh4uFN6JSIiILine truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x7a6f0b8>"
"<matplotlib.figure.Figure at 0x8724940>"
]
},
"metadata": {},
@@ -1366,7 +1368,7 @@
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x7821208>"
"<matplotlib.figure.Figure at 0x6dfb0f0>"
]
},
"metadata": {},
@@ -1376,7 +1378,7 @@
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x771d780>"
"<matplotlib.figure.Figure at 0x7c03080>"
]
},
"metadata": {},
@@ -1387,6 +1389,7 @@
"import book_plots\n",
"from filterpy.common import Q_discrete_white_noise\n",
"import math\n",
"from ukf_internal import plot_radar\n",
"\n",
"dt = 12. # 12 seconds between readings\n",
"range_std = 5 # meters\n",
@@ -1396,7 +1399,7 @@
"radar_pos = (0., 0.)\n",
"h_radar.radar_pos = radar_pos\n",
"\n",
"points = MerweScaledSigmaPoints(n=3, alpha=.1, beta=2., kappa=0.)\n",
"points = SigmaPoints(n=3, alpha=.1, beta=2., kappa=0.)\n",
"kf = UKF(3, 2, dt, fx=f_radar, hx=h_radar, points=points)\n",
"\n",
"kf.Q[0:2, 0:2] = Q_discrete_white_noise(2, dt=dt, var=0.1)\n",
@@ -1407,7 +1410,8 @@
"kf.P = np.diag([300**2, 30**2, 150**2])\n",
"\n",
"random.seed(200)\n",
"radar = RadarStation(pos=(0, 0), range_std=range_std, bearing_std=bearing_std)\n",
"pos = (0, 0)\n",
"radar = RadarStation(pos, range_std, bearing_std)\n",
"ac = ACSim(ac_pos, (100, 0), 0.02)\n",
"\n",
"time = np.arange(0, 360 + dt, dt)\n",
@@ -1418,7 +1422,7 @@
" kf.predict()\n",
" kf.update([r[0], r[1]]) \n",
" xs.append(kf.x) \n",
"ukf_internal.plot_radar(xs, time)"
"plot_radar(xs, time)"
]
},
{
@@ -1454,7 +1458,7 @@
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x8da5828>"
"<matplotlib.figure.Figure at 0x7aa2780>"
]
},
"metadata": {},
@@ -1487,7 +1491,7 @@
" kf.update([r[0], r[1]]) \n",
" xs.append(kf.x)\n",
"\n",
"ukf_internal.plot_radar(xs, time, plot_x=False, plot_vel=False, plot_alt=True)\n",
"plot_radar(xs, time, plot_x=False, plot_vel=False, plot_alt=True)\n",
"print('Actual altitude: {:.1f}'.format(ac.pos[1]))\n",
"print('UKF altitude : {:.1f}'.format(xs[-1][2]))"
]
@@ -1521,7 +1525,8 @@
"outputs": [],
"source": [
"def f_cv_radar(x, dt):\n",
" \"\"\" state transition function for a constant velocity aircraft\"\"\"\n",
" \"\"\" state transition function for a constant velocity \n",
" aircraft\"\"\"\n",
" F = np.array([[1, dt, 0, 0],\n",
" [0, 1, 0, 0],\n",
" [0, 0, 1, dt],\n",
@@ -1529,7 +1534,7 @@
" return np.dot(F, x)\n",
" \n",
"def cv_UKF(fx, hx, R_std):\n",
" points = MerweScaledSigmaPoints(n=4, alpha=.1, beta=2., kappa=-1.)\n",
" points = SigmaPoints(n=4, alpha=.1, beta=2., kappa=-1.)\n",
" kf = UKF(4, len(R_std), dt, fx=fx, hx=hx, points=points)\n",
"\n",
" kf.Q[0:2, 0:2] = Q_discrete_white_noise(2, dt=dt, var=0.1)\n",
@@ -1553,7 +1558,7 @@
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAwgAAAEtCAYAAACs+0e7AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XlcVXX+x/HXvSwuoIDIFRVDKxdyD5eg3BFxpd00UWes\nYSYzzfpZ/X5TNks1/ab6mePUaJOjg5laY7mVmIq4cF1AMUUJTXNLlBBBEBHuvb8/GI/dUQztXi/q\n+/l4+Mjz/X7POZ/zfRDezz3fxeRwOByIiIiIiIgAZk8HICIiIiIiNYcSBBERERERMShBEBERERER\ngxIEERERERExKEEQERERERGDEgQRERERETEoQRAREREREYPHEoQ33niDrl27EhAQgMViYdiwYWRl\nZV3SLicnhwcffJCgoCD8/PyIjIwkOzvbqC8rK2PChAmEhITg7+9PfHw8x44dc7pGQUEBCQkJBAYG\nEhgYyOjRoyksLHT7M4qIiIiI3Gg8liCkpqby9NNPY7VaWbt2Ld7e3sTExFBQUGC0OXjwIPfeey93\n3HEHKSkpZGVl8dprr+Hv72+0mTRpEosXL2bBggVs2LCBoqIihgwZgt1uN9qMHDmSzMxMkpOTWbly\nJdu3bychIeG6Pq+IiIiIyI3AVFN2Ui4pKSEgIIAlS5YwePBgoPKDvZeXF0lJSZc9p7CwEIvFwpw5\ncxgxYgQAR48eJTw8nC+//JLY2Fj27t1L27Zt2bRpE1FRUQBs2rSJHj16kJ2dTatWra7PA4qIiIiI\n3ABqzByEoqIi7HY7QUFBANjtdpYvX05ERARxcXFYLBa6devGokWLjHMyMjIoLy8nNjbWKAsLCyMi\nIgKr1QqA1WrF39/fSA4AoqOj8fPzM9qIiIiIiEilGpMgTJw4kc6dOxsf5E+ePElxcTGvv/46cXFx\nrF69mhEjRvD444/zxRdfAJCbm4uXlxfBwcFO12rUqBG5ublGm5CQEKd6k8mExWIx2oiIiIiISCVv\nTwcAMHnyZNLS0ti4cSMmkwnAmENw//33M2nSJAA6dOhAeno6M2bMYNCgQVVe71pHTWnisoiIiIjc\nyAICAn72NTz+BuHZZ59l4cKFrF27lubNmxvlDRs2xNvbm7vuusupfZs2bTh8+DAAoaGh2Gw28vPz\nndqcOHGC0NBQo01eXp5TvcPh4OTJk0YbERERERGp5NEEYeLEiUZy8J+ThX19fenatavTkqZQuezp\nhUQiMjISHx8fVq1aZdQfPXqU7OxsoqOjAYiKiqK4uNhpvoHVaqWkpMRoIyIiIiIilTy2itH48eOZ\nN28en3/+OREREUZ5vXr18PPzA2DJkiU8+uijzJgxgz59+pCSksL48eNZsmQJAwcOBOCpp55i2bJl\nzJkzhwYNGjB58mQKCwvJyMgwhisNGjSIo0ePMmvWLBwOB7/61a+4/fbbWbJkiVNMPx5i5IrXM1Ip\nPT0dgC5dung4kpuL+tU91K/uoX51D/Wre6hf3Ud96x6u/gzrsTcI77//PsXFxfTr148mTZoYf95+\n+22jTXx8PLNmzeKtt96iQ4cO/PWvfyUpKclIDgCmTZvGAw88wPDhw7nvvvuoX78+y5YtM5IDgPnz\n59OxY0cGDBhAXFwcnTt3rnLpVBERERGRW5nHJin/eCOzKxkzZgxjxoypst7X15fp06czffr0KtsE\nBgYqIRARERERqQaPT1IWEREREZGaQwmCiIiIiIgYlCCIiIiIiIhBCYKIiIiIiBiUIIiIiIiIiEEJ\ngoiIiIiIGJQgiIiIiIiIQQmCiIiIiIgYlCCIiIiIiIhBCYKIiIiIiBi8PR2AiIiIiHiWw+Fgc9Zq\nMvdb6RbRh8jWPTwdkniQEgQRERGRW1iFrZxFKTPZnLUagL2HtlN0toA+nYd5ODLxFCUIIiIiIreo\n4tIiPlzxJt8ey3Iq/2z9bBwOO33vvt9DkYknKUEQERERuQUdzz/MrKWvkV90wijzrxNAcWkhAJ9v\nmIPD4aBf5AOeClE8RJOURURERG4xWQfTeWfRC0ZyYMLE0OgEXhn7N+5ocpfRbsnGuXy17V+eClM8\nRAmCiIiIyC3C4XCwJuNzZi19jbLzpQD4+tRm3JAX6d/1IWr71uHX8S9zZ9O2xjnL0pJI3vqJp0J2\nUlpWgs1u83QYNz2PJQhvvPEGXbt2JSAgAIvFwrBhw8jKyqqyfWJiImazmbffftupvKysjAkTJhAS\nEoK/vz/x8fEcO3bMqU1BQQEJCQkEBgYSGBjI6NGjKSwsdMtziYiIiNRE5RXlzF89gyUb5+DAAUBQ\nvRCefeRPdLiju9Gulm8dEuNfpmVYe6NshfUjVm5ZeN1j/rHvcnN4c/6zJG9d5NE4bgUeSxBSU1N5\n+umnsVqtrF27Fm9vb2JiYigoKLik7aeffsq2bdto0qQJJpPJqW7SpEksXryYBQsWsGHDBoqKihgy\nZAh2u91oM3LkSDIzM0lOTmblypVs376dhIQEtz+jiIiISE1w5uxp/vrZK2zZs8You71xBM8/9mea\nhjS/pH0tn9okDvstrZp1MMq+2PwxX25ecD3CdWJ32FmT8RnTPnmJU0UnSd76CfuO7rrucdxKPDZJ\neeXKlU7HSUlJBAQEkJaWxuDBg43yQ4cOMWnSJNasWUNcXJzTOYWFhcyePZs5c+bQr18/4zrh4eGs\nXr2a2NhY9u7dS3JyMps2baJ798rseObMmfTo0YOcnBxatWrl5icVERER8Zzvf/iOWUtf49SZPKOs\nW0Qfhvd9Ch9vnyrP8/Wpxa+G/Q8fLHudbw7vBODLLQtwOBwMvOexS760dYczZ0+TtOpdsg/tMMpq\n+9Sm7Pw5t9/7VlZj5iAUFRVht9sJCgoyyioqKhgxYgQvv/wyrVu3vuScjIwMysvLiY2NNcrCwsKI\niIjAarUCYLVa8ff3JyoqymgTHR2Nn5+f0UZERETkZrTrwFb+b9GLRnJgwkT8fWN5vP8zV0wOLvD1\nrsWTQ/+bNrd1MspWbl3ICut8HA6H2+IG+ObwTt786Fmn5KB5aGumPP5/tLu9q1vvfaurMcucTpw4\nkc6dOzt9kJ86dSoWi4XExMTLnpObm4uXlxfBwcFO5Y0aNSI3N9doExIS4lRvMpmwWCxGm8tJT0+/\n1keRKqhP3UP96h7qV/dQv7qH+tU9buR+dTgcZB2zsv3QWqPM2+xLz9YPEOAIIyMj46quF9k0jjNn\nznCs4FsAVm37hO+/P0bn8D7X9CbhSn1rd9jZeTiVXUc3OZW3axpNp9t6cTDnCAc5ctX3vJm1bNnS\npderEQnC5MmTSUtLY+PGjcYP2bp165g7dy6ZmZlObauTrbo7oxURERGpqWz2Cqz7V3Ag7+I4ff9a\nAfSJGE6Qn+Warull9qZ3m0dYl/0pxwr2A7D7WBoOHNwd3tdlw42KywrZ8M1n5J05apTV9vHjvpbD\naBJ0h0vuIT/N4wnCs88+y6JFi0hJSaF58+ZGeWpqKsePH6dx48ZGmc1m44UXXuDdd9/l8OHDhIaG\nYrPZyM/Pd3qLcOLECXr16gVAaGgoeXkXx9xBZQJx8uRJQkNDq4yrS5cuLnpCufAtgfrUtdSv7qF+\ndQ/1q3uoX93jRu7XopLT/H3FG3yX941RdkeTu/jl4BeoVzfgZ1//7rsj+ccX/8vug9sAyDpmpVEj\nC/H3ja1WknClvt25fzMrV/+Ds2XFRlnrZh1JGDCJ+n5Bl7SXi1y9OqdH5yBMnDiRhQsXsnbt2ksm\nCz/11FPs2rWLnTt3snPnTjIzM2nSpAmTJ09mzZrKGfiRkZH4+PiwatUq47yjR4+SnZ1NdHQ0AFFR\nURQXFzvNN7BarZSUlBhtRERERG50x/IO8vbC/+K74xeTg3vaxjD+wd+5JDkA8PH24ZeDp9D+9m5G\n2drtS/hswz+ueQRHecV5PkmZxYcr/mQkB2aTmaHRCfzmgalKDjzAY28Qxo8fz7x58/j8888JCAgw\n5gPUq1cPPz8/QkJCLpk74OPjQ2hoqDHOKiAggHHjxjFlyhQsFgsNGjRg8uTJdOzYkZiYGAAiIiKI\ni4sjMTGRWbNm4XA4SExMZOjQoS4fryUiIiLiCV9/u5l/Jk/jfHnl6j4mk5n77xtL785DXb7akLeX\nD78Y9F/M+fJtvv52MwDrdizF4bDzYM9xV3W/EwXHmPPFnzn2w3dGWYN6IYyOe47bm7RxadxSfR5L\nEN5//31MJpOxPOkFr776Kq+88kq1rzNt2jS8vb0ZPnw4paWlxMTEMG/ePKcfzvnz5zNhwgQGDBgA\nQHx8PDNmzHDNg4iIiIh4iMPh4Kv0f7E8bZ5RVtu3LmMHPsddzSPddl9vLx9+MfB55qx8m537K0dp\npGYux+Gw81CvJ38ySXA4HGzdm8In62YZSQ1AxzvuYUTM09St7e+22OWneSxB+PFGZtV18ODBS8p8\nfX2ZPn0606dPr/K8wMBAkpKSrvp+IiIiIjVVecV5Pl79V9K/STXKggMa8auhv6VxcDO339/Ly5ux\ncc8xN/kdMvelAbB+5xfY7XYe7vMrzKbLj2QvrygjadU00rMvxu3t5cMDPX/Jfe3jrsv+CnJlHp+k\nLCIiIiJXp6jkNB8sf51DuTlG2Z1h7Rg3aAp+depftzi8vLwZE/ccZpOZ7TkbAdi4ayUOh4NH+iZe\nkiTkFx9n/TeLOXOuwChrFBTG2IHPX3ZHZ/EMJQgiIiIiN5AzZ08zY/HL5J66uBdAdLtYHu79JN5e\nP735mat5mb1IGPAsJkxk5GwAYNPuZBzYebTvbzCbzDgcDtbvXMGXX8/B7rAZ53a/qx8P936SWj61\nr3vcUjUlCCIiInJDKzl3hlo+tT3y4fh6Ky4t4q+LpxrJgclk5sGev6Rnx8EeHZrjZLine truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x8da5358>"
"<matplotlib.figure.Figure at 0x7aa2080>"
]
},
"metadata": {},
@@ -1584,7 +1589,7 @@
" kf.update([r[0], r[1]]) \n",
" xs.append(kf.x)\n",
"\n",
"ukf_internal.plot_radar(xs, time, plot_x=False, plot_vel=False, plot_alt=True)\n",
"plot_radar(xs, time, plot_x=False, plot_vel=False, plot_alt=True)\n",
"print('Actual altitude: {:.1f}'.format(ac.pos[1]))\n",
"print('UKF altitude : {:.1f}'.format(xs[-1][2]))"
]
@@ -1624,7 +1629,7 @@
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x7a69d30>"
"<matplotlib.figure.Figure at 0x8c384a8>"
]
},
"metadata": {},
@@ -1634,7 +1639,7 @@
"name": "stdout",
"output_type": "stream",
"text": [
"Velocity standard deviation 3.4 m/s\n"
"Velocity std 3.4 m/s\n"
]
}
],
@@ -1642,7 +1647,8 @@
"range_std = 500.\n",
"bearing_std = math.degrees(0.5)\n",
"random.seed(200)\n",
"radar = RadarStation(pos=(0, 0), range_std=range_std, bearing_std=bearing_std)\n",
"pos = (0, 0)\n",
"radar = RadarStation(pos, range_std, bearing_std)\n",
"ac = ACSim(ac_pos, (100, 0), 0.02)\n",
"\n",
"kf = cv_UKF(f_cv_radar, h_radar, R_std=[range_std, bearing_std])\n",
@@ -1656,8 +1662,8 @@
" xs.append(kf.x)\n",
"\n",
"xs = np.asarray(xs)\n",
"ukf_internal.plot_radar(xs, time, plot_x=False, plot_vel=True, plot_alt=False)\n",
"print('Velocity standard deviation {:.1f} m/s'.format(np.std(xs[10:, 1])))"
"plot_radar(xs, time, plot_x=False, plot_vel=True, plot_alt=False)\n",
"print('Velocity std {:.1f} m/s'.format(np.std(xs[10:, 1])))"
]
},
{
@@ -1672,7 +1678,7 @@
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x796b208>"
"<matplotlib.figure.Figure at 0x8bbfa20>"
]
},
"metadata": {},
@@ -1682,7 +1688,7 @@
"name": "stdout",
"output_type": "stream",
"text": [
"Velocity standard deviation 1.3 m/s\n"
"Velocity std 1.3 m/s\n"
]
}
],
@@ -1718,8 +1724,8 @@
" kf.update([r[0], r[1], vx, vz]) \n",
" xs.append(kf.x)\n",
"xs = np.asarray(xs)\n",
"ukf_internal.plot_radar(xs, time, plot_x=False, plot_vel=True, plot_alt=False)\n",
"print('Velocity standard deviation {:.1f} m/s'.format(np.std(xs[10:,1])))"
"plot_radar(xs, time, plot_x=False, plot_vel=True, plot_alt=False)\n",
"print('Velocity std {:.1f} m/s'.format(np.std(xs[10:,1])))"
]
},
{
@@ -1766,7 +1772,7 @@
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAtUAAAEWCAYAAACpJ2vsAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xl81NW9N/DP7zf7ZA+EhCyQQBLCHiQsgoAgouBWd1yq\ntbautdY+t/e2ap/b3mv1ufWxtbbVp9W64d5alyoiIiD7EvawhLCEJTtkm0lm/c3v+SMSCDMJWc5v\n1s/79cpLOTNzzoGZyXzn/L7neyRVVVUQEREREVG/yaGeABERERFRpGNQTUREREQ0QAyqiYiIiIgG\niEE1EREREdEAMagmIiIiIhogBtVERERERAPEoJqIiIiIaICEBtU1NTW4++67MWTIEFgsFowdOxZr\n1qwROQQRERERUdjRi+qoubkZM2fOxOzZs7F06VKkpaXhyJEjGDJkiKghiIiIiIjCkiTqRMXHH38c\na9euxdq1a0V0R0REREQUMYSlf3z88ceYOnUqbr31VqSnp2PSpEn485//LKp7IiIiIqKwJSyoPnLk\nCF588UXk5+dj+fLlePTRR/Hzn/+cgTURERERRT1h6R9GoxFTp07FunXrOtueeOIJfPTRR9i3b19n\nW0tLi4jhiIiIiIhCJikpqcufha1UZ2ZmYsyYMV3aioqKcPz4cVFDEBERERGFJWFB9cyZM3HgwIEu\nbQcPHkRubq6oIYiIiIiIwpKwknqPPfYYZsyYgaeffhq33HILduzYgT/+8Y945plnun3M+cvm4ay0\ntBQAUFJSEuKZEMDnI5zwuQgvfD7CC5+P8MHnIrxE6vPRUxqzsJXqkpISfPzxx/jggw8wfvx4/PKX\nv8RTTz2FBx98UNQQRERERERhSdhKNQAsWrQIixYtEtklEREREVHYE3pMORERERFRLGJQTUREREQ0\nQAyqiYiIiIgGiEE1EREREdEACd2oSETUG4riQ0ubC402B5xuLxTFB8WnQvH54POpUHwqdLIEnU6G\nXidDliToZAkJVhNSEsyItxghSVKo/xpERESdGFQTkVDtTg+qTrWisdWB060ONNkcaPz2p8nmRGOr\nA81tTqhq/8cw6GWkJliQkmBGaoLl2/+3YFBix38HJ1mRNTgBOh0vxhERUXAwqCaifmt3enCo1oaT\np9qw+vAGHKpqRNUpm+bjerw+1DW1oa6prdv7GPU65A1NRn5WaudPTloiA20iItIEg2oi6hWHy4PD\n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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x7a52fd0>"
"<matplotlib.figure.Figure at 0x7c937b8>"
]
},
"metadata": {},
@@ -1810,7 +1816,7 @@
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x795d278>"
"<matplotlib.figure.Figure at 0x7c93c18>"
]
},
"metadata": {},
@@ -1825,7 +1831,8 @@
"sb_pos = [400, 0]\n",
"\n",
"def bearing(sensor, target_pos):\n",
" return math.atan2(target_pos[1] - sensor[1], target_pos[0] - sensor[0])\n",
" return math.atan2(target_pos[1] - sensor[1], \n",
" target_pos[0] - sensor[0])\n",
"\n",
"def measurement(A_pos, B_pos, pos):\n",
" angle_a = bearing(A_pos, pos)\n",
@@ -1842,10 +1849,11 @@
" pos = (x[0], x[2])\n",
" return measurement(sa_pos, sb_pos, pos)\n",
"\n",
"def moving_target_filter(target_pos, std_noise, Q, dt=0.1, kappa=0.0):\n",
" points = MerweScaledSigmaPoints(n=4, alpha=.1, beta=2., kappa=kappa)\n",
" f = UKF(dim_x=4, dim_z=2, dt=dt, hx=hx_VOR, fx=fx_VOR, points=points)\n",
" f.x = np.array([target_pos[0], 1., target_pos[1], 1.])\n",
"def moving_target_filter(pos, std_noise, Q, dt=0.1, kappa=0.0):\n",
" points = SigmaPoints(n=4, alpha=.1, beta=2., kappa=kappa)\n",
" f = UKF(dim_x=4, dim_z=2, dt=dt, \n",
" hx=hx_VOR, fx=fx_VOR, points=points)\n",
" f.x = np.array([pos[0], 1., pos[1], 1.])\n",
"\n",
" q = Q_discrete_white_noise(2, dt, Q)\n",
" f.Q[0:2, 0:2] = q\n",
@@ -1907,7 +1915,7 @@
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAugAAAEWCAYAAAA0KmJkAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XlcVXX+x/HXvZdNFq+CXEBR3HDJEhXNJbNUtCxzyRqz\nqclyspnMNGtsnGnSNifLMbNsz3R0zLLx57SokWkqYSa45b7hAgoisu/ce35/WBdv7rHD+/mIgM/3\ne879nL6F7w7nnmMyDMNARERERESqBXNVNyAiIiIiIqUU0EVEREREqhEFdBERERGRakQBXURERESk\nGlFAFxERERGpRhTQRURERESqEQV0EREREZFq5JIBfe7cuURERGC1WrFarfTq1YsVK1Y4x0ePHo3Z\nbHb56NWrl8s+CgsLGT9+PIGBgfj6+jJ06FCSkpIq5mhERERERGq4Swb0pk2b8sorr7B161bi4+Pp\n168fw4YNY/v27QCYTCYGDBhAcnKy8+PcAA8wceJEli1bxpIlS9iwYQNZWVkMHjwYh8NRcUclIiIi\nIlJDma72SaIBAQG8/PLLPPzww4wePZq0tDS++OKLC87NzMzEZrMxf/58Ro0aBUBiYiJhYWGsXLmS\ngQMHlv0IRERERERqkSu+Bt1ut7NkyRIKCgro06cPcPYMekxMDEFBQbRt25axY8eSmprq3CY+Pp7i\n4mKXIB4aGkr79u2JjY0tx8MQEREREakd3C434aeffqJnz54UFhZSr149Pv30U9q2bQvArbfeyogR\nI2jRogUJCQk888wz9OvXj/j4eDw8PEhOTsZisRAQEOCyz6CgIFJSUirmiEREREREarDLBvR27dqx\nY8cOMjMzWbp0Kffccw9r166la9eujBw50jmvQ4cOREZGEhYWxldffcXw4cOvupnMzMyr3kZERERE\npLqwWq1l3sdlL3Fxd3enZcuWdO7cmenTp9OjRw/mzp17wbkhISGEhoZy8OBBAIKDg7Hb7aSlpbnM\nS05OJjg4uMzNi4iIiIjUNld9H3S73X7RO7CkpqaSlJRESEgIAJGRkbi7uxMdHe2ck5iYyN69e8+7\nHaOIiIiIiFzmEpe//vWvDB48mNDQULKzs1m8eDHr1q1j1apV5ObmMnXqVO666y6Cg4M5cuQIU6ZM\nISgoyHl5i9VqZcyYMUyePBmbzYa/vz+TJk0iIiKCqKioSzZWHr8ekKoTFxcHQNeuXau4EykrrWXt\noHWsPbSWtYfWsvYo78u0LxnQU1JSuO+++0hOTsZqtRIREcGqVasYMGAABQUF7Ny5k4ULF5KRkUFI\nSAj9+vXjs88+w8fHx7mP2bNn4+bmxsiRI8nPzycqKopFixZhMpnK9UBERERERGqDSwb0jz766KJj\nXl5erFq16rIv4OHhwZw5c5gzZ87VdyciIiIiUsdc9TXoIiIiIiJScRTQRURERESqEQV0EREREZFq\nRAFdRERERKQaUUAXEREREalGFNBFRERERKoRBXQRERERkWpEAV1EREREpBpRQBcRERERqUYU0EVE\nREREqhEFdBERERGRakQBXURERESkGlFAFxERERGpRhTQRURERESqEQV0EREREZFqRAFdRERERKQa\nUUAXEREREalGFNBFRERERKoRBXQRERERkWpEAV1EREREpBpRQBcRERERqUYU0EVEREREqhEFdBER\nERGRauSSAX3u3LlERERgtVqxWq306tWLFStWuMyZNm0aTZo0wdvbm759+7J7926X8cLCQsaPH09g\nYCC+vr4MHTqUpKSk8j8SEREREZFa4JIBvWnTprzyyits3bqV+Ph4+vXrx7Bhw9i+fTsAM2bMYNas\nWbz55pts3rwZm83GgAEDyMnJce5j4sSJLFu2jCVLlrBhwwaysrIYPHgwDoejYo9MRERERKQGumRA\nHzJkCLfccgstW7akdevWvPjii/j5+fHjjz9iGAazZ89mypQpDB8+nA4dOrBgwQKys7NZvHgxAJmZ\nmcybN4+ZM2fSv39/OnfuzMKFC9mxYwerV6+ulAMUEREREalJrvgadLvdzpIlSygoKKBPnz4kJCSQ\nkpLCwIEDnXO8vLzo06cPsbGxAMTHx1NcXOwyJzQ0lPbt2zvniIiIiIhIqcsG9J9++glfX1+8vLwY\nO3Ysn376KW3btiU5ORmAoKAgl/k2m805lpycjMViISAgwGVOUFAQKSkp5XUMIiIiIjVKTp7BiTSP\nqm5Dqim3y01o164dO3bsIDMzk6VLl3LPPfewdu3aS25jMpnK3FhcXFyZ9yFVT+tYe2gtawetY+2h\ntayZDANWb23I68tD8a/fhNf/FMePm3/EbNKN9Wqy8PDwct3fZf9tcHd3p2XLlnTu3Jnp06fTo0cP\n5s6dS0hICMB5Z8JTUlIIDg4GIDg4GLvdTlpamsuc5ORk5xwRERGRuuDQCS8efbMNf1/QklOZHuw9\n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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x79bd5c0>"
"<matplotlib.figure.Figure at 0x7c58eb8>"
]
},
"metadata": {},
@@ -1955,7 +1963,7 @@
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAtsAAAEWCAYAAAC37ltfAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xl4VfW97/H3WnveGUGIMROTDIZZQAZrrZ5ThXMutsrR\n06gVpYgeEYKIEsoVKKCEShVULM56HFK9eKu1derp1dZTiYrWAyoICjJJsCgk7Oy1x7XuH6tsjKCA\nEpLA5/U8PM/O3nuFtZ4Vkk++fH/fn+E4joOIiIiIiBxxZkufgIiIiIjIsUphW0RERESkmShsi4iI\niIg0E4VtEREREZFmorAtIiIiItJMFLZFRERERJqJwraIiIiISDM5aNieM2cOpmk2+VNUVNTkPevW\nreOCCy6gXbt2ZGVlMWjQINauXdtsJy0iIiIi0hZ4D+VNvXr14tVXX8187PF4Mo83btzI6aefzuWX\nX86sWbPIz89n7dq1ZGdnH/GTFRERERFpSw4pbHs8HgoKCg742syZMxk5ciS33npr5rnOnTsfkZMT\nEREREWnLDqlne8OGDRQXF9O1a1cqKirYuHEjALZt8/vf/55TTjmFkSNHUlBQwGmnncZTTz3VrCct\nIiIiItIWGI7jON/0hhdffJFIJEKvXr3YsWMH8+fPZ+3atbz//vskEgmKiooIh8PMnz+fs88+mz/9\n6U/ceOONPPvss/zLv/zL0boOEREREZFW56Bh+6ui0ShdunShqqqKn/zkJxQXF3PxxRfz2GOPZd5z\nySWXsGvXLp5//vnMc/X19UfurEVEREREWkBeXt5hvf+wR/+Fw2F69+7NRx99RIcOHfB6vZSXlzd5\nT69evdi8efPhfmoRERERkWPKYYftWCzGmjVrOOmkk/D5fAwZMmS/MX/r1q3TIkkREREROe4ddBrJ\ntGnTOO+88ygtLeWzzz5j3rx5WJbF2LFjAbjxxhu56KKLOOOMMzjrrLN45ZVXePLJJ3n22We/9nMe\nbvldjqyVK1cCMHjw4BY+k+Ob7kProXvROug+tB66F62D7kPr8V3aoQ8atrdt20ZFRQU7d+6kY8eO\nDB8+nNraWkpLSwH40Y9+xL333sstt9xCZWUlPXr04NFHH2XUqFHf+qRERERERI4FBw3bNTU1B/0k\nY8eOzVS6RURERETEddg92yIiIiIicmgUtkVEREREmonCtoiIiIhIM1HYFhERERFpJgrbIiIiIiLN\nRGFbRERERKSZKGyLiIiIiDQThW0RERERkWaisC0iIiIi0kwUtkVEREREmonCtoiIiIhIM1HYFhER\nERFpJgrbIiIiIiLNRGFbRERERKSZKGyLiIiIiDQThW0RERERkWaisC0iIiIi0kwUtkVEREREmonC\ntoiIiIhIM1HYFhERERFpJgrbIiIiIiLNxNvSJyCHxrZttm5NsHu3TW6uSVmZH9PU70oiIiIirZnS\nWhtg2zb/7//F+O1vbc49N8jw4X5eeimGbdstfWoiIiIi8g0UttuALVuSPP+8SXV1kLo6k7o6k3Hj\ngmzZkmzpUxMRERGRb6CwLSIiIiLSTNSz3QaUlvr4l3+J0alTjOrqIAAPPhijtDTYwmcmIiIiIt9E\nYbsNME2Ts88O0qNHgrPOiv1jgWRQCyRFREREWjmF7TbCNN2AXVbW0mciIiIiIodKYVsASKVSfPBB\nAoDycj9er740RERERL6rg/YhzJkzB9M0m/wpKio64HuvuuoqTNPkV7/61RE/UWk+qVSKP/whxsMP\nmzz5pMErr1hs3GhptKCIiIjId3RITb+9evWirq4u82f16tX7vWf58uW89dZbFBUVYRjGET9RaT5r\n18b55BOTF17wUlDgcNllWYwYEeAPf7DYvFnzvEVERES+rUPqFfB4PBQUFHzt65s2bWLKlCn86U9/\nYuTIkUfs5OTosCyH6uoQo0cnM7O8ASZMCFFRkeCHP4zRp4/Brl2Odq8UEREROQyHlJg2bNhAcXEx\nXbt2paKigo0bN2ZeS6VSVFRUcNNNN9GzZ89mO1FpPh06eL72tUjEYOpUP3/6k7t75ahRXl59Ncon\nn8RIpVJs2hRn06a4qt8iIiIiB3DQsD1s2DAeeeQRXnrpJe677z7q6uoYMWIEX3zxBQCzZ8+moKCA\nq666qtlPVppHp04BHnwwxmuveaiqilFYaFNYaDNtWpynn/YxalSKGTNCJBIwfnySSy4JM3y4n2ee\niTNypIdhw3y8/LICt4iIiMhXGY7jOIdzQDQapUuXLlRVVTFw4EAuvfRS3n33XTp06ABAly5duPba\na7n++uubHFdfX595vH79+iNw6nIkmaZJItEej8fAcWD37jwqK7PZvdvkjjuiTJ4cZvToJM8958u0\nmRQW2oweneS++wIUFtr89reb8fu/IJFoD4Df/4UCuIiIiLR53bt3zzzOy8s7rGMPe75bOBymd+/e\n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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x79b8438>"
"<matplotlib.figure.Figure at 0x7bf8c50>"
]
},
"metadata": {},
@@ -2006,9 +2014,9 @@
"outputs": [
{
"data": {
"image/png": "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 truncated
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x79e2908>"
"<matplotlib.figure.Figure at 0x7b8e320>"
]
},
"metadata": {},
@@ -2047,7 +2055,7 @@
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x8d33128>"
"<matplotlib.figure.Figure at 0x97119e8>"
]
},
"metadata": {},
@@ -2079,7 +2087,7 @@
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x7816d30>"
"<matplotlib.figure.Figure at 0x7ad12e8>"
]
},
"metadata": {},
@@ -2311,9 +2319,9 @@
"outputs": [],
"source": [
"def predict(self, sigma_points_fn):\n",
" \"\"\" Performs the predict step of the UKF. On return, self.xp and\n",
" self.Pp contain the predicted state (xp) and covariance (Pp). 'p'\n",
" stands for prediction.\n",
" \"\"\" Performs the predict step of the UKF. On return, \n",
" self.xp and self.Pp contain the predicted state (xp) \n",
" and covariance (Pp). 'p' stands for prediction.\n",
" \"\"\"\n",
"\n",
" # calculate sigma points for given mean and covariance\n",
@@ -2378,7 +2386,7 @@
" for i in range(self._num_sigmas):\n",
" sigmas_h[i] = self.hx(sigmas_f[i])\n",
"\n",
" # mean and covariance of prediction passed through inscented transform\n",
" # mean and covariance of prediction passed through UT\n",
" zp, Pz = unscented_transform(sigmas_h, self.W, self.W, self.R)\n",
"\n",
" # compute cross variance of the state and the measurements\n",
@@ -2446,7 +2454,7 @@
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x7a3bf28>"
"<matplotlib.figure.Figure at 0x8bbff28>"
]
},
"metadata": {},
@@ -2456,7 +2464,7 @@
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x8dfd630>"
"<matplotlib.figure.Figure at 0x8715e48>"
]
},
"metadata": {},
@@ -2466,7 +2474,7 @@
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x8dbe080>"
"<matplotlib.figure.Figure at 0x90ae198>"
]
},
"metadata": {},
@@ -2483,7 +2491,7 @@
"radar_pos = (0., 0.)\n",
"h_radar.radar_pos = radar_pos\n",
"\n",
"points = MerweScaledSigmaPoints(n=3, alpha=.1, beta=2., kappa=0.)\n",
"points = SigmaPoints(n=3, alpha=.1, beta=2., kappa=0.)\n",
"kf = UKF(3, 2, dt, fx=f_radar, hx=h_radar, points=points)\n",
"\n",
"kf.Q[0:2 ,0:2] = Q_discrete_white_noise(2, dt=dt, var=0.1)\n",
@@ -2493,7 +2501,7 @@
"kf.x = np.array([0., 90., 1100.])\n",
"kf.P = np.diag([300**2, 30**2, 150**2])\n",
"\n",
"radar = RadarStation(pos=(0, 0), range_std=range_std, bearing_std=bearing_std)\n",
"radar = RadarStation((0, 0), range_std, bearing_std)\n",
"ac = ACSim(ac_pos, (100, 0), 0.02)\n",
"\n",
"random.seed(200)\n",
@@ -2545,14 +2553,15 @@
"name": "stdout",
"output_type": "stream",
"text": [
"Difference in position in meters: [-0.7717 -0.1195 0.0426 -1.1727 -1.0871]\n"
"Difference in position in meters:\n",
"\t [-0.7717 -0.1195 0.0426 -1.1727 -1.0871]\n"
]
},
{
"data": {
"image/png": "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 truncated
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x78d8a20>"
"<matplotlib.figure.Figure at 0x7c62e10>"
]
},
"metadata": {},
@@ -2562,7 +2571,7 @@
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAv8AAAEtCAYAAACf5Q+bAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xd4FFUXwOHfbnrd9EoaLRBI6AFCDaF3FEGkd0GaiAJ+\nKqCAICgiTZGqqIBKCSX03knovZME0kglvex8f6wMLAkQIBXu+zx5kp2dndydbGbO3Dn3XIUkSRKC\nIAiCIAiCILzxlMXdAEEQBEEQBEEQioYI/gVBEARBEAThLSGCf0EQBEEQBEF4S4jgXxAEQRAEQRDe\nEiL4FwRBEARBEIS3hAj+BUEQBEEQBOEtIYJ/QRAEQRAEQXhLFFvwf+DAATp27EiZMmVQKpWsXLky\n1zqTJ0/G2dkZY2Nj/P39uXTpktbzixcvxt/fHwsLC5RKJaGhoUXVfEEQBEEQBEEodYot+E9JScHH\nx4e5c+diZGSEQqHQen7mzJn88MMPzJ8/n5MnT2JnZ0eLFi1ITk6W10lLS6N169ZMmTKlqJsvCIIg\nCIIgCKWOoiTM8GtmZsaCBQvo06cPAJIk4eTkxKhRo5g4cSIA6enp2NnZMXv2bIYMGaL1+uDgYHx9\nfblz5w6urq5F3n5BEARBEARBKA1KZM7/7du3iYqKomXLlvIyQ0NDGjduzJEjR4qxZYIgCIIgCIJQ\nepXI4D8yMhIAe3t7reV2dnbyc4IgCIIgCIIgvBzd4m7Ay3p6bEB+JCYmFkJLBEEQBEEQBKFoqFSq\nAtlOiez5d3BwACAqKkpreVRUlPycIAiCIAiCIAgvp0QG/x4eHjg4OLBjxw55WXp6OocOHcLPz68Y\nWyYIgiAIgiAIpVexpf2kpKRw/fp1ANRqNXfv3uXMmTNYW1vj4uLCmDFjmD59OpUqVaJChQpMnToV\nMzMzPvjgA3kbkZGRREZGcu3aNQAuXrxIXFwcbm5uWFpa5vl7C+qWiaCpsgRQu3btYm7Jm0fs28Ih\n9mvhEPu1cIj9WjjEfi0cYr8WjsJIXS+2nv+TJ09Ss2ZNatasSXp6OpMmTaJmzZpMmjQJgM8++4yP\nP/6Yjz76iDp16hAVFcWOHTswMTGRt/Hzzz9Ts2ZNevXqhUKhoF27dtSqVYtNmzYV19sSBEEQBEEQ\nhBKr2Hr+mzZtilqtfu46kyZNki8G8jJ58mQmT55cwC0TBEEQBEEQhDdTicz5FwRBEARBEASh4Ing\nXxAEQRAEQRDeEiL4FwRBEARBEIS3hAj+BUEQBEEQBOEtIYJ/QRAEQRAEQXhLiOBfEARBEARBEN4S\nIvgXBEEQBEEQhLeECP4FQRAEANSSmqzsrOJuhiAIglCIim2SL0EQBKHkiIq/x49rJ6Cj1GVAu/GU\ndapU3E0SBEEQCoHo+RcEQRDYFbyOlPSHJKXGs3TLDBKSY4u7SYIgCEIhEMG/IAjCWy4nJ5vzt07I\njx+mJrB0y0yRAiQIgvAGEsG/IAjCW+7GvYukpj/UWnY38hr/7v+1mFokCIIgFBYR/AuCILzlzt44\nKv9srbKXfz5yYQdHLuwojiYJgiAIhUQE/4IgCG8xtaTm3M3j8uMPmo+klmdj+fHf+xZzJ/JacTRN\nEARBKAQi+BcEQXiL3b5/haTUeADMjFSUc6pMj4CPcLZxBzTjAZZumUlSSkIxtlIQBEEoKCL4FwRB\neIs9mfLjXa4uSqUO+noGDGw/AWMDUwASk2NZvvU7cnKyi6uZgiAIQgERwb8gCMJbSpIkzt48Jj+u\nVr6+/LONyoG+bT5BodCcJm7ev8SGQyuKuomCIAhCARPBvyAIwlsqLPom8Q9jADAyMKFiGW+t5yu7\n1aB9/Z7y4/1nNnPi8t4ibaMgCIJQsETwLwiC8JY682TKT1lfdHRyT/revPY7WncE1uxeRFj0zSJp\nnyAIglDwRPAvCILwFpIkSSvf/8kA/0kKhYKeLUbhYOUCQFZOJks3zyA5LalI2ikIgiAULBH8C4Ig\nvIUiYkOJSbgPgL6eIZVcqz9zXUN9Iwa1n4ChvjEAcQ9jWBE0mxx1TpG0tbSJS4rm772LtS6uBEEQ\nSgoR/AuCILyFngxMq7jXQk9X/7nr21k606fVx/Lja2Hn2Hzk90JrX2mVnZPFwg1TOHhuK0u3zOR2\nxJXibpIgCIIWEfwLglCqXb57mqBjq+WBq0L+PJ3yc/nyZWrXrk3NmjXZunVrnq+pWrYObeq+Lz/e\nHbKBU9cOFXpbS5ODZ4OIjr8nP954aCWSJBVji0qvHHUOO07+w/x1X3Et7HxxN0cQ3hgi+BcEoVRS\nS2o2HlrJog1TCDq+mtmrP+VezJ3iblapEB1/n/uxdwHQ09HH3tSNdu3aERISwunTp2nXrh0DBw4k\nKSl3Xn+rut2o6lFHfvznznnEp0QXWdtLsoepCWw7vlpr2a37l7lw+2Qxtaj0SkqJZ8H6SWw+sopr\nYedYuvlbEpJji7tZQiETF8pFQwT/giCUOhlZ6Szb8h27Q9bLyx6mJvDTv//jdsTVYmxZ6fBkbf/y\nTlXp8X5Pbt++rbXOsmXL8Pb2Zvfu3VrLlQolvVuNwdbCCYDM7Az2XfmbjOy0wm94Cbfl6J+kZabm\nWh54+DcxPuIlXA+/wHd/juVG+AV5WVpmKmt2LxLB4RsqIiKCz7+YgLOrI9ExojOhsIngXyhWkiSR\nmZVR3M0QSpHE5Dh++ud/nHsigFWgACAtI4UF6ydxLexccTWvVHiU8iNJEkF/HOPgwYOAprJPQECA\nvF5oaCjNmzfno48+Ijk5WV5uZGDCoPYT0NczBOBhejyHrm1ELamL8F2ULOExtzh6Yaf8uGeLkRjo\nGwEQFRfO8Ut7iqtppYZaUrMzeB3z131FUmo88Ph/G+DinWBOXtlXTK0TCpokSezbt49u3brh6urK\nt9NmEhEexYTJo4u7aW88EfwLRUKSJBKT47gaepZ9pzexevcCflw7kQm/9GLcwu78vOFr0TMmvFBY\n9C1mr/lUq8580xod+eT9WZgYmQOQmZXOzxu/4fytE8XVzBItLimG0KjrAJzdf5tN64Lk52bMmMGu\nXbtYs2YN1tbW8vKFCxdSrVo1+SIBwNHalV4tRsmP78XfIOiYdsrL20KSJNbtX4qEple6sltNfCs3\no3mtLvI6Qcf+Eh0dz5GansySTd+y6fBvSP9dRJoYmTO8y2QaV2srr/fv/iUkpsQVVzOFApCYmMi8\nefOoUqUK/v7+/P3332RnZ8vPb9u6g9jEqGJs4Zsv94wugvAaJEkiKSWeiNhQIuPCiIwLJTI2nIi4\nUNIyUp75ukt3T7H31Eaa136nCFsrlCbnb51g5bYfyMxKBzTpJ12bDqGhT2sARnedxoL1k0lMjiU7\nJ4ulm2fQq+VoaldqUpzNLnHO3tT0+t++GMmhjY8HUfbt25dPP/0UgG7dutGkSROGDh3Kxo0bAbh1\n6xZNmjRhzJgxTJs2DSMjI6pX8KN57XfZFfwvANtPrMXFriw+5eoV8bsqXmduHOXGvYsAKJU6dGnc\nH4VCQdMaHTl4LoiklHgSU+LYdzqQlr7vFXNrS57QqBss2/odcUmP0z08HCvRr804LM1scHeoyMXb\nIcQmRZGWkcKaPT8zuP1EFArFc7YqlDSnT59m0aJF/PHHH6Sm5k6PcyprTW3/ykz//CesVfbF0MK3\nhwj+hVciSRKpGQ9JSIth3+kIIuNCiYgNIzIu7LlB/vMEHVuNT7l62Fk6FXBr3w5Z2ZnEP3yArYXj\nG3VSlCSJvacD2XhwhdyzaqhvTP+2n1LZrYa8noOVC2Pem86CdZN4kBiJWlLz+/YfychKp4F3q+Jq\nfolz7sYxYiOS2P5bCI/Spxs0aMAvv/yi9bmxt7dn/fr1rFq1ipEjR5KYmIgkScyZM4etW7eycuVK\n6tatS/v6H3DxxmkiEm4B8PuOuYzrXgZ7qzLF8faKXGZ2BhsPLpcfN/ZpK0+IZqBnSJu677NmzyIA\ndoWsx8+7Fab/3aV620mSxJELO/hn/6/k5Dzu+fWv0ZGODfrIM04b6BvRo/kI5q/7EoALt04QcvWA\nuLAvBdLT0/n7779ZuHAhx44dy/W8noEOleq4UNXPA2/vqgzp8D8R+BcBEfwL+ZaWkcKu4HXcuHfx\nlYJ8Q31jHKxccLB2wcHKBUdrV+wtnVmyeQbhMbfIyslk9Z6FjHznmzcqeC0KUXHhLFw/mfjkB5R1\nqkz3ZsNwtHYt7ma9tpycbP7et5gjF3bIy6zN7RnS8QscrV1yrW9tbs/o96azcP1kImJDkZBYs2cR\naRkp4q4SmgoqF66dYfOvx8nK0ARbbm5urFu3DgMDg1zrKxQKevfujb+/P4MGDWL79u0AXL16FT8/\nP8aPH8+kSZNoXLELW84uJTkjgYzMNJZsnsHY7t9hZGBcpO+vOOw9FUjcf2VmTYzMaV23u9bz9ao0\nZ9/pTUTFh5Oemcr2E2t5t8mg4mhqiZKRlc6aPYsIvrJfXmaob0zPFiPznG26oos3Db1bc+j8NgD+\n2b+Eii4+mJtYFlmbhfy7efMmv/zyC8uWLSM2NneVJgcXayrVc8azVhn0DfWo4lGbPq3GvhXHjJJA\nIb0FQ+cTExPln1UqVTG2pPRKSoln0YYp3Htw54XrPhnkO1q5ysG+hal1nkF9WPQtvl89Th4s+H7A\ncPyqtizot1CqBAcHA1C7du0XrhsVf495/3whD5ADTepBs5qdae3bDX293EFdaZCakczyLbO4GnZW\nXubhWIlB7SdiZvz8/+OUtCQWbfxGzm0HaFmnK/Z6nigUinzt1zfRnuBAenXvT8QtTc60qakpR44c\nwdvb+4WvlSSJJUuWMHbsWK3Bv97e3owfPx7bMhZsv7CSrOxMAHzK1WVAu/EoFa83tLine truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x9500128>"
"<matplotlib.figure.Figure at 0x97ab1d0>"
]
},
"metadata": {},
@@ -2572,7 +2581,7 @@
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x9223080>"
"<matplotlib.figure.Figure at 0x9748e48>"
]
},
"metadata": {},
@@ -2628,7 +2637,8 @@
}
],
"source": [
"ukf_internal.print_sigmas(mean=0, cov=3, alpha=1)"
"from ukf_internal import print_sigmas\n",
"print_sigmas(mean=0, cov=3, alpha=1)"
]
},
{
@@ -2675,7 +2685,7 @@
}
],
"source": [
"ukf_internal.print_sigmas(mean=0, cov=3, alpha=200)"
"print_sigmas(mean=0, cov=3, alpha=200)"
]
},
{
@@ -2718,7 +2728,7 @@
}
],
"source": [
"ukf_internal.print_sigmas(mean=0, cov=13, alpha=.1, kappa=0)"
"print_sigmas(mean=0, cov=13, alpha=.1, kappa=0)"
]
},
{
@@ -2748,7 +2758,7 @@
}
],
"source": [
"ukf_internal.print_sigmas(mean=0, cov=3, alpha=.1)"
"print_sigmas(mean=0, cov=3, alpha=.1)"
]
},
{
@@ -2771,7 +2781,7 @@
}
],
"source": [
"ukf_internal.print_sigmas(mean=0, cov=3, alpha=1)"
"print_sigmas(mean=0, cov=3, alpha=1)"
]
},
{
@@ -2794,7 +2804,7 @@
}
],
"source": [
"ukf_internal.print_sigmas(mean=0, cov=3, alpha=.1, beta=2, kappa=1)"
"print_sigmas(mean=0, cov=3, alpha=.1, beta=2, kappa=1)"
]
},
{
@@ -2831,7 +2841,7 @@
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x94a4048>"
"<matplotlib.figure.Figure at 0x8bdd9b0>"
]
},
"metadata": {},
@@ -2935,7 +2945,8 @@
"\n",
" sinh, sinhb = sin(hdg), sin(hdg + beta)\n",
" cosh, coshb = cos(hdg), cos(hdg + beta)\n",
" return x + np.array([-r*sinh + r*sinhb, r*cosh - r*coshb, beta])\n",
" return x + np.array([-r*sinh + r*sinhb, \n",
" r*cosh - r*coshb, beta])\n",
" else:\n",
" # moving in straight line\n",
" return x + np.array([dist*cos(hdg), dist*sin(hdg), 0])"
@@ -3099,9 +3110,8 @@
"outputs": [],
"source": [
"def Hx(x, landmarks):\n",
" \"\"\" takes a state variable and returns the measurement that would\n",
" correspond to that state.\n",
" \"\"\"\n",
" \"\"\" takes a state variable and returns the measurement\n",
" that would correspond to that state. \"\"\"\n",
" hx = []\n",
" for lmark in landmarks:\n",
" px, py = lmark\n",
@@ -3165,8 +3175,8 @@
"With that done we are now ready to implement the UKF. You've seen this sort of code many times, so I will not describe it in detail. There is one new thing here that is important to discuss. When we construct the sigma points and filter we have to provide it the functions that we have written to compute the residuals and means.\n",
"\n",
"```python\n",
"points = MerweScaledSigmaPoints(n=3, alpha=.00001, beta=2, kappa=0, \n",
" subtract=residual_x)\n",
"points = SigmaPoints(n=3, alpha=.00001, beta=2, kappa=0, \n",
" subtract=residual_x)\n",
"\n",
"ukf = UKF(dim_x=3, dim_z=2, fx=fx, hx=Hx, dt=dt, points=points,\n",
" x_mean_fn=state_mean, z_mean_fn=z_mean,\n",
@@ -3189,49 +3199,58 @@
"dt = 1.0\n",
"wheelbase = 0.5\n",
"\n",
"def run_localization(cmds, landmarks, sigma_vel, sigma_steer, sigma_range, \n",
" sigma_bearing, ellipse_step=1, step=10):\n",
"def run_localization(\n",
" cmds, landmarks, sigma_vel, sigma_steer, sigma_range, \n",
" sigma_bearing, ellipse_step=1, step=10):\n",
"\n",
" points = MerweScaledSigmaPoints(n=3, alpha=.00001, beta=2, kappa=0, \n",
" points = SigmaPoints(n=3, alpha=.00001, beta=2, kappa=0, \n",
" subtract=residual_x)\n",
" ukf = UKF(dim_x=3, dim_z=2*len(landmarks), fx=fx, hx=Hx, dt=dt,\n",
" points=points, x_mean_fn=state_mean, z_mean_fn=z_mean,\n",
" residual_x=residual_x, residual_z=residual_h)\n",
" ukf = UKF(dim_x=3, dim_z=2*len(landmarks), fx=fx, hx=Hx,\n",
" dt=dt, points=points, x_mean_fn=state_mean, \n",
" z_mean_fn=z_mean, residual_x=residual_x, \n",
" residual_z=residual_h)\n",
"\n",
" ukf.x = np.array([2, 6, .3])\n",
" ukf.P = np.diag([.1, .1, .05])\n",
" ukf.R = np.diag([sigma_range**2, sigma_bearing**2]*len(landmarks))\n",
" ukf.R = np.diag([sigma_range**2, \n",
" sigma_bearing**2]*len(landmarks))\n",
" ukf.Q = np.eye(3)*0.0001\n",
" \n",
" sim_pos = ukf.x.copy()\n",
" \n",
" # plot landmarks\n",
" if len(landmarks) > 0:\n",
" plt.scatter(landmarks[:, 0], landmarks[:, 1], marker='s', s=60)\n",
" plt.scatter(landmarks[:, 0], landmarks[:, 1], \n",
" marker='s', s=60)\n",
" \n",
" track = []\n",
" for i, u in enumerate(cmds): \n",
" sim_pos = move(sim_pos, u, dt/step, wheelbase) # simulate robot\n",
" sim_pos = move(sim_pos, u, dt/step, wheelbase) \n",
" track.append(sim_pos)\n",
"\n",
" if i % step == 0:\n",
" ukf.predict(fx_args=u)\n",
"\n",
" if i % ellipse_step == 0:\n",
" plot_covariance_ellipse((ukf.x[0], ukf.x[1]), ukf.P[0:2, 0:2], std=6,\n",
" facecolor='b', alpha=0.08)\n",
" plot_covariance_ellipse(\n",
" (ukf.x[0], ukf.x[1]), ukf.P[0:2, 0:2], std=6,\n",
" facecolor='b', alpha=0.08)\n",
"\n",
" x, y = sim_pos[0], sim_pos[1]\n",
" z = []\n",
" for lmark in landmarks:\n",
" d = sqrt((lmark[0] - x)**2 + (lmark[1] - y)**2) + randn()*sigma_range\n",
" dx, dy = lmark[0] - x, lmark[1] - y\n",
" d = sqrt(dx**2 + dy**2) + randn()*sigma_range\n",
" bearing = atan2(lmark[1] - y, lmark[0] - x)\n",
" a = normalize_angle(bearing - sim_pos[2] + randn()*sigma_bearing)\n",
" a = (normalize_angle(bearing - sim_pos[2] + \n",
" randn()*sigma_bearing))\n",
" z.extend([d, a]) \n",
" ukf.update(z, hx_args=(landmarks,))\n",
"\n",
" if i % ellipse_step == 0:\n",
" plot_covariance_ellipse((ukf.x[0], ukf.x[1]), ukf.P[0:2, 0:2], std=6,\n",
" facecolor='g', alpha=0.4)\n",
" plot_covariance_ellipse(\n",
" (ukf.x[0], ukf.x[1]), ukf.P[0:2, 0:2], std=6,\n",
" facecolor='g', alpha=0.4)\n",
" track = np.array(track)\n",
" plt.plot(track[:, 0], track[:,1], color='k', lw=2)\n",
" plt.axis('equal')\n",
@@ -3252,7 +3271,7 @@
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAtIAAAEjCAYAAAAfTOaLAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xd4HNXZ8OHfzPYmrXpvluVeQDYYsHFMjHGjhhJabCAQ\nQhISEpyQfAk4EN6QQHjzEkgoMQRDaA6hGWKqG3HBNi7Ikovc1HtZSavtO98fQoL1SrIRkgs893Xt\nZZhT5sxqtfvs0ZnnKJqmaQghhBBCCCG+EPV4D0AIIYQQQoiTkQTSQgghhBBCDIAE0kIIIYQQQgyA\nBNJCCCGEEEIMgATSQgghhBBCDIAE0kIIIYQQQgyABNJCCPEFXHfddaiqytq1a4/3UKIcOnQIVVW5\n/vrrj/dQ+pWbm0teXl7EsaeffhpVVVm6dOlxGlU0VVU555xzjvcwhBAnMAmkhRARVq9efVQBhKqq\nqGrkW8iR2r777rs4HA5MJhMvvPBCVF99PR566KGjGvvh7XQ6HXFxcUydOpVHHnmEYDB4VP0cb7/9\n7W+/VFCpKMogj2jwHT5GRVF6HseKqqpRAf3hTobnUghx/OiP9wCEECemowkg+qrT2/F//vOf3HDD\nDVitVlasWME3v/nNqDaLFy/utb8zzzzzKEYc3U8wGOTQoUO88sorbNiwgffee4/XX3/9qPs63r5O\nQdwll1zCmWeeSWpq6jE9b3/P8e7du7FarcdwNEKIk40E0kKIIfenP/2JX/ziF6SmpvKf//yHU045\npdd6d91116Cc7/B+7rzzTgoLC1m+fDlr1qzhG9/4xqCcZ6h9nTaejYmJISYm5ngPI8KIESOO9xCE\nECc4WdohhBgymqbxs5/9jF/84heMGDGCDRs29BlED6WCggKmT58OwJYtW6LKV69ezfz580lISMBs\nNpOfn89Pf/pTGhsb++xT0zT+8Y9/cMopp2C1WklNTeWmm26ivr6+1/oHDhzg+uuvJzMzE5PJRGpq\nKt/+9rcpKiqKqDdjxgzuueceAK6//vqIpSrl5eUDfQqoq6vjxz/+McOGDcNsNpOYmMgFF1zAhx9+\n2Geb9957jwsvvJCUlBTMZjNZWVmcf/75vPnmmz11AoEAjzzyCPPmzSMnJwez2Ux8fDznnnsub731\n1lGPr7c10t3r0ft7DGQc3UuQ4LN15d2Pz68v72uZUnt7O7/5zW8YNWoUFouFuLg4Zs6cyRtvvBFV\nt7v/c845h6amJr73ve+RlpaG2Wxm3LhxPP3000f9HAkhTjwyIy2EGBLBYJCFCxfywgsvcPrpp/PW\nW2+RkJBw3MbTPbtrMpkiji9ZsoTvfe972Gw2Lr/8ctLS0li3bh0PPfQQr776KuvWrSMjIyOqvwcf\nfJAPPviAK6+8kvnz57NmzRqefPJJVq1axaZNm4iPj++pu3XrVmbOnElbWxvnn38+48ePZ9++fbzy\nyissX76c119/nVmzZgFdwbOiKKxZs4aLL7444otHbGzsgK69rKyMadOmUVVVxYwZM7jqqquorq5m\n2bJlrFixgieffJKFCxdGtFm8eDG/+93vsNvtXHzxxWRnZ1NTU8PGjRt56qmnOP/88wFoamritttu\nY+rUqcyePZukpCSqq6tZvnw5F1xwAY899hjf+973jnqsn19qcckllzBs2LCoOvv37+fZZ5+NWHbx\nRcaRl5fH4sWLufvuu4mNjeWnP/1pTz+Hf9E7fOmHy+Vi2rRpFBcXU1hYyG233UZLSwv/+te/uPji\ni7n77ru58847o8bc2trK1KlTMZlMXHHFFfh8PpYtW8YNN9yAqqosWLDgqJ8jIcQJRBNCiM9ZtWqV\npiiKds455/RbT1EUTVXVXttOnjxZmzVrlqYoijZ//nyts7PziH0piqL99re/1RYvXhzxeOyxx456\n7L2NSdM0raSkRLNarZqqqtonn3zSc7y8vFwzGo2aw+HQSkpKItrceeedmqIo2vnnnx9xfOHChZqi\nKJrJZNK2b98eUXbrrbdqiqJoN998c8+xcDisjRkzRlMURXvmmWci6r///vuaqqpacnJyxHO0ePFi\nTVEUbenSpUd97ZqmaQcPHtQURdGuv/76iONz5szRFEXR7rnnnojjRUVFmtVq1cxms1ZZWdlz/J13\n3tEURdHy8vIijnf7/DGfz6dVVVVF1XG5XNq4ceO0+Ph4zePxRJTl5ORoeXl5Ecf+8Y9/HNU1NzY2\naiNGjND0er32xhtvfKlxdF9jX3r7Pfj+97+vKYqiffe73404XllZqaWlpWmqqmqbN2/uOd79M1EU\nRbvpppu0cDjcU1ZSUqLp9XptzJgx/V6zEOLEJYG0ECLCYATS3Y8RI0ZowWDwiOf8fJvDH6eeeupR\nj/3wgPzXv/61ds0112gWi0XT6XTa7373u4j69957r6YoinbHHXdE9eX1erX09HRNURSturq653h3\n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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x8d4cf98>"
"<matplotlib.figure.Figure at 0x7ac1cf8>"
]
},
"metadata": {},
@@ -3269,8 +3288,9 @@
"source": [
"landmarks = np.array([[5, 10], [10, 5], [15, 15]])\n",
"cmds = [np.array([1.1, .01])] * 200\n",
"ukf = run_localization(cmds, landmarks, sigma_vel=0.1, sigma_steer=np.radians(1),\n",
" sigma_range=0.3, sigma_bearing=0.1)\n",
"ukf = run_localization(\n",
" cmds, landmarks, sigma_vel=0.1, sigma_steer=np.radians(1),\n",
" sigma_range=0.3, sigma_bearing=0.1)\n",
"print(ukf.P.diagonal())"
]
},
@@ -3294,7 +3314,7 @@
"cell_type": "code",
"execution_count": 52,
"metadata": {
"collapsed": true
"collapsed": false
},
"outputs": [],
"source": [
@@ -3305,23 +3325,27 @@
"sigma_range=0.3\n",
"sigma_bearing=0.1\n",
"\n",
"def turn(v, t0, t1, steps):\n",
" return [[v, a] for a in np.linspace(\n",
" np.radians(t0), np.radians(t1), steps)] \n",
" \n",
"# accelerate from a stop\n",
"cmds = [[v, .0] for v in np.linspace(0.001, 1.1, 30)]\n",
"cmds.extend([cmds[-1]]*50)\n",
"\n",
"# turn left\n",
"v = cmds[-1][0]\n",
"cmds.extend([[v, a] for a in np.linspace(0, np.radians(2), 15)])\n",
"cmds.extend(turn(v, 0, 2, 15))\n",
"cmds.extend([cmds[-1]]*100)\n",
"\n",
"#turn right\n",
"cmds.extend([[v, a] for a in np.linspace(np.radians(2), -np.radians(2), 15)])\n",
"cmds.extend(turn(v, 2, -2, 15))\n",
"cmds.extend([cmds[-1]]*200)\n",
"\n",
"cmds.extend([[v, a] for a in np.linspace(-np.radians(2), 0, 15)])\n",
"cmds.extend(turn(v, -2, 0, 15))\n",
"cmds.extend([cmds[-1]]*150)\n",
"\n",
"cmds.extend([[v, a] for a in np.linspace(0, np.radians(1), 25)])\n",
"cmds.extend(turn(v, 0, 1, 25))\n",
"cmds.extend([cmds[-1]]*100)"
]
},
@@ -3337,7 +3361,7 @@
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x8d4cb70>"
"<matplotlib.figure.Figure at 0x7c9c048>"
]
},
"metadata": {},
@@ -3352,9 +3376,10 @@
}
],
"source": [
"ukf = run_localization(cmds, landmarks, sigma_vel=0.1, sigma_steer=np.radians(1),\n",
" sigma_range=0.3, sigma_bearing=0.1, step=1,\n",
" ellipse_step=20)\n",
"ukf = run_localization(\n",
" cmds, landmarks, sigma_vel=0.1, sigma_steer=np.radians(1),\n",
" sigma_range=0.3, sigma_bearing=0.1, step=1,\n",
" ellipse_step=20)\n",
"print('final covariance', ukf.P.diagonal())"
]
},
@@ -3376,7 +3401,7 @@
"data": {
"image/png": "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\n6uvr23X+YcOGoaoqGzZsaHP8lJQU3N3dmyWwANu3b+9o2I2+/vpr5s2bR1RUFN988w16vf6SxfHL\nTzHao0ePHtja2hIfH9/i342WrqUQ4uonybQQogmDwcCdd95JfX09jz/+eLP1zqWlpY0J6ezZs9sc\nz9XVlS1btjBy5Eg2btzIlClTqK6u7pTYWzN//nw8PDxYunQpycnJANx9993o9Xree++9xjXO5yxa\ntIicnBwmT57c4sf6y5Yt4+jRo02OPffcc9TU1HDXXXc1JsTDhw+nR48eHDhwgM8//7xJ+61bt7Jm\nzRo8PT256aabGo+fKyGYkZFx0fP29/dn4sSJnDlzptnyiOPHj7NkyRKMRiN333134/G5c+cC8OST\nT5KVldVszOzs7MY/h4aGUlxc3Kxe9ocffsiPP/54UbHv37+fO++8Ey8vLzZs2ICrq+t523YkDnd3\ndwoLC9v9C56NjQ333nsv1dXVPP30003ey8nJYdGiRWg0mnb9vRBCXD1kmYcQopk33niDQ4cO8emn\nn7J3714mTJiAs7MzOTk5rFu3jpKSEu65554m649b4+joyA8//MBNN93E5s2bmTBhAhs2bPhNd7xz\ncHDgr3/9K0888QQLFizgiy++ICgoiLfffpuHH36YgQMHMmPGDLy9vdmzZw87duwgMDCQJUuWtDje\npEmTGDFiBLfddhve3t7s2LGDvXv30q1bN1555ZUmbT/55BPGjRvHvffey6pVq+jVqxepqamsXr0a\no9HIp59+itFobGwfGxuLRqPhzTffpLi4uHEd9qOPPtqha/b+++8zYsQIFixYwNatWxkyZAi5ubms\nWrWKuro6/vOf/zSppT1+/HgWLFjASy+9RHR0NDfddBNBQUEUFBSwb98+wsPDWbt2LQDz5s3jhx9+\nYOTIkcyYMQMnJycOHTrE7t27ueWWW/jqq68uON5z7rvvPkwmE+PHj29xc5Nfbh3fkTgmTJjA8uXL\nmTRpEr/73e8wGAz07du3sYZ2S/7xj3+wc+dOPvjgA44cOUJsbCxlZWV8+eWXlJWV8dxzzzFo0KAO\nz1kIcQVqrdTH4sWL1T59+qhOTk6qk5OTOmzYMPW7775r0mbhwoWqn5+famtrq44ePVo9fvx4Z1Ue\nEUL8hmpqatTXXntNHTJkiOrs7KzqdDrVy8tLnTRpkrpy5coW+/z000+tltUzm83qjLine truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x7821748>"
"<matplotlib.figure.Figure at 0x7b07cf8>"
]
},
"metadata": {},
@@ -3391,9 +3416,10 @@
}
],
"source": [
"ukf = run_localization(cmds, landmarks[0:2], sigma_vel=0.1, sigma_steer=np.radians(1),\n",
" sigma_range=0.3, sigma_bearing=0.1, step=1,\n",
" ellipse_step=20)\n",
"ukf = run_localization(\n",
" cmds, landmarks[0:2], sigma_vel=0.1, sigma_steer=np.radians(1),\n",
" sigma_range=0.3, sigma_bearing=0.1, step=1,\n",
" ellipse_step=20)\n",
"print('final covariance', ukf.P.diagonal())"
]
},
+105 -77
View File
@@ -307,7 +307,7 @@
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x6b0ad68>"
"<matplotlib.figure.Figure at 0x6dda518>"
]
},
"metadata": {},
@@ -355,7 +355,7 @@
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x6b921d0>"
"<matplotlib.figure.Figure at 0x6dbefd0>"
]
},
"metadata": {},
@@ -433,7 +433,7 @@
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x4330160>"
"<matplotlib.figure.Figure at 0x434c6d8>"
]
},
"metadata": {},
@@ -671,8 +671,8 @@
"outputs": [],
"source": [
"def hx(x):\n",
" \"\"\" compute measurement for slant range that would correspond \n",
" to state x.\n",
" \"\"\" compute measurement for slant range that\n",
" would correspond to state x.\n",
" \"\"\"\n",
" \n",
" return (x[0]**2 + x[2]**2) ** 0.5"
@@ -697,8 +697,8 @@
"import math\n",
"\n",
"class RadarSim(object):\n",
" \"\"\" Simulates the radar signal returns from an object flying \n",
" at a constant altityude and velocity in 1D. \n",
" \"\"\" Simulates the radar signal returns from an object\n",
" flying at a constant altityude and velocity in 1D. \n",
" \"\"\"\n",
" \n",
" def __init__(self, dt, pos, vel, alt):\n",
@@ -708,8 +708,8 @@
" self.dt = dt\n",
" \n",
" def get_range(self):\n",
" \"\"\" Returns slant range to the object. Call once for each\n",
" new measurement at dt time from last call.\n",
" \"\"\" Returns slant range to the object. Call once \n",
" for each new measurement at dt time from last call.\n",
" \"\"\"\n",
" \n",
" # add some process noise to the system\n",
@@ -777,9 +777,9 @@
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAwYAAAEtCAYAAACyMncIAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xlc1NX+x/HXDPsmIrK44i64F67kCormWmaa3XBJr5pL\nda1reX+WptbNm5V1bTFvLldN0yy1vCqZmYq44b7gkkuiAqKIioAs398fk5MTYJiiIO/n48EjZr6f\n850zj8eE3/ec7znHZBiGgYiIiIiIlGjm+90BERERERG5/xQMREREREREwUBERERERBQMREREREQE\nBQMREREREUHBQEREREREUDAQERERERGKSDD45z//SZMmTfD09MTX15fu3btz4MCBXHUTJkygQoUK\nuLq60q5dOw4ePGhzPCMjg1GjRuHj44O7uzs9evTgzJkzNjXJyclERERQunRpSpcuTb9+/UhJSSnU\n9yciIiIiUtQViWDw008/MXLkSKKjo1m3bh329va0b9+e5ORka82UKVN47733mD59Otu3b8fX15cO\nHTpw9epVa82LL77I119/zaJFi9i4cSOXL1+ma9eu5OTkWGuefvppdu/ezZo1a1i9ejU7d+4kIiLi\nnr5fEREREZGixlQUdz5OTU3F09OT5cuX06VLFwzDoHz58jz//POMHTsWgPT0dHx9fZk6dSpDhgwh\nJSUFX19f5syZQ9++fQGIi4sjICCAVatWER4ezqFDh6hbty5RUVG0aNECgKioKFq1akVsbCy1atW6\nb+9ZREREROR+KhIjBr93+fJlcnJy8PLyAuDEiRMkJCQQHh5urXF2dqZ169Zs3rwZgJiYGDIzM21q\nKlasSFBQENHR0QBER0fj7u5uDQUAISEhuLm5WWtEREREREqiIhkMXnjhBR566CHrBXx8fDwAfn5+\nNnW+vr7WY/Hx8djZ2eHt7W1T4+fnZ1Pj4+Njc9xkMtmcR0RERESkJLK/3x34vdGjR7N582Y2bdqE\nyWT6w/o/qvkzd0ppMrKIiIiIFGeenp633aZIjRj87W9/48svv2TdunVUqVLF+ry/vz8ACQkJNvUJ\nCQnWY/7+/mRnZ3PhwoVb1pw/f97muGEYJCYmWmtEREREREqiIhMMXnjhBWso+P0k4KpVq+Lv709k\nZKT1ufT0dDZt2kRISAgAwcHBODg42NTExcURGxtrrWnRogVXr161mU8QHR1NamqqtUZEREREpCQq\n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 truncated
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAwYAAAEtCAYAAACyMncIAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XlYVdX+x/H3OUwyCCgyKKigYuA8IzglCphjZWnOll41\np8xudu12y7LsWt6yfpaVt9K0stEpr4lDzpSCQw7grIkKOAAmgjLs3x/neq4EKKYg6Of1PDx52N+1\nWOd5drA/Z++1lskwDAMREREREbmnme/0AERERERE5M5TMBAREREREQUDERERERFRMBARERERERQM\nREREREQEBQMREREREUHBQEREREREKCPB4PXXX6dly5a4ubnh5eVFz5492bt3b4G6KVOm4Ovri5OT\nEx07dmTfvn35jl++fJlx48bh6emJi4sLvXr14uTJk/lqUlNTGTRoEO7u7ri7uzN48GDS09NL9P2J\niIiIiJR1ZSIYrF+/nrFjxxITE8PatWuxtbWlc+fOpKamWmumT5/OW2+9xaxZs9i2bRteXl5ERERw\n8eJFa82ECRP4/vvvWbhwIRs3buTChQt0796dvLw8a03//v3ZuXMnK1eu5Mcff2T79u0MGjSoVN+v\niIiIiEhZYyqLOx9nZGTg5ubGkiVL6NatG4ZhUK1aNcaPH8/kyZMByMrKwsvLixkzZjBixAjS09Px\n8vJi7ty59OvXD4DExERq1qzJihUriIyMJD4+nvr167N582ZCQ0MB2Lx5M+3atSMhIYG6devesfcs\nIiIiInInlYk7Bn904cIF8vLyqFSpEgBHjx4lOTmZyMhIa02FChVo3749W7ZsASAuLo7s7Ox8NX5+\nfgQHBxMTEwNATEwMLi4u1lAAEBYWhrOzs7VGREREROReVCaDwVNPPUXTpk2tF/BJSUkAeHt756vz\n8vKyHktKSsLGxgYPD498Nd7e3vlqPD098x03mUz5+hERERERuRfZ3ukB/NHEiRPZsmULmzZtwmQy\n3bD+RjV/5kkpTUYWERERkfLMzc3tptuUqTsGTz/9NF999RVr167F39/f+n0fHx8AkpOT89UnJydb\nj/n4+JCbm8u5c+euW3PmzJl8xw3DICUlxVojIiIiInIvKjPB4KmnnrKGgj9OAg4ICMDHx4fo6Gjr\n97Kysti0aRNhYWEANG/eHDs7u3w1iYmJJCQkWGtCQ0O5ePFivvkEMTExZGRkWGtERERERO5FZWJV\n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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x7251358>"
"<matplotlib.figure.Figure at 0x7539b70>"
]
},
"metadata": {},
@@ -787,9 +787,9 @@
},
{
"data": {
"image/png": "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 truncated
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x722cef0>"
"<matplotlib.figure.Figure at 0x758e898>"
]
},
"metadata": {},
@@ -797,9 +797,9 @@
},
{
"data": {
"image/png": "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 truncated
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAwMAAAEtCAYAAABUG7xMAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XtcFPX+P/DXLPeLsIIsF1G8JEaUJJgKZt4QsIOS3yxD\ngyi/RSfzxPGUffv+KqyOndM5fvuq2UXON4JDknWUTlom5KUkpASNvIGiJgqKInKRVa47vz8Whh1Y\ncBVwF/b1fDz2wbxnPjPzmd1x3fd8Pp8ZQRRFEUREREREZHYUxq4AEREREREZB5MBIiIiIiIzxWSA\niIiIiMhMMRkgIiIiIjJTTAaIiIiIiMwUkwEiIiIiIjPFZICIiIiIyEwZLRnYu3cv5s2bB29vbygU\nCqSmpnYqc+LECfzHf/wHBg8eDAcHBwQFBaGoqEha3tDQgGXLlsHNzQ2Ojo6IiopCWVmZbBtVVVWI\niYmBUqmEUqlEbGwsampq+vz4iIiIiIhMndGSAbVajXHjxmHt2rWws7ODIAiy5b/99humTJmC0aNH\nY8+ePTh69ChWrVoFR0dHqUxCQgIyMjKwadMmZGdno7a2FpGRkdBoNFKZRYsWoaCgAJmZmdixYwcO\nHjyImJiY23acRERERESmSjCFJxAPGjQI77//PmJjY6V5ixYtgoWFBdLS0vSuU1NTA5VKhZSUFERH\nRwMASktL4ePjg2+//RZhYWEoLCyEv78/cnJyEBwcDADIycnB1KlTUVRUBF9f374/OCIiIiIiE2WS\nYwY0Gg2+/vpr+Pn5ISIiAiqVChMnTsQXX3whlTlw4ACampoQFhYmzfP29oafnx9yc3MBALm5uXB0\ndJQSAQAICQmBg4ODVIaIiIiIyFyZZDJw6dIl1NXV4e2330ZERAR27tyJ6OhoLF68GNu3bwcAlJeX\nw8LCAq6urrJ13d3dUV5eLpVxc3OTLRcEASqVSipDRERERGSuLI1dAX3a+vw/9NBDSEhIAACMGzcO\n+fn5WL9+PR588MEu173VXk8cVExERERE/Zmzs/NNr2OSLQNDhgyBpaUl7rrrLtn8O++8E2fPngUA\neHh4oKWlBZWVlbIyFy9ehIeHh1SmoqJCtlwURVy6dEkqQ0RERERkrkwyGbC2tsZ9990nu40ooL3V\n6IgRIwAAQUFBsLKyQlZWlrS8tLQURUVFCAkJAQAEBwejrq5ONj4gNzcXarVaKkNEREREZK6M1k1I\nrVajuLgYgLZbUElJCQoKCuDq6ophw4ZhxYoVePTRRzF16lTMmDEDe/bsweeff46vvvoKgLYZZMmS\nJVixYgVUKhVcXFywfPlyBAQEIDQ0FACkAcjx8fFISkqCKIqIj4/H3LlzMWbMmC7rditNLES3U35+\nPgBgwoQJRq4JkWF4zlJ/wvOV+pOednU3WstAXl4eAgMDERgYiPr6eiQmJiIwMBCJiYkAgKioKCQl\nJWH16tUYN24c3n//faSlpWHOnDnSNtasWYP58+dj4cKFuP/+++Hk5IRt27bJnlmQnp6OgIAAhIeH\nIyIiAuPHj+/ydqVERERERObEJJ4zYAp0syq2DJCp41Ur6m94zlJ/wvOV+pOe/oY1yTEDRERERETU\n95gMEBERERGZKSYDRERERERmiskAEREREZGZYjJARERERGSmmAwQEREREZkpJgNERERERGaKyQAR\nERERkZliMkBEREREZKaYDBARERERmSkmA0REREREZorJABERERGRmWIyQERERERkppgMEBERERGZ\nKSYDRERERERmiskAEREREZGZYjJARERERGSmmAwQEREREZkpJgNERERERGaKyQARERERkZliMkBE\nREREZKaYDBARERERmSkmA0REREREZspoycDevXsxb948eHt7Q6FQIDU1VbY8Li4OCoVC9goJCZGV\naWhowLJly+Dm5gZHR0dERUWhrKxMVqaqqgoxMTFQKpVQKpWIjY1FTU1Nnx8fEREREZGpM1oyoFar\nMW7cOKxduxZ2dnYQBEG2XBAEzJ49G+Xl5dJr+/btsjIJCQnIyMjApk2bkJ2djdraWkRGRkKj0Uhl\nFi1ahIKCAmRmZmLHjh04ePAgYmJibssxEhERERGZMktj7XjOnDmYM2cOAG0rQEeiKMLa2hoqlUrv\n+jU1NUhOTkZKSgpmzZoFAEhLS4OPjw927tyJsLAwFBYWIjMzEzk5OZg0aRIAYMOGDZg6dSpOnDgB\nX1/fvjk4IiIiIqJ+wGTHDAiCgB9//BHu7u4YO3YsnnnmGVRUVEjLDxw4gKamJoSFhUnzvL294efn\nh9zcXABAbm4uHB0dERwcLJUJCQmBg4ODVIaIiIiIyFwZrWXgRiIiIvDwww9j5MiR+O233/Dqq69i\n5syZOHDgAKytrVFeXg4LCwu4urrK1nN3d0d5eTkAoLy8HG5ubrLlgiBApVJJZYiIiIiIzJXJJgML\n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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x730dda0>"
"<matplotlib.figure.Figure at 0x75d6748>"
]
},
"metadata": {},
@@ -1019,7 +1019,7 @@
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x7e030b8>"
"<matplotlib.figure.Figure at 0x75015f8>"
]
},
"metadata": {},
@@ -1376,8 +1376,8 @@
"from math import sqrt\n",
"\n",
"def H_of(x, landmark_pos):\n",
" \"\"\" compute Jacobian of H matrix where h(x) computes the range and\n",
" bearing to a landmark for state x \"\"\"\n",
" \"\"\" compute Jacobian of H matrix where h(x) computes \n",
" the range and bearing to a landmark for state x \"\"\"\n",
"\n",
" px = landmark_pos[0]\n",
" py = landmark_pos[1]\n",
@@ -1409,8 +1409,8 @@
"source": [
"from math import atan2\n",
"def Hx(x, landmark_pos):\n",
" \"\"\" takes a state variable and returns the measurement that would\n",
" correspond to that state.\n",
" \"\"\" takes a state variable and returns the measurement\n",
" that would correspond to that state.\n",
" \"\"\"\n",
" px = landmark_pos[0]\n",
" py = landmark_pos[1]\n",
@@ -1463,28 +1463,32 @@
"from filterpy.kalman import ExtendedKalmanFilter as EKF\n",
"from numpy import dot, array, sqrt\n",
"class RobotEKF(EKF):\n",
" def __init__(self, dt, wheelbase, sigma_vel, sigma_steer):\n",
" def __init__(self, dt, wheelbase, std_vel, std_steer):\n",
" EKF.__init__(self, 3, 2, 2)\n",
" self.dt = dt\n",
" self.wheelbase = wheelbase\n",
" self.sigma_vel = sigma_vel\n",
" self.sigma_steer = sigma_steer\n",
" self.std_vel = std_vel\n",
" self.std_steer = std_steer\n",
"\n",
" a, x, y, v, w, theta, time = symbols('a, x, y, v, w, theta, t')\n",
" a, x, y, v, w, theta, time = symbols(\n",
" 'a, x, y, v, w, theta, t')\n",
" d = v*time\n",
" beta = (d/w)*sympy.tan(a)\n",
" r = w/sympy.tan(a)\n",
" \n",
" self.fxu = Matrix([[x-r*sympy.sin(theta)+r*sympy.sin(theta+beta)],\n",
" [y+r*sympy.cos(theta)-r*sympy.cos(theta+beta)],\n",
" [theta+beta]])\n",
" self.fxu = Matrix(\n",
" [[x-r*sympy.sin(theta)+r*sympy.sin(theta+beta)],\n",
" [y+r*sympy.cos(theta)-r*sympy.cos(theta+beta)],\n",
" [theta+beta]])\n",
"\n",
" self.F_j = self.fxu.jacobian(Matrix([x, y, theta]))\n",
" self.V_j = self.fxu.jacobian(Matrix([v, a]))\n",
"\n",
" # save dictionary and it's variables for later use\n",
" self.subs = {x: 0, y: 0, v:0, a:0, time:dt, w:wheelbase, theta:0}\n",
" self.x_x, self.x_y, self.v, self.a, self.theta = x, y, v, a, theta\n",
" self.subs = {x: 0, y: 0, v:0, a:0, \n",
" time:dt, w:wheelbase, theta:0}\n",
" self.x_x, self.x_y, = x, y \n",
" self.v, self.a, self.theta = v, a, theta\n",
"\n",
" def predict(self, u=0):\n",
" self.x = self.move(self.x, u, self.dt)\n",
@@ -1497,7 +1501,8 @@
" V = array(self.V_j.evalf(subs=self.subs)).astype(float)\n",
"\n",
" # covariance of motion noise in control space\n",
" M = array([[self.sigma_vel*u[0]**2, 0], [0, self.sigma_steer**2]])\n",
" M = array([[self.std_vel*u[0]**2, 0], \n",
" [0, self.std_steer**2]])\n",
"\n",
" self.P = dot(F, self.P).dot(F.T) + dot(V, M).dot(V.T)\n",
"\n",
@@ -1538,7 +1543,7 @@
"outputs": [],
"source": [
"def residual(a, b):\n",
" \"\"\" compute residual (a-b) between two measurement containing \n",
" \"\"\" compute residual (a-b) between measurements containing \n",
" [range, bearing]. Bearing is normalized to [-pi, pi)\"\"\"\n",
" y = a - b\n",
" y[1] = y[1] % (2 * np.pi) # force in range [0, 2 pi)\n",
@@ -1567,16 +1572,35 @@
"from math import sqrt, tan, cos, sin, atan2\n",
"dt = 1.0\n",
"\n",
"def run_localization(landmarks, sigma_vel, sigma_steer, sigma_range, sigma_bearing):\n",
" ekf = RobotEKF(dt, wheelbase=0.5, sigma_vel=sigma_vel, sigma_steer=sigma_steer)\n",
"\n",
"def z_landmark(lmark, sim_pos, std_rng, std_brg):\n",
" x, y = sim_pos[0, 0], sim_pos[1, 0]\n",
" d = np.sqrt((lmark[0] - x)**2 + (lmark[1] - y)**2) \n",
" a = atan2(lmark[1] - y, lmark[0] - x) - sim_pos[2, 0]\n",
" z = np.array([[d + randn()*std_rng],\n",
" [a + randn()*std_brg]])\n",
" return z\n",
"\n",
"def ekf_update(ekf, z, landmark):\n",
" ekf.update(z, HJacobian=H_of, Hx=Hx, \n",
" residual=residual,\n",
" args=(landmark), hx_args=(landmark))\n",
" \n",
" \n",
"def run_localization(landmarks, std_vel, std_steer, \n",
" std_range, std_bearing):\n",
" ekf = RobotEKF(dt, wheelbase=0.5, std_vel=std_vel, \n",
" std_steer=std_steer)\n",
" ekf.x = array([[2, 6, .3]]).T\n",
" ekf.P = np.diag([.1, .1, .1])\n",
" ekf.R = np.diag([sigma_range**2, sigma_bearing**2])\n",
" ekf.R = np.diag([std_range**2, std_bearing**2])\n",
"\n",
" sim_pos = ekf.x.copy() # simulated position\n",
" u = array([1.1, .01]) # steering command (vel, steering angle radians)\n",
" # steering command (vel, steering angle radians)\n",
" u = array([1.1, .01]) \n",
"\n",
" plt.scatter(landmarks[:, 0], landmarks[:, 1], marker='s', s=60)\n",
" plt.scatter(landmarks[:, 0], landmarks[:, 1],\n",
" marker='s', s=60)\n",
" for i in range(200):\n",
" sim_pos = ekf.move(sim_pos, u, dt/10.) # simulate robot\n",
" plt.plot(sim_pos[0], sim_pos[1], ',', color='g')\n",
@@ -1584,20 +1608,19 @@
" if i % 10 == 0:\n",
" ekf.predict(u=u)\n",
"\n",
" plot_covariance_ellipse((ekf.x[0,0], ekf.x[1,0]), ekf.P[0:2, 0:2], std=6,\n",
" facecolor='b', alpha=0.08)\n",
" plot_covariance_ellipse(\n",
" (ekf.x[0,0], ekf.x[1,0]), ekf.P[0:2, 0:2], \n",
" std=6, facecolor='b', alpha=0.08)\n",
"\n",
" x, y = sim_pos[0, 0], sim_pos[1, 0]\n",
" for lmark in landmarks:\n",
" d = np.sqrt((lmark[0] - x)**2 + (lmark[1] - y)**2) \n",
" a = atan2(lmark[1] - y, lmark[0] - x) - sim_pos[2, 0]\n",
" z = np.array([[d + randn()*sigma_range], [a + randn()*sigma_bearing]])\n",
" z = z_landmark(lmark, sim_pos,\n",
" std_range, std_bearing)\n",
" ekf_update(ekf, z, lmark)\n",
"\n",
" ekf.update(z, HJacobian=H_of, Hx=Hx, residual=residual,\n",
" args=(lmark), hx_args=(lmark))\n",
"\n",
" plot_covariance_ellipse((ekf.x[0,0], ekf.x[1,0]), ekf.P[0:2, 0:2], std=6,\n",
" facecolor='g', alpha=0.4)\n",
" plot_covariance_ellipse(\n",
" (ekf.x[0,0], ekf.x[1,0]), ekf.P[0:2, 0:2],\n",
" std=6, facecolor='g', alpha=0.4)\n",
" plt.axis('equal')\n",
" plt.show()\n",
" return ekf"
@@ -1613,9 +1636,9 @@
"outputs": [
{
"data": {
"image/png": "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 truncated
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAtMAAAEWCAYAAACkORurAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XmQXWd57/vvu+Y99e7dc7dak2XJkm1MMIY44UIMJMEK\np5ycpEiFIbJvqoACO8EJuRDICeLeImSApELFhJOcVA4OUHVJZWC6Off4MNiOr8FI2LLBtiZLag2t\nbvWw5732mt73/rGttmbZGmwNz4eiMHutvdbrXWt3//TqfZ9HGWMMQgghhBBCiJfMeqUHIIQQQggh\nxOVKwrQQQgghhBDnSMK0EEIIIYQQ50jCtBBCCCGEEOdIwrQQQgghhBDnSMK0EEIIIYQQ50jCtBBC\nCCGEEOfojGH6T/7kT3jd615HuVxmZGSEO+64g6effvqk8z75yU+ybNky8vk8b37zm3nmmWcu2oCF\nEEIIIYS4VJwxTD/00EPcc889fP/73+e73/0ujuPw8z//81Sr1aVz/uzP/oy//Mu/5L777mPLli2M\njIzwC7/wC7RarYs+eCGEEEIIIV5J6qV0QGy325TLZb7+9a/z9re/HWMMExMT/M7v/A4f+9jHAOh2\nu4yMjPDZz36W973vfRdt4EIIIYQQQrzSXtKa6UajgdaaSqUCwN69e5mdneUXf/EXl84JgoA3velN\nPProoxd2pEIIIYQQQlxiXlKY/tCHPsRrXvMafuZnfgaAmZkZAEZHR487b2RkZOmYEEIIIYQQVyrn\nxZ74e7/3ezz66KM88sgjKKXOev6J59Tr9Zc+OiGEEEIIIS4R5XL5pNde1Mz07/7u7/LVr36V7373\nu6xatWrp9bGxMQBmZ2ePO392dnbpmBBCCCGEEFeqs4bpD33oQ0tBet26dccdW716NWNjYzzwwANL\nr3W7XR555BF+9md/9sKPVgghhBBCiEvIGZd53H333Xz5y1/ma1/7GuVyeWkddKlUolAooJTi3nvv\n5dOf/jTr169n7dq1fOpTn6JUKvGud73rtNc91RS5OL2tW7cCcMstt7zCIxGXCnkmxLHkeRAnkmdC\nnEieiXN3tqXKZwzTX/jCF1BK8da3vvW41z/5yU/yiU98AoCPfOQjhGHI3XffTbVa5dZbb+WBBx6g\nUCic59CFEEIIIYS4tJ0xTGutX9RFNm/ezObNmy/IgIQQQgghhLhcvKTSeEIIIYQQQogXSJgWQggh\nhBDiHEmYFkIIIYQQ4hxJmBZCCCGEEOIcSZgWQgghhBDiHEmYFkIIIYQQ4hxJmBZCCCGEEOIcSZgW\nQgghhBDiHEmYFkIIIYQQ4hxJmBZCCCGEEOIcSZgWQgghhBDiHEmYFkIIIYQQ4hxJmBZCCCGEEOIc\nSZgWQgghhBDiHEmYFkIIIYQQ4hxJmBZCCCGEEOIcnTVMP/zww9xxxx1MTk5iWRb333//cccbjQYf\n/OAHWb58Ofl8nvXr1/NXf/VXF23AQgghhBBCXCqcs53Qbre56aabuPPOO9m0aRNKqeOO33vvvTz0\n0EN8+ctfZvXq1Tz00EO8973vZWhoiPe85z0XbeBCCCGEEEK80s46M71x40Y+9alP8Wu/9mtY1smn\nb9myhU2bNvFzP/dzrFixgt/8zd/k1ltv5Yc//OFFGbAQQgghhBCXivNeM71x40a+8Y1vcPDgQQAe\nffRRtm3bxu23337egxNCCCHEy8cYQ5pp4iQjSTOyTKO1eaWHJcQlTRljXvS3pFQq8fnPf55NmzYt\nvWaMYdOmTXzlK1/BcXqrRu677z7e9773Hffeer2+9M+7du0633ELIYQQ4jxpbYgzTZYZMm3QxpCm\nYIxCKVDKoBTYNniOhWtbOLbULhBXl7Vr1y79c7lcPun4WddMn83v//7v89hjj/HNb36TlStX8tBD\nD/HhD3+YlStX8ra3ve18Ly+EEEKICyxOM+JEk2SGOFZLAVpnFpZloRRgwNCbNENpXNfgeSmeo8j7\nDpalznYbIa4K5xWm2+02n/vc5/i3f/s33v72twNw4403sm3bNj772c+eNkzfcsst53Pbq87WrVsB\n+dzEC+SZEMeS50Gc6HTPRBglhFFKFBuiCJIEXNvGdWwcy8I+zaxzlmm6SUqcZHi+oVRU9BV8maW+\njMjPiXN37OqKUzmvMG2MwRhz0sZEy7J4CatHhBBCCHERRXFKJ0oIu4ZOBxQWgedQKNgnVek6Fdu2\nKNgeed/QCmPqjQyIKBf80wZwIa4WL6o03tE1zlprpqam2LZtG4ODgyxfvpy3vvWt/MEf/AHFYpEV\nK1bw0EMP8aUvfYnPfOYzF33wQgghhDi9NNO0w5gw0nQ6YLRFwXdxHfucrqeUopT3aYURzVaGYyf0\nFfwLPGohLi9n/ePkli1buPnmm7n55pvpdrts3ryZm2++mc2bNwPwla98hZ/+6Z/mPe95DzfccAN/\n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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x7d92588>"
"<matplotlib.figure.Figure at 0x4ffecc0>"
]
},
"metadata": {},
@@ -1625,7 +1648,7 @@
"name": "stdout",
"output_type": "stream",
"text": [
"[ 0.02359264 0.04263383 0.00222258]\n"
"[ 0.02356385 0.04184256 0.00219828]\n"
]
}
],
@@ -1633,8 +1656,9 @@
"landmarks = array([[5, 10], [10, 5], [15, 15], [20, 5]])\n",
"landmarks = array([[5, 10], [10, 5], [15, 15]])\n",
"\n",
"ekf = run_localization(landmarks, sigma_vel=0.1, sigma_steer=np.radians(1),\n",
" sigma_range=0.3, sigma_bearing=0.1)\n",
"ekf = run_localization(\n",
" landmarks, std_vel=0.1, std_steer=np.radians(1),\n",
" std_range=0.3, std_bearing=0.1)\n",
"print(ekf.P.diagonal())"
]
},
@@ -1647,9 +1671,9 @@
"outputs": [
{
"data": {
"image/png": "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 truncated
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x7392978>"
"<matplotlib.figure.Figure at 0x4ffe780>"
]
},
"metadata": {},
@@ -1659,15 +1683,16 @@
"name": "stdout",
"output_type": "stream",
"text": [
"[ 0.02021647 0.02064576 0.0015385 ]\n"
"[ 0.02010224 0.02051038 0.00154269]\n"
]
}
],
"source": [
"landmarks = array([[5, 10], [10, 5], [15, 15], [20, 5]])\n",
"\n",
"ekf = run_localization(landmarks, sigma_vel=0.1, sigma_steer=np.radians(1),\n",
" sigma_range=0.3, sigma_bearing=0.1)\n",
"ekf = run_localization(\n",
" landmarks, std_vel=0.1, std_steer=np.radians(1),\n",
" std_range=0.3, std_bearing=0.1)\n",
"print(ekf.P.diagonal())"
]
},
@@ -1692,9 +1717,9 @@
"outputs": [
{
"data": {
"image/png": "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 truncated
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAtMAAAEWCAYAAACkORurAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xl0XGeZ4P/vrX1VSSpVaS3tsiXLq7xkI7Gzx6ExTQJ0\nE0Kg55wm8yPdTSAMNNM0ItMh3TQJjWeSgXQzZyYDNA0NDQnrBBIsY5w4lm3Z1mLt+1JSaSmp9vX3\nh7DscklWIsuObT2fc0Ccet9773vvuUhPvX7f51GSyWQSIYQQQgghxNumeqcHIIQQQgghxLVKgmkh\nhBBCCCFWSIJpIYQQQgghVkiCaSGEEEIIIVZIgmkhhBBCCCFWSIJpIYQQQgghVkiCaSGEEEIIIVbo\nosH03//937Nz505sNhtOp5N9+/bR0tKS1u9LX/oShYWFmEwmbr/9dlpbWy/bgIUQQgghhLhaXDSY\nbmho4C/+4i94/fXXee2119BoNNx1111MT08v9PnKV77C1772NZ577jmOHj2K0+nk7rvvxufzXfbB\nCyGEEEII8U5S3k4FRL/fj81m46WXXuLd7343yWSSgoIC/uqv/orPf/7zAIRCIZxOJ8888wwf//jH\nL9vAhRBCCCGEeKe9rTXTs7OzJBIJsrKyAOjt7cXtdnPPPfcs9DEYDNx2220cPnx4dUcqhBBCCCHE\nVeZtBdOf/OQn2bZtGzfddBMAY2NjAOTm5qb0czqdC21CCCGEEEJcrzRvteOnP/1pDh8+zKFDh1AU\nZdn+F/bxer1vf3RCCCGEEEJcJWw2W9pnb2lm+lOf+hTf//73ee211ygtLV34PC8vDwC3253S3+12\nL7QJIYQQQghxvVo2mP7kJz+5EEivW7cupa2srIy8vDxeeeWVhc9CoRCHDh3i5ptvXv3RCiGEEEII\ncRW56DKPxx57jO985zv85Cc/wWazLayDtlqtmM1mFEXh8ccf5+mnn6a6upqqqiqeeuoprFYrDz30\n0JLnXWyKXCytsbERgB07drzDIxFXC3knxPnkfRAXkndCXEjeiZVbbqnyRYPpb3zjGyiKwp133pny\n+Ze+9CW++MUvAvDZz36WYDDIY489xvT0NDfeeCOvvPIKZrP5EocuhBBCCCHE1e2iwXQikXhLJ6mv\nr6e+vn5VBiSEEEIIIcS14m2lxhNCCCGEEEKcI8G0EEIIIYQQKyTBtBBCCCGEECskwbQQQgghhBAr\nJMG0EEIIIYQQKyTBtBBCCCGEECskwbQQQgghhBArJMG0EEIIIYQQKyTBtBBCCCGEECskwbQQQggh\nhBArJMG0EEIIIYQQKyTBtBBCCCGEECskwbQQQgghhBArJMG0EEIIIYQQKyTBtBBCCCGEECskwbQQ\nQgghhBArtGwwffDgQfbt20dRUREqlYoXX3wxpX12dpZPfOITuFwuTCYT1dXVfP3rX79sAxZCCCGE\nEOJqoVmug9/vZ/PmzXz0ox/lkUceQVGUlPbHH3+choYGvvOd71BWVkZDQwN//ud/Tk5ODg8//PBl\nG7gQQgghhBDvtGVnpvfu3ctTTz3Fgw8+iEqV3v3o0aM88sgj7N69m+LiYj7ykY9w44038uabb16W\nAQshhBBCCHG1uOQ103v37uXll19maGgIgMOHD9PU1MR99913yYMTQgghhBDiaqYkk8nkW+1stVp5\n/vnneeSRRxY+SyaTPPLII3z3u99Fo5lfNfLcc8/x8Y9/POVYr9e78L87OzsvddxCCCGEEEJcdlVV\nVQv/22azpbUvu2Z6OZ/5zGc4cuQIP/3pTykpKaGhoYEnnniCkpIS7r333ks9vRBCCCGEEFetSwqm\n/X4/+/fv58c//jHvfve7Adi4cSNNTU0888wzSwbTO3bsuJTLrjmNjY2APDdxjrwT4nzyPogLyTsh\nLiTvxMqdv7piMZe0ZjqZTJJMJtM2JqpUKt7G6hEhhBBCCCGuSW8pNd7ZNc6JRIL+/n6ampqw2+24\nXC7uvPNO/vqv/xqLxUJxcTENDQ18+9vf5qtf/eplH7wQQgghhBDvpGVnpo8ePUpdXR11dXWEQiHq\n6+upq6ujvr4egO9+97vccMMNPPzww9TW1vKP//iPPPXUUzz22GOXffBCCCGEEEK8k5admd6zZw+J\nRGLJdofDwbe+9a1VHZQQQgghhBDXgkvOMy2EEEIIIcRaJcG0EEIIIYQQKyTBtBBCCHGNSiSSTM0G\n6BudJhiKvtPDEWJNuuSiLUIIIYR4ZwxOzPLjhnam/D6yLCZuqClkV3XBOz0sIdYUCaaFEEKIa1TH\noIeOiX7GAoNoJ/VMzM3QPTJFgSGCzaR7p4cnxJogwbQQQghxjfKHooTjQSrL9Gg1Cp29bUwFp8hK\n6Llzc947PTwh1gQJpoUQQohrlM2kR6/REw57yXPosVnVNLe7GfMkSTQl2brVT47N/E4PU4jrmmxA\nFEIIIa5RNqsBo8ZAIDhfD0KjUdhUbSKqmaJ9aoD/OHiGWX/4HR6lENc3CaaFEEKIa1Sh3UqWycb0\nbJxEIgmAWq1QWaIQVk/RNNjJfxxsk0wfQlxGEkwLIYQQ16jcbAuFdht6zMx4Ywufq1RQWaIwHR2h\naaCbXxzpJJlMLns+5Unlcg5XiOuSBNNCCCHENayqyI7T7GB0InX2WaOGjdVGhub6aeob5I2WoYue\nR3lSIVm/fMAthEglwbQQQghxDdtU5iTf5mR6JkE0mhoMGw1q1lXqOTPRwcHmPgbc3kXPIYG0ECsn\nwbQQQghxlQmEopzucdM3NkMsnrhoX5vFQEVBNnZDDiPj6ZsNc7K05DqTtI6188sjnfiDkYW2s8s6\nJJAWYuUkmBZCCCGuItFYnH97rZl//d0b/O/fvM53fn2KofHFZ5TP2lKeR6Etn5GxKPF4emBc6tKT\n0M7SPNLDz/+wflpmo4VYHZJnWgghhLiKDHvm6J8ao8PTiUajMDg9wtj0DDdvKOPWzcUoSvomwcqi\nbCrzcxmYyWZ4zMeFPVQqhZoqIydOD3GqL4M/adgogbQQq2TZmemDBw+yb98+ioqKUKlUvPjii2l9\nOjo6eOCBB8jKysJsNrN9+3bOnDlzWQYshBBCXM9C4RiRaIQMi5rtm0yYMn00Dp/g1VNnePV4z5JZ\nOW6udVGWXczQaITFVoYY9PPrp7/cv5d/rD6Ie8p3me9EiLVh2WDa7/ezefNm9u/fj9FoTPtG3Nvb\nyy233EJFRQW//e1vaWlp4ctf/jIWi+WyDVoIIYS4XllNOnQaHdFYEo1aTXmxkXUVWlrcrRxs6eS1\n472LHldekEVFvpMsnQO3Jz3gfuLAozzd9Bf855L9dEz08kpj91tKlyeEuLhll3ns3buXvXv3AvCx\nj30srf1v/uZvuO+++/jqV7+68FlpaemqDVAIIYRYS8xGHQaNkVA4SSKZRKUo5GTrQIHWrjbUKjVG\ng5aba11px75ro4veMQ+vtnbgyD4XKD9x4FGe3fMCAPF4kjdPTnBmeIQjbXZu3FB0xe5NiOvRJW1A\nTCQS/OxnP6Ompob77rsPp9PJrl27+MEPfrBa4xNCCCHWFJtZj8OagVYx4J07V4glJ0tHRZmW5rFW\nDjR10tw7nnZscW4m6wqd2LTZjE/Of3Z+IN3VNV8hcV25gc7JLg43DzA9G7wi9yXE9eqSgunx8XF8\nPh9PP/009913H7/5zW/40Ic+xIc//GF+8YtfrNYYhRBCiDVDURTKC7OwG+14plILseTm6HC5VJwa\nO8Ovj3XhmfGnHX9zrYsCUy6eSSUlkAbo7p4PqO2ZWjJscbo8A/y2qe9y35IQ17VLyuaRSMzvcPjj\nP/5jHn/8cQA2b95MY2Mjzz33HPfff/+ixzU2Nl7KZdcseW7iQvJOiPPJ+3D9CM0Eic1G6ByeQKco\nqFSp+5VC0QQNp4PMTLjZW1eIRp06N1aRm8n/DD7Fe7T/lcHBQYaG9AwO6jlyxEZhYYibbpolNzdE\na5+H+FyEpM9NiVP2Oq0F8nvi7auqqrpo+yXNTOfk5KDRaNiwYUPK59XV1QwMDFzKqYUQQog1y2Ez\n4LRY0CaNzPrTNwkW5ysEmKJ3apyjXZ609if6/ohP2/6NkF/PzGySoqIwLleYwsIQw8MGBgf1uN0G\n8nOTDPqGOd4ztWxxGCHE4i5pZlqn07Fz5860NHgdHR0X3YS4Y8eOS7nsmnP2W6Q8N3GWvBPifPI+\nXJ/ipjwCr4Mn1o/LZU5rz3HEONUaYAY9BnsxG8ucC4VYjnKU1sEZjJk76ZhupabAjMulwuGYX+px\n7702AJLJJMdO+4mbdKhtheyoLrzStymuEPk9sXJe78WLJi0bTPv9fjo7O4H5ZR39/f00NTVht9tx\nuVx89rOf5YMf/CC33nort99+O7/97W/5/ve/z0svvbQ6dyCEEEJcB4LhKL880snIpA+HzcTNG124\nnLYl+2+pzONIWz79fYPMzsXIsKb+ybaYNZQWx2kdaifjmIlN/zc3pRBLTZENTDrG5sbpHZyhqtRI\nZWXqNRRFobRIT2/vAEfPONlamYdWo17V+xbierfsMo+jR49SV1dHXV0doVCI+vp66urqqK+vB+C9\n730v//zP/8wzzzzD5s2bef755/n2t7+9kE5PCCGEEHCsfYTXOzs40H2YX7c08p1XT/CrN7uWXF5h\n1GvZUpFHka2Q/uHwon0KcvWYrWEeb7mZ79x8MiVvtKIo3LuzgnWOcibGWcgMcmFAnZOtRa0P0Tc1\nRmP7yOrcrBBryLIz03v27FnYaLiUj370o3z0ox9dtUEJIYQQ15thzxzjPg8lLhXhiJfG4RNMB7zM\n+EI8cGs1Om36n+Sd1YWc7B7jUN8wc74YVkt6n/818mneb32GMyMjnOh0ULcuf6EtNLine truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x7ee55c0>"
"<matplotlib.figure.Figure at 0x4ffe080>"
]
},
"metadata": {},
@@ -1704,13 +1729,14 @@
"name": "stdout",
"output_type": "stream",
"text": [
"[ 0.02085948 0.04494663 0.00022663]\n"
"[ 0.01975584 0.04575349 0.00022389]\n"
]
}
],
"source": [
"ekf = run_localization(landmarks[0:2], sigma_vel=1.e-10, sigma_steer=1.e-10,\n",
" sigma_range=1.4, sigma_bearing=.05)\n",
"ekf = run_localization(\n",
" landmarks[0:2], std_vel=1.e-10, std_steer=1.e-10,\n",
" std_range=1.4, std_bearing=.05)\n",
"print(ekf.P.diagonal())"
]
},
@@ -1731,9 +1757,9 @@
"outputs": [
{
"data": {
"image/png": "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 truncated
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x7392320>"
"<matplotlib.figure.Figure at 0x9f749e8>"
]
},
"metadata": {},
@@ -1743,13 +1769,14 @@
"name": "stdout",
"output_type": "stream",
"text": [
"[ 0.3006648 0.78199632 0.0036382 ]\n"
"[ 0.26397302 0.7937892 0.00351629]\n"
]
}
],
"source": [
"ekf = run_localization(landmarks[0:1], sigma_vel=1.e-10, sigma_steer=1.e-10,\n",
" sigma_range=1.4, sigma_bearing=.05)\n",
"ekf = run_localization(\n",
" landmarks[0:1], std_vel=1.e-10, std_steer=1.e-10,\n",
" std_range=1.4, std_bearing=.05)\n",
"print(ekf.P.diagonal())"
]
},
@@ -1770,9 +1797,9 @@
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAtMAAAEWCAYAAACkORurAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XmUXVd95v3vOefOY81zqaoklaSyPMi2DLagjW2wg0La\nwRmchE6wgcRpYhoML03jNzTyIsaENHiRwUBIN6A2OLGBQCcdbJwXjI2QJ9mWJ8myhppU81y37nim\n94/ChYWswbdKUpX8fNaqVbfOOXXuvnvVuvfR1t6/bfi+7yMiIiIiIq+beaYbICIiIiKyUilMi4iI\niIiUSWFaRERERKRMCtMiIiIiImVSmBYRERERKZPCtIiIiIhImRSmRURERETKdNwwfdddd3HBBReQ\nTqdJp9Ns2bKFH/7wh0dcc9ttt9Hc3EwsFuPKK69kz549p7TBIiIiIiLLxXHDdGtrK3/1V3/FM888\nw1NPPcVVV13Fu9/9bp599lkAPv/5z3PnnXfyd3/3dzz55JPU1dVx9dVXMzc3d1oaLyIiIiJyJhmv\ndwfE6upq/vIv/5I//uM/pqmpiQ9/+MPceuutABQKBerq6vjCF77ATTfddEoaLCIiIiKyXJz0nGnX\ndfmnf/onCoUCl19+Od3d3YyMjHDNNdcsXBOJRLj88svZuXPnKWmsiIiIiMhyEjjRBc8//zyXXXYZ\nxWKRaDTKfffdx/r16xcCc319/RHX19XVMTg4eGpaKyIiIiKyjJwwTG/YsIHnnnuOmZkZvvOd7/D7\nv//7PPTQQ8f9HcMwjjo2MzNTfitFRERERM6wdDp91LETTvMIBoOsXr2aCy+8kDvuuINLL72Uu+66\ni8bGRgBGRkaOuH5kZISGhoYlarKIiIiIyPL1uutMu66L53l0dHTQ0NDAgw8+uHCuUCiwY8cOtmzZ\nsqSNFBERERFZjo47zeOTn/wkv/Ebv0FLSwuZTIZ77rmHhx9+mAceeACAW265hTvuuIMNGzbQ2dnJ\n7bffTjKZ5D3vec9xn/TVQ+S7du0CYPPmzYt9LW9I6r/yqe8WR/23OOq/8qnvFkf9tzjqv/Kt1L47\n0VTl44bpkZER/vAP/5Dh4WHS6TQXXHABDzzwAFdffTUAn/jEJ8jn89x8881MTU1x6aWX8uCDDxKP\nx5fuFYiIiIiILFPHDdPf+MY3TniDbdu2sW3btiVrkIiIiIjISvG650yLiIiIiMg8hWkRERERkTIp\nTIuIiIiIlElhWkRERESkTArTIiIiIiJlUpgWERERESmTwrSIiIiISJkUpkVEREREyqQwLSIiIiJS\nJoVpEREREZEyKUyLiIiIiJRJYVpEREREpEwK0yIiIiIiZVKYFhEREREpk8K0iIiIiEiZFKZFRERE\nRMqkMC0iIiIiUiaFaRERERGRMilMi4iIiIiUSWFaRERERKRMCtMiIiIiImVSmBYRERERKZPCtIiI\niIhImRSmRURERETKpDAtIiIiIlImhWkRERERkTIpTIuIiIiIlElhWkRERESkTArTIiIiIiJlOm6Y\n/tznPscll1xCOp2mrq6Oa6+9lhdffPGIa2688UZM0zzia8uWLae00SIiIiIiy8Fxw/TDDz/Mhz70\nIR599FF+8pOfEAgEeMc73sHU1NTCNYZhcPXVVzM8PLzw9cMf/vCUN1xERERE5EwLHO/kAw88cMTP\nd999N+l0mp07d/Kud70LAN/3CYVC1NXVnbpWioiILGN79xbo7T32+bY26OqKnL4Gichpc9ww/atm\nZ2fxPI/KysqFY4ZhsGPHDurr66moqOBtb3sbn/3sZ6mtrV3yxoqIiCxHvb2wdeuxw/L99xfo6jqN\nDRKR0+Z1hemPfOQjXHjhhVx22WULx975znfy27/923R0dNDd3c2nPvUprrrqKp566ilCodCSN1hE\nREREZLkwfN/3T+bCj33sY9x3333s2LGD9vb2Y143NDREW1sb9957L9ddd93C8ZmZmYXH+/fvL7/F\nIiIiy0x3dxvXX3/s/5G9774xOjqOMw9ERJatzs7OhcfpdPqo8yc1Mv3Rj36U++67j4ceeui4QRqg\nsbGRlpYWDhw48PpaKiIiIiKywpwwTH/kIx/hO9/5Dg899BDr1q074Q3HxsYYGBigsbHxmNds3rx5\n4fGuXbuOOiYnT/1XPvXd4qj/Fkf9V77l2Hfj44Xjnk8mk8umvcux/1YS9V/5VmrfvXp2xWs5bmm8\nm2++mW9+85t8+9vfJp1OL5S+y2azAGSzWT7+8Y/z2GOP0dPTw09/+lOuvfZa6uvrj5jiISIiIiJy\nNjpumP7KV77C3Nwcb3/722lqalr4+uIXvwiAZVm88MIL/OZv/ibr16/nxhtvpKuri0cffZR4PH5a\nXoCIiIiIyJly3Gkenucd95cjkchRtahFRETeaNra5svfHe+8iJydXldpPBERETlaV1dEdaRF3qCO\nO81DRERERESOTWFaRERERKRMCtMiIiIiImVSmBYRERERKZPCtIiIiIhImRSmRURERETKpDAtIiIi\nIlImhWkRERERkTIpTIuIiIiIlElhWkRERESkTArTIiIiIiJlUpgWERERESmTwrSIiIiISJkUpkVE\nREREyqQwLSIiIiJSJoVpEREREZEyKUyLiIiIiJRJYVpEREREpEwK0yIiIiIiZVKYFhEREREpk8K0\niIiIiEiZFKZFRERERMqkMC0iIiIiUiaFaRERERGRMilMi4iIiIiUSWFaRERERKRMCtMiIiIiImVS\nmBYRERERKdNxw/TnPvc5LrnkEtLpNHV1dVx77bW8+OKLR11322230dzcTCwW48orr2TPnj2nrMEi\nIiIiIstF4HgnH374YT70oQ9xySWX4Hken/70p3nHO97Bnj17qKysBODzn/88d955J9u3b2fdunV8\n5jOf4eqrr2bfvn0kEonT8iJERFaCvXsL9PbOP85k2gAYHy8snG9rg66uyJlomoiIlOm4YfqBBx44\n4ue7776bdDrNzp07ede73oXv+3zpS1/i1ltv5brrrgNg+/bt1NXVcc8993DTTTedupaLiKwwvb2w\ndesrYfno0Hz//QW6uk5vm0REZHFe15zp2dlZPM9bGJXu7u5mZGSEa665ZuGaSCTC5Zdfzs6dO5e2\npSIiIiIiy4zh+75/shdff/31HDx4kF27dmEYBjt37uStb30rfX19tLS0LFz3/ve/n8HBwSNGtmdm\nZhYe79+/f4maLyKycnR3t3H99bXHPH/ffWN0dPSexhaJiMiJdHZ2LjxOp9NHnT/uNI9X+9jHPsbO\nnTvZsWMHhmGc8PqTuUZEREREZCU7qTD90Y9+lPvuu4+HHnqI9vb2heMNDQ0AjIyMHDEyPTIysnDu\ntWzevHnh8a5du446JidP/Vc+9d3iqP9ev1cvNnwtyWRS/XkS9Le3OOq/xVH/lW+l9t2rZ1e8lhPO\nmf7IRz7Cvffey09+8hPWrVt3xLmOjg4aGhp48MEHF44VCgV27NjBli1bymyyiIiIiMjKcNyR6Ztv\nvplvfetb/OAHPyCdTjM8PAzMj57E43EMw+CWW27hjjvuYMOGDXR2dnL77beTTCZ5z3vec1pegIiI\niIjImXLcMP2Vr3wFwzB4+9vffsTx2267jU9/+tMAfOITnyCfz3PzzTczNTXFpZdeyoMPPkg8Hj91\nrRYRWYHa2ubL3wFkMhlgfnDi1edFRGRlOW6Y9jzvpG6ybds2tm3btiQNEhE5W3V1RRbqSO/a9QKw\n8uYOiojIkV5XnWkREREREfklhWkRERERkTIpTIuIiIiIlElhWkRERESkTArTIiIiIiJlUpgWERER\nESmTwrSIiIiISJkUpkVEREREyqQwLSIiIiJSJoVpEREREZEyKUyLiIiIiJQpcKYbICIicqrYjkvJ\ndgEIBS2CAesMt0hEzjYK0yIiclbxfZ9cwaZQcijZYNvzxyMRh4pEmFBQgVpElo7CtIiInDXyRZtc\nwSZfgEIBTEwCAQvP88jlXGIRV2FaRJaUwrSIiKx4jusxly+RL3hks2AZFslIEMuaXxqUL9p4hnuG\nWykiZyOFaRERWdEKJYe5XIm5LDi2QTwSOmputO24ROMQ0pxpEVliCtMiIrJizeVLZPMOmQwErQAV\nidBR17iuh4dHKAjBgIpYicjSUpgWEZEVx/N8pucKZHMeuRzEw8deWJgr2kQiEAkFMAzjNLdURM52\nCtMiIrKiOK5HtugwM+thlwzi4SCe75PNl7Ask0jolx9tRdvBwyUWNYhFgmew1SJytlKYFhGRFaNY\ncsjkHaZmfHIHxpiey2MYJpWxOI2VFYTCBuf903xoHv0zj3zRJpGEeCSoUWkROSUUpkVEZEUolBym\nM0We2Z/hwPAMwYoxZvIZTCNAVbiGNXUtfHjfOez7oyxVqRiZXJFQ2CcWsQiH9HEnIqeG3l1ERGTZ\nK5QcxqZy/J9HDvJU3wAjhUHqE3Gqa4P4vkH/xCh/ve8a7rmkF4BsoQSmSyJukIgevShRRGSpKEyL\niMiyVig5DE9kuf/RHl443MdQsYeWJp8N6+oWrvlq/4f4T7HtTGYz+F41jueQTkEqHsY0Nb1DRE4d\nhWkREVm2cgWbwfEMLx2aY1//OAO5Q7Q2+YRDPo/83ObH4Q8B8PENd9FzqEDJLeEZHsmkRTIWImCp\nFJ6InFp6lxERkWUpky0yMJbh8IDLcwcmGMkNUFlhgOFTKLIQpP/f8/+OqVmbSDBKIhygssIiEQ1q\nnrSInBZ6pxERkWVndq5Az/Asj+6eZDpj83z3CH2lQS5ojPHYo0kO90fhzdD0zN/y86xDIu3QWVHL\neZ3VxKOWyuCJyGmjMC0iIsuG7/vMzBX48VM9PPL0GJNzs2SdHD0jE2SD0wxP2zzT9Line truncated
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAtMAAAEWCAYAAACkORurAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XmUXFd99vvvqXnoquqxelYPUktqy5InGWTheBDYQZBX\niUniJFyuEZNXbsyNDeE6OCHIlxgTsohf3hBwEhKIr8GJDQTyZoGNEjAGRZ4kW2BZsqyh1ep5rO4a\nTw3nnPtH2x0LWYOru9Xd8vNZq5ZK55w6vWsvrapHu397b8NxHAcREREREXnDXIvdABERERGR5Uph\nWkRERESkTArTIiIiIiJlUpgWERERESmTwrSIiIiISJkUpkVEREREyqQwLSIiIiJSpjOG6S9/+ctc\ncsklxGIxYrEYmzdv5gc/+MFJ19x99900NzcTCoW4/vrrOXDgwII2WERERERkqThjmG5tbeUv//Iv\nef7559m7dy9btmzhN37jN/j5z38OwOc//3nuu+8+/uZv/oZnn32WeDzODTfcQDqdPi+NFxERERFZ\nTMYb3QGxpqaGv/iLv+DDH/4wTU1N/OEf/iF33XUXAKZpEo/H+cIXvsCtt966IA0WEREREVkqzrlm\n2rIs/uVf/gXTNLnmmmvo6elhZGSEG2+8cfaaQCDANddcw+7duxeksSIiIiIiS4nnbBe88MILXHXV\nVeTzeYLBII888ghr1qyZDcz19fUnXR+PxxkcHFyY1oqIiIiILCFnDdNr167lF7/4BdPT03zrW9/i\nd3/3d3n88cfP+BrDME45Nj09XX4rRUREREQWWSwWO+XYWcs8vF4vnZ2dXHbZZdx7771s2rSJL3/5\nyzQ2NgIwMjJy0vUjIyM0NDTMU5NFRERERJauN7zOtGVZ2LZNR0cHDQ0N7Ny5c/acaZrs2rWLzZs3\nz2sjRURERESWojOWeXzyk5/k137t12hpaSGVSvHQQw/xxBNP8NhjjwFwxx13cO+997J27Vq6urq4\n5557iEQivPe97z3jD33tEPmePXsA2Lhx41zfy5uS+q986ru5Uf/NjfqvfOq7uVH/zY36r3zLte/O\nVqp8xjA9MjLC+973PoaHh4nFYlxyySU89thj3HDDDQDceeed5HI5brvtNhKJBJs2bWLnzp2Ew+H5\newciIiIiIkvUGcP017/+9bPeYMeOHezYsWPeGiQiIiIisly84ZppERERERGZoTAtIiIiIlImhWkR\nERERkTIpTIuIiIiIlElhWkRERESkTArTIiIiIiJlUpgWERERESmTwrSIiIiISJkUpkVEREREyqQw\nLSIiIiJSJoVpEREREZEyKUyLiIiIiJRJYVpEREREpEwK0yIiIiIiZVKYFhEREREpk8K0iIiIiEiZ\nFKZFRERERMqkMC0iIiIiUiaFaRERERGRMilMi4iIiIiUSWFaRERERKRMCtMiIiIiImVSmBYRERER\nKZPCtIiIiIhImRSmRURERETKpDAtIiIiIlImhWkRERERkTIpTIuIiIiIlElhWkRERESkTGcM05/7\n3Oe48soricVixONxtm3bxosvvnjSNdu3b8flcp302Lx584I2WkRERERkKThjmH7iiSf46Ec/ypNP\nPsmPf/xjPB4P73jHO0gkErPXGIbBDTfcwPDw8OzjBz/4wYI3XERERERksXnOdPKxxx476e8PPvgg\nsViM3bt38+53vxsAx3Hw+XzE4/GFa6WIiMgSdvCgSW/v6c+3tUF3d+D8NUhEzpszhulflkwmsW2b\nqqqq2WOGYbBr1y7q6+uprKzk2muv5bOf/Sx1dXXz3lgREZGlqLcXtm49fVh+9FGT7u7z2CAROW/e\nUJi+/fbbueyyy7jqqqtmj73zne/kN3/zN+no6KCnp4dPfepTbNmyhb179+Lz+ea9wSIiIiIiS4Xh\nOI5zLhd+/OMf55FHHmHXrl20t7ef9rqhoSHa2tp4+OGHuemmm2aPT09Pzz4/fPhw+S0WERFZYnp6\n2rj55tP/RvaRR8bo6DhDHYiILFldXV2zz2Ox2Cnnz2lk+mMf+xiPPPIIjz/++BmDNEBjYyMtLS0c\nOXLkjbVURERERGSZOWuYvv322/nWt77F448/zurVq896w7GxMQYGBmhsbDztNRs3bpx9vmfPnlOO\nyblT/5VPfTc36r+5Uf+Vbyn23fi4ecbzkUhkybR3KfbfcqL+K99y7bvXVle8njMujXfbbbfxT//0\nT3zzm98kFovNLn2XyWQAyGQyfOITn+Cpp57i+PHj/OQnP2Hbtm3U19efVOIhIiIiInIhOmOYvv/+\n+0mn07z97W+nqalp9vFXf/VXALjdbvbv38+v//qvs2bNGrZv3053dzdPPvkk4XD4vLwBEREREZHF\ncsYyD9u2z/jiQCBwylrUIiIibzZtbTPL353pvIhcmN7Q0ngiIiJyqu7ugNaRFnmTOmOZh4iIiIiI\nnJ7CtIiIiIhImRSmRURERETKpDAtIiIiIlImhWkRERERkTIpTIuIiIiIlElhWkRERESkTArTIiIi\nIiJlUpgWERERESmTwrSIiIiISJkUpkVEREREyqQwLSIiIiJSJoVpEREREZEyKUyLiIiIiJRJYVpE\nREREpEwK0yIiIiIiZVKYFhEREREpk8K0iIiIiEiZFKZFRERERMqkMC0iIiIiUiaFaRERERGRMilM\ni4iIiIiUSWFaRERERKRMCtMiIiIiImVSmBYRERERKZPCtIiIiIhImRSmRURERETKpDAtIiIiIlKm\nM4bpz33uc1x55ZXEYjHi8Tjbtm3jxRdfPOW6u+++m+bmZkKhENdffz0HDhxYsAaLiIiIiCwVnjOd\nfOKJJ/joRz/KlVdeiW3bfPrTn+Yd73gHBw4coKqqCoDPf/7z3HfffTzwwAOsXr2az3zmM9xwww0c\nOnSIioqK8/ImRESWg4MHTXp7Z56nUm0AjI+bs+fb2qC7O7AYTRMRkTKdMUw/9thjJ/39wQcfJBaL\nsXv3bt797nfjOA5f/OIXueuuu7jpppsAeOCBB4jH4zz00EPceuutC9dyEZFlprcXtm59NSyfGpof\nfdSku/v8tklERObmDdVMJ5NJbNueHZXu6elhZGSEG2+8cfaaQCDANddcw+7du+e3pSIiIiIiS4zh\nOI5zrhfffPPNHD16lD179mAYBrt37+bqq6/mxIkTtLS0zF73wQ9+kMHBwZNGtqenp2efHz58eJ6a\nLyKyfPT0tHHzzXWnPf/II2N0dPSexxaJiMjZdHV1zT6PxWKnnD9jmcdrffzjH2f37t3s2rULwzDO\nev25XCMiIiIispydU5j+2Mc+xiOPPMLjjz9Oe3v77PGGhgYARkZGThqZHhkZmT33ejZu3Dj7fM+e\nPacck3On/iuf+m5u1H9v3GsnG76eSCSi/jwH+rc3N+q/uVH/lW+59t1rqytez1lrpm+//XYefvhh\nfvzjH7N69eqTznV0dNDQ0MDOnTtnj5mmya5du9i8eXOZTRYRERERWR7OODJ922238Y1vfIPvfe97\nxGIxhoeHgZnRk3A4jGEY3HHHHdx7772sXbuWrq4u7rnnHiKRCO9973vPyxsQEREREVksZwzT999/\nP4Zh8Pa3v/2k43fffTef/vSnAbjzzjvJ5XLcdtttJBIJNm3axM6dOwmHwwvXahGRZaitbWb5O4BU\nKgXMDE689ryIiCwvZwzTtm2f00127NjBjh075qVBIiIXqu7uwOw60nv27AeWX+2giIic7A2tMy0i\nIiIiIv9NYVpEREREpEwK0yIiIiIiZVKYFhEREREpk8K0iIiIiEiZFKZFRERERMqkMC0iIiIiUiaF\naRERERGRMilMi4iIiIiUSWFaRERERKRMCtMiInJBs20H23YWuxkicoHyLHYDRERE5lvJsjELJYol\ni2JpJkj7vC5iYT+GYSxy60TkQqIwLSIiFwzLssnmi+TyFrkcFIvg2AYODuGwjd9bIuj3LnYzReQC\nojAtIiIXhKxZJGsWyWShUAC/10sk4MbtdpHLF7Gsoso9RGTeKUyLiMiyZlk2yWyenOmQyYDX7aEy\n7D2pnKNk2fh94HFrqpCIzC+FaRERWbbyhRLpXIFUGgp5iIT8eD3uk65xHIeSbRH1gc/rPs2dRETK\nozAtIiLLUiZXYDJpMpGwcGwDv9fHdCZP0OchHPTNXpfNF/H5wOtxa/KhiMw7hWkREVlWbNthOlvg\nxEiaqSkHbC8uPBRNA9txcGIlAj4PbreLkmVTtEpUVkA4oImHIjL/FKZFRGTZKBYthqdyTCchY+VI\nJPOUbJtYKEBjTYyA14tt27w6zTBjFggGIeifCdciIvNNYVpERJaFTK7A0ESK/mGblweyBGI9JEsT\n5EoZ/O4g1f461jQ1sf35lQD0friA22MTChonlX2IiMwnhWkREVnyplI5hiazHD2e57kjUyTsURxX\nnqpKg4pKFzlzkgPjfXxu5Fd47rcT1FdFyBbyVMZmJiWKiCwUhWkREVmybNthIpllZMJkcKjEvsND\njFn95D1jXLG6Eb/v1dINh38c+n3+oPo7jE5liIR9RCJQEfJpOTwRWVAK0yIisiQVihaJVI7B0TyJ\nSRiezDKSGSbNKO0NDkODMyG5vR127Pl9PtT8P7FyBZI5k3AYKoIeAj59zYnIwtKnjIiILDlmocRk\n0mRoNM9UwgHbxcG+YXqmj1EZtSlacLzH4mfRP4Bx+OSGL9E/lKfCHaSuykc46FadtIicFwrTIiKy\npGTNItPpAr0DOQaGc6TSkM2XGJ6ewnAXmZoKsHevn951fwDAut4vcSxiUyr5uLg5zuoVlURCCtIi\ncn4oTIuIyJKRyRVIJPM8s3+EPS+NMZLIU3Ly5PMWg8lhIvUWzQ1F4vE8vUm4evpveLine truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x9d524a8>"
"<matplotlib.figure.Figure at 0x9ea99e8>"
]
},
"metadata": {},
@@ -1782,7 +1809,7 @@
"name": "stdout",
"output_type": "stream",
"text": [
"[ 0.008653 0.00889465 0.00077193]\n"
"[ 0.00871873 0.00883399 0.00077378]\n"
]
}
],
@@ -1790,8 +1817,9 @@
"landmarks = array([[5, 10], [10, 5], [15, 15], [20, 5], [15, 10], \n",
" [10,14], [23, 14], [25, 25], [10, 20]])\n",
"\n",
"ekf = run_localization(landmarks, sigma_vel=0.1, sigma_steer=np.radians(1),\n",
" sigma_range=0.3, sigma_bearing=0.1)\n",
"ekf = run_localization(\n",
" landmarks, std_vel=0.1, std_steer=np.radians(1),\n",
" std_range=0.3, std_bearing=0.1)\n",
"print(ekf.P.diagonal())"
]
},
@@ -1832,9 +1860,9 @@
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAt8AAAEWCAYAAAC+BfslAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xtc1FX+x/HXDHJTQVQEUVHxrkVqohZppimGbptbaWmh\nkl2ksszS1rLVWle3i6xr5aUyMitXu9l6SdEua6SlZGreUsNbypCgoqhIwvz++P4kR24zOPDl8n4+\nHvOY4XzP+X4/c0D8zOF8z7HY7XY7IiIiIiJS5qxmByAiIiIiUl0o+RYRERERKSdKvkVEREREyomS\nbxERERGRcqLkW0RERESknCj5FhEREREpJ0q+RURERETKiVPJ9+zZswkLC8PX15eIiAiSkpJKbDNz\n5kzatWuHj48PjRo1YuLEiVccrIiIiIhIZVajpAqLFy9m7NixzJkzhx49evD6668THR3Nzp07CQ0N\nLbTNuHHjWLFiBa+88grh4eFkZmaSmprq9uBFRERERCoTS0k7XHbv3p1OnToxb968/LI2bdpw5513\nMm3atAL1f/75Z8LDw/npp59o27at+yMWEREREamkip12kpOTw+bNm4mKinIoj4qKYv369YW2+eyz\nz2jRogUrV66kRYsWhIWFMXLkSI4dO+a+qEVEREREKqFik+/09HRyc3MJDg52KA8KCsJmsxXaJiUl\nhYMHD7JkyRLeffddFi5cyO7du7n11lspYZBdRERERKRKK3HOt6vy8vI4f/48CxcupFWrVgAsXLiQ\ntm3bkpycTNeuXfPrZmZmuvvyIiIiIiLlpk6dOi7VL3bkOzAwEA8PD9LS0hzK09LSCAkJKbRNSEgI\nNWrUyE+8AVq1aoWHhweHDh1yKTgRERERkaqk2OTby8uLLl26kJiY6FC+Zs0aIiMjC23To0cPLly4\nQEpKSn5ZSkoKubm5NGvWzA0hi4iIiIhUTiWudrJkyRJiYmKYPXs2kZGRzJ07l4SEBHbs2EFoaCgT\nJ05k06ZNrF27FgC73U7Xrl2pXbs2M2fOxG63M3bsWH7//fcCN2leOu3E1SH76ig5ORmAiIgIkyOp\nPKpCn1metwBgn1z290xUhf4qb+oz16nPXKP+cp36zDXqL9ddSQ5b4pzvIUOGkJGRwdSpU0lNTSU8\nPJyVK1fmr/Fts9kcRrktFgvLly/nscce48Ybb8TX15eoqCji4+NdCkxEREREpKpx6obLuLg44uLi\n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 truncated
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAt8AAAEWCAYAAAC+BfslAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xlc1NX+x/HXsIOACwiK+4rrVRO1UDNL8ZJZ3utu15Is\nk2wxb9ey7JfeTFtu1tVSW0zN0tzKFs2tzdQsybQULQ13BcUFMEEU5vfH9zI5ssPMfFnez8djHjNz\nvud8v585IX04c77nWKxWqxUREREREXE6N7MDEBERERGpLJR8i4iIiIi4iJJvEREREREXUfItIiIi\nIuIiSr5FRERERFxEybeIiIiIiIso+RYRERERcZEiJd+zZ8+mUaNG+Pr6EhERwebNmwtt8+qrr9Ki\nRQt8fHwICwtj4sSJpQ5WRERERKQ88yiswtKlSxk3bhxz5syhW7duvP7660RHRxMfH0+9evXybDN+\n/HhWr17Nf/7zH9q2bUtKSgonT550ePAiIiIiIuWJpbAdLrt06UL79u154403bGXNmzdn4MCBTJs2\nLVf9X3/9lbZt2/LLL78QHh7u+IhFRERERMqpAqedZGZmsmPHDqKiouzKo6Ki2Lp1a55tPv74Yxo3\nbsyaNWto3LgxjRo1YuTIkZw+fdpxUYuIiIiIlEMFJt/JyclkZWURGhpqVx4SEkJiYmKebRISEjh8\n+DDLli3j3XffZdGiRezbt49+/fpRyCC7iIiIiEiFVuic7+LKzs7m0qVLLFq0iKZNmwKwaNEiwsPD\niYuLo1OnTra6KSkpjr68iIiIiIjLVK1atVj1Cxz5Dg4Oxt3dnaSkJLvypKQkateunWeb2rVr4+Hh\nYUu8AZo2bYq7uztHjhwpVnAiIiIiIhVJgcm3l5cXHTt2ZP369XblGzZsIDIyMs823bp148qVKyQk\nJNjKEhISyMrKokGDBg4IWURERESkfCp0tZNly5YxYsQIZs+eTWRkJHPnzmX+/Pns2bOHevXqMXHi\nRLZv387GjRsBsFqtdOrUCX9/f1599VWsVivjxo3j8uXLuW7SvHraSXGH7CV/cXFxAERERJgcScVS\n0fvVMsUCgPUZ196bUdH71SzqV+dQvzqP+tY51K/OUZocttA534MHD+bMmTNMnTqVkydP0rZtW9as\nWWNb4zsxMdFulNtisfDZZ5/x8MMPc+ONN+Lr60tUVBQzZswoVmAiIiIiIhVNkW64jI2NJTY2Ns9j\n8+fPz1VWq1Ytli1bVrrIREREREQqmCJtLy8i5YvFYjxERESkbFHyLSIiIiLiIkq+RURERERcxOGb\n7IiIiIg4QnZ2NpmZmWaHUa7lLPOckZFhciTlh5eXF25uzhufVvItIiIiZY7VauXSpUv4+Phg0U0s\nJebj42N2COWK1WolIyPDqT93mnYiIiIiZU5mZiZeXl5KvMWlLBYLXl5eTv3GRcm3SAVktRoPEZHy\nymq14u7ubnYYUgm5u7tTyB6UpaLkW0RERETERZR8i4iIiIi4iJJvEREREREXUfItIiIiIuXaoUOH\ncHNzY+HChWaHUigl3yJO9tHej5j+7XTb480f3zQ7JBERMcmCBQtwc3PDzc2NzZs351mnadOmuLm5\n0bNnT6fGsnXrVqZMmUJKSopTzp+Zmclrr71G165dqV69Ot7e3jRu3JhRo0axY8cOp1yzPKyOo3W+\nRZxsye4lLI9fbnvfMrglozuOduo1c373aMUTEZGyydfXl8WLF9OtWze78m3btpGQkOCS9c1zku+Y\nmBiqVq3q0HOfPXuW6Ohotm/fTnR0NJMnTyYwMJCEhASWL1/OggULOHr0KGFhYQ69bnmg5FvERbrW\n68qWo1s4m36W2dtnAxDVJIqmNZqaHJmIiLhadHQ0y5cvZ+bMmXh4/JmOLV68mBYtWrh0mUVnLKs3\ncuRI4uLiWLp0KYMGDbI7NmXKFF555RWHXDczM7PcLUmpaSciLtKrcS8Akv5IYuyasYxdM5Yub3ch\n9rNYpnw9xeToRETElYYNG8bZs2dZt26drSwrK4tly5Zx55135tnm4sWL/Otf/6J+/fr4+PjQvHlz\nXnjhhVxJrJubG7GxsaxatYo2bdrg4+NDmzZt7K41efJkJkyYAECjRo1sU2E2bdpkq7N+/Xp69OhB\nQEAAAQEBREdHs2vXrkI/2w8//MBnn33GqFGjciXeOfH985//pE6dOgAcPnyYsWPH0rJlS6pUqUL1\n6tXp168fu3fvtmv39ddf4+bmxuLFi5k8eTL169fHz8+P48eP5xvLrl27uPXWW6latSr+/v707Nkz\n3+k+rqKRbxEXqe5TndiIWADmxM0B4Gz6Web+OJeWwS155qZnzAxPRERcqG7dunTv3p3FixfTt29f\nADZu3MipU6cYNmwYS5YssatvtVrp378/GzduZNSoUXTs2JGNGzcyceJEDh06xJw5c+zqf/fdd3z6\n6ac88MAD+Pv7M3PmTAYMGMCRI0eoUaMGAwYMYP/+/SxZsoRXX32V4OBgAFq0aAEYI/AjRowgKiqK\n559/noyMDN588026d+/O9u3bCQ8Pz/ezffLJJwDcddddReqLuLg4vv32WwYPHkz9+vU5fvw4b7zx\nBj169GDPnj3UqlXLrv60adNwd3fn0UcfxWq1UqVKFdLS0nKdd+/evXTv3p2AgAAmTJiAt7c3b731\nFr169WLDhg107969SPE5mpJvERepHVCbR65/BID+Lfrz+9nfOXnhJM9uetbkyERExNUsFgvDhw9n\n/PjxpKen4+vry/vvv8/1119P48aNc9X/9NNP2bhxI1OmTOHpp58GYMyYMdxzzz288cYbPPjgg7Ru\n3dpWf9++fcTHx9vO1bNnT9q1a8eSJUsYO3Ysbdu2pUOHDixZsoT+/ftTv359W9s//viDBx98kJiY\nGN5++21b+ahRowgPD+ff//4377//fr6fLT4+HoC//OUvReqLvn37MmDAALuyESNG0KpVK+bNm8dT\nTz1ld+zChQvs3bsXX19fW1leyfdTTz1FZmYmmzZtokmTJgDExMTQokULxo8fz/bt24sUn6Mp+RYx\nQVSTKGgC8afjlXyLiJSSZYpzb0y0PuOcu9cHDRrEQw89xKpVq+jfvz+rVq1i+vTpedZdvXo17u7u\nPPLII3bl//znP1mwYAGrV6+2S7579uxpl8S3bduWwMBADh48WGhcGzZs4Pz58wwbNozk5GS7Y926\ndeOrr74qsH1qaioWi4WAgIBCrwXg4+Nje33x4kXS09MJCAigefPm/Pjjj7nq33XXXXaJd16ysrJY\nt24d/fr1syXeAEFBQYwcOZKXX36Z06dPU7NmzSLF6EhKvkUcKPazWFbvXw3AlewrnLxwkobVGro8\nDq1yIiJS9lWvXp0+ffrw3nvv4ebmRnp6OkOGDMmz7uHDhwkNDSUwMNCuvHnz5ri5uXH48GG78qtH\nsq++3rlz5wqN67fffgOgd+/eeR4v7AbHwMBArFYraWlpueLNS0ZGBv/3f//He++9R2Jiot2xvJLj\nq5Pp/Jw+fZr09PQ8p8fkTK05dOiQkm+R8ujguYMMXTkUgB+O/5Dr+KHzh1wckYhI5eKskWlXGD58\nOHfddRepqan07t3bNvc6L8VZHSS/BLko58jOzgZg4cKFtpsii6NVq1asWrWKn3/+OddSinl56KGH\nmD9/Pg8//DCRkZFUq1YNi8XCuHHjbLFcrbBR77JOybdIKaVfSc+VdD/Z7Ul8PX2p5f/nTSIRYRGu\nDk1ERMq4O+64A29vb7Zu3Vrg7owNGjRg48aNpKam2o0m//bbb2RnZ9OwYcNiXzu/dcSbNjWWwA0O\nDubmm28u9nlvv/12pk2bxrvvvluk5Hv58uXcfffdzJgxw6787NmzJR6ZrlmzJn5+fuzbty/XsZyy\nkvSZIyj5FnGQBlUbsHTgUgCa1mhKkF+QyRGJiEhZ5+vry5w5c0hISKB///751uvXrx9vvfUWM2fO\nZNKkSbbyGTNmYLFYbCumFEeVKlUAI8m9eppKnz59qFatGtOmTaNXr154enratUtOTi5whL5z587c\neuutvPPOO/Tp0yfXzZTZ2dm88sorDB06lDp16uDh4ZFrhHvJkiWcPHmywFVVCuLu7s5f//pXPv30\nUxISEmzz38+ePcvChQvp1KmTKVNOQMm3iMP4efrRpW6XErW9ePki245tA6BZjWZK3EVEKpF//OMf\nhda57bbb6N27N8888wyHDx+mQ4cOfPnll3z44YeMGTOGVq1aFXqOa6ecdOrUCYCJEycybNgwvLy8\nuOWWW6hZsyZz587lzjvvpEOHDgwbNoyQkBCOHDnC2rVradOmDfPnzy/wWgsXLiQ6OppBgwZx6623\n0qtXLwIDAzl06BArVqxg//79DB8+HDBGyt99910CAwNp3bo1O3fuZNmyZTRu3LhUG/FMnTqV9evX\n061bN8aOHWtbajA1NZWXX365xOctLSXfImXA4ZTD3DDvBgCWDlzK4NaDTY5IREScpSjbxudV56OP\nPuKZZ57hgw8+4N1336VBgwZMnz7dtllOcc/ZsWNHpk+fzuzZs7nnnnuwWq189dVX1KxZk8GDBxMW\nFsa0adN4+eWXycjIoE6dOnTt2pUxY8YUeq2goCA2b97MG2+8wZIlS5g8eTLp6emEhYXRs2dPlixZ\nQu3atQH473//i6enJ0uXLuXChQt06tSJdevW8dhjj+WKuSh9l6NFixZs3ryZiRMn8sILL5CdnU2n\nTp2YN29ekabDOIvF6ow9RYsoJSXF9rpq1apmhVHhxMXFARARoTnGjpRfv8afjqf17Na0DG5J/Nj4\nYp3z4LmDDFs5DIDfzvzGuYxzDkm+c343Fedfd85SXa6+cUk/r86hfnUO9avzXNu3GLine truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x9e28748>"
"<matplotlib.figure.Figure at 0x73db128>"
]
},
"metadata": {},
@@ -1844,7 +1872,7 @@
"name": "stdout",
"output_type": "stream",
"text": [
"actual mean=1.30, std=1.12\n",
"actual mean=1.30, std=1.13\n",
"EKF mean=1.00, std=0.95\n"
]
}
@@ -1872,9 +1900,9 @@
"outputs": [
{
"data": {
"image/png": "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 truncated
"image/png": "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\ngzl8+DBLlizJdf6OHTv48ssvefDBB6latSqLFy9m2LBhHD16lFq1ajFs2DAOHTrEihUrWLRoEd7e\n3gC0bdsWsI7AjxkzhoCAAJ5//nnS09N566236NOnD7GxsbRp0+aa7+2LL74AYOzYsUXqi7i4OL79\n9ltGjBhB48aNOX78OG+++SZ9+/Zl//791K1bN9f58+fPx8XFhZkzZ2KxWKhSpQrnz5/P0+7PP/9M\nnz598PLy4vHHH8fNzY23336bW2+9laioKPr06VOkfPam4ltERESklJlMJkaPHs2sWbNIS0vDw8OD\njz/+mOuvv57mzZvnOf/LL78kOjqasLAw5syZA8CUKVOYOHEib775JlOnTqVDhw455x88eJADBw7k\ntNW/f3+6dOnCihUreOihh+jUqRPdunVjxYoV3HnnnTRu3Djn2osXLzJ16lQmTJjAO++8k3N80qRJ\ntGnThmeeeYaPP/74mu/twIEDAHTu3LlIfTF48GCGDRuW69iYMWNo37497777Lk899VSu1y5cuMDP\nP/+Mh4dHzrH8iu+nnnqKjIwMtm7dSosWLQCYMGECbdu2ZdasWcTGxhYpn71p2olIMW0+vJlNv29i\n98ndRkcREREnNHz4cK5cucKaNWtIS0tjzZo115xysm7dOlxcXHj44YdzHX/kkUdyXv+7/v375yri\nO3XqRLVq1fjjjz8KzRUVFUVKSgqjRo0iKSkp5yMzM5PevXuzefPmAq8/d+4cJpMJLy+vQu8F4O7u\nnvP7S5cukZycjJeXF61bt+aHH37Ic/7YsWNzFd75ycrKYuPGjQwZMiSn8AaoXbs248eP54cffuD0\n6dNFymdvGvkWKYZ+Tfvx1g9vceriKZrWaMqakWscfs/QUIffQkTEKc3dMpewb8Ic1n5o31Dm9ptr\n93Zr1qzJwIED+eijjzCbzaSlpXHPPffke+6RI0fw9fWlWrVquY63bt0as9nMkSNHch3/+0j23+93\n9uzZQnP9+qt1quWAAQPyfb2wBxyrVauGxWLh/PnzefLmJz09naeffpqPPvqIhISEXK/VqVMnz/l/\nL6av5fTp06SlpeU7Pebq1JrDhw/n276jqfgWAVoubonJZOJfbf/FwoELCz1/9YjVAKw5uIb397zv\n4HRWWulERCR/c/vNdUhxXBpGjx7N2LFjOXfuHAMGDMiZe50fW1YHuVaBXJQ2srOtq3wtW7Ys56FI\nW7Rv3541a9bw448/0rt370LPnzZtGpGRkUyfPh1/f39q1KiByWRixowZOVn+rrBR77JOxbdUeIem\nHQJg9c+r+enUTwanERGRiuSOO+7Azc2NmJiYAndnbNKkCdHR0Zw7dy7XaPKvv/5KdnY2TZs2tfne\n11rBq2XLlgB4e3tz880329zu0KFDmT9/Ph988EGRiu9PP/2UcePGER4enuv4mTNnij0yXadOHTw9\nPTl48GCe164eK06f2YPmfEuF16xmM5rVbEYdzzr8cOIHnoh6gn7v92PEpyOYuXGm0fFERKQc8/Dw\nYMmSJYSGhnLnnXde87whQ4aQnZ3N4sWLcx0PD7cug3t1xRRbVKlSBbAWuX83cOBAatSowfz587ly\n5Uqe65KSkgpst2fPngwaNIj33nuP1atX53k9OzubhQsX5iwRWKlSpTwj3CtWrODkyZM2vZ+/c3Fx\n4bbbbuPLL78kPj4+5/iZM2dYtmwZPXr0MGTKCWjkWyTHdfWuY0znMYB1TneVylVoWK0hXm5Fe2BE\nRESkOO67775Cz7n99tsZMGAAoaGhHDlyhG7duvH111/zn//8hylTptC+fftC2/jnlJMePXoAEBwc\nzKhRo3B1deWWW26hTp06ObtRduvWjVGjRuHj48PRo0fZsGEDHTt2JDIyssB7LVu2jMDAQIYPH86g\nQYO49dZbqVatGocPH+azzz7j0KFDjB49GrCOlH/wwQdUq1aNDh06sGfPHlatWkXz5s1LtBHPvHnz\n2LRpE7179+ahhx7KWWrw3LlzLFxY+BRTR1HxLfL/Ovl2opNvJ6NjiIhIOVeUDdvyO+e///0voaGh\nfPLJJ3zwwQc0adKEBQsW5GyWY2ub3bt3Z8GCBURERDBx4kQsFgubN2+mTp06jBgxgvr16zN//nwW\nLlxIeno6DRo04MYbb2TKlCmF3qt27dps27aNN998kxUrVjB37lzS0tKoX78+/fv3Z8WKFdSrVw+A\nV199lcqVK7Ny5UouXLhAjx492LhxI48++miezLZsdte2bVu2bdtGcHAwL7zwAtnZ2fTo0YN33323\nSNNhHMVkccSeokWUmpqa8/vq1asbFcNpxMXFAeDn52dwEudxrT6bsnYKXet2ZYpf4X+BFOTqA5eO\nXu3EFGYi1GJx+EOX+h6znfrMduoz21TU/kpPT8+1BJ1IaSrs+68kNazmfIs4iTDHrLine truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x9d0ca58>"
"<matplotlib.figure.Figure at 0xa0ce160>"
]
},
"metadata": {},
@@ -1884,7 +1912,7 @@
"name": "stdout",
"output_type": "stream",
"text": [
"actual mean=1.30, std=1.13\n",
"actual mean=1.30, std=1.14\n",
"UKF mean=1.30, std=1.08\n"
]
}
+61 -41
View File
@@ -322,9 +322,9 @@
"outputs": [
{
"data": {
"image/png": "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 truncated
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x45601d0>"
"<matplotlib.figure.Figure at 0x791cba8>"
]
},
"metadata": {},
@@ -398,7 +398,7 @@
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x8901f60>"
"<matplotlib.figure.Figure at 0x84fcda0>"
]
},
"metadata": {},
@@ -476,7 +476,7 @@
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x8cb9f28>"
"<matplotlib.figure.Figure at 0x8c9e5f8>"
]
},
"metadata": {},
@@ -497,8 +497,10 @@
"area = 2*2\n",
"pi = area*(in_circle_count / N)\n",
"\n",
"plt.scatter(ps[in_circle,0], ps[in_circle,1], marker=',', edgecolor='k', s=1)\n",
"plt.scatter(ps[~in_circle,0], ps[~in_circle,1], marker=',', edgecolor='r', s=1)\n",
"plt.scatter(ps[in_circle,0], ps[in_circle,1], \n",
" marker=',', edgecolor='k', s=1)\n",
"plt.scatter(ps[~in_circle,0], ps[~in_circle,1], \n",
" marker=',', edgecolor='r', s=1)\n",
"plt.axis('equal')\n",
"\n",
"print('mean pi(N={})= {:.4f}'.format(N, pi))\n",
@@ -529,7 +531,7 @@
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x892a5f8>"
"<matplotlib.figure.Figure at 0x8500da0>"
]
},
"metadata": {},
@@ -563,7 +565,7 @@
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x8ccd438>"
"<matplotlib.figure.Figure at 0x937e780>"
]
},
"metadata": {},
@@ -619,7 +621,8 @@
"\n",
"class ParticleFilter(object):\n",
"\n",
" def __init__(self, N, x_dim, y_dim, landmarks, measure_std_error):\n",
" def __init__(self, N, x_dim, y_dim, \n",
" landmarks, measure_std_error):\n",
" self.N = N\n",
" self.x_dim = x_dim\n",
" self.y_dim = y_dim\n",
@@ -687,7 +690,8 @@
"def update(self, z):\n",
" self.weights.fill(1.)\n",
" for i, landmark in enumerate(self.landmarks):\n",
" dist = np.linalg.norm(self.particles[:, 0:2] - landmark, axis=1)\n",
" y = self.particles[:, 0:2] - landmark\n",
" dist = np.linalg.norm(y , axis=1)\n",
" self.weights *= scipy.stats.norm(dist, self.R).pdf(z[i])\n",
" self.weights /= sum(self.weights) # normalize\n",
"```\n",
@@ -796,14 +800,15 @@
"name": "stdout",
"output_type": "stream",
"text": [
"final position error, variance: [ 18.00486271 18.00176074] [ 0.00458291 0.00448719]\n"
"final position error, variance:\n",
"\t [ 18.00486271 18.00176074] [ 0.00458291 0.00448719]\n"
]
},
{
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x89c06a0>"
"<matplotlib.figure.Figure at 0x9361c50>"
]
},
"metadata": {},
@@ -820,15 +825,19 @@
" initial_x=None):\n",
" landmarks = np.array([[-1, 2], [5, 10], [12,14], [18,21]])\n",
" NL = len(landmarks)\n",
" pf = RobotLocalizationParticleFilter(N, 20, 20, landmarks, sensor_std_err)\n",
" pf = RobotLocalizationParticleFilter(\n",
" N, 20, 20, landmarks, sensor_std_err)\n",
" \n",
" if initial_x is not None:\n",
" pf.create_gaussian_particles(mean=initial_x, var=(5, 5, np.pi/4))\n",
" pf.create_gaussian_particles(mean=initial_x, \n",
" var=(5, 5, np.pi/4))\n",
" \n",
" if plot_particles:\n",
" alpha = .20\n",
" if N > 5000:\n",
" alpha *= np.sqrt(5000)/np.sqrt(N) \n",
" plt.scatter(pf.particles[:, 0], pf.particles[:, 1], alpha=alpha, color='g')\n",
" plt.scatter(pf.particles[:, 0], pf.particles[:, 1], \n",
" alpha=alpha, color='g')\n",
" \n",
" xs = []\n",
" pos = np.array([0., 0.])\n",
@@ -846,8 +855,10 @@
" mu, var = pf.estimate()\n",
" xs.append(mu)\n",
" if plot_particles:\n",
" plt.scatter(pf.particles[:, 0], pf.particles[:, 1], color='k', marker=',', s=1)\n",
" p1 = plt.scatter(pos[0], pos[1], marker='+', color='k', s=180, lw=3)\n",
" plt.scatter(pf.particles[:, 0], pf.particles[:, 1], \n",
" color='k', marker=',', s=1)\n",
" p1 = plt.scatter(pos[0], pos[1], marker='+',\n",
" color='k', s=180, lw=3)\n",
" p2 = plt.scatter(mu[0], mu[1], marker='s', color='r')\n",
" \n",
" xs = np.array(xs)\n",
@@ -855,7 +866,7 @@
" plt.legend([p1, p2], ['Actual', 'PF'], loc=4, numpoints=1)\n",
" plt.xlim(*xlim)\n",
" plt.ylim(*ylim)\n",
" print('final position error, variance:', mu, var)\n",
" print('final position error, variance:\\n\\t', mu, var)\n",
"\n",
"from numpy.random import seed\n",
"seed(2) \n",
@@ -901,14 +912,15 @@
"name": "stdout",
"output_type": "stream",
"text": [
"final position error, variance: [ 8.06115913 7.89412269] [ 0.0029203 0.00299334]\n"
"final position error, variance:\n",
"\t [ 8.06115913 7.89412269] [ 0.0029203 0.00299334]\n"
]
},
{
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x8d2ceb8>"
"<matplotlib.figure.Figure at 0x938c198>"
]
},
"metadata": {},
@@ -917,7 +929,8 @@
],
"source": [
"seed(2)\n",
"run_pf1(N=5000, iters=8, plot_particles=True, xlim=(0,8), ylim=(0,8))"
"run_pf1(N=5000, iters=8, plot_particles=True, \n",
" xlim=(0,8), ylim=(0,8))"
]
},
{
@@ -954,14 +967,15 @@
"name": "stdout",
"output_type": "stream",
"text": [
"final position error, variance: [ 8.03991809 7.93388899] [ 0.00275743 0.00305754]\n"
"final position error, variance:\n",
"\t [ 8.03991809 7.93388899] [ 0.00275743 0.00305754]\n"
]
},
{
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x8d2c0b8>"
"<matplotlib.figure.Figure at 0x8f07b38>"
]
},
"metadata": {},
@@ -970,7 +984,8 @@
],
"source": [
"seed(2) \n",
"run_pf1(N=100000, iters=8, plot_particles=True, xlim=(0,8), ylim=(0,8))"
"run_pf1(N=100000, iters=8, plot_particles=True, \n",
" xlim=(0,8), ylim=(0,8))"
]
},
{
@@ -982,7 +997,8 @@
"Another approach is to be smarter about generating the initial particle cloud. Suppose we know that the robot is near (0,0). This is not exact, as the simulation actually places the robot at (1,1), but it is close. If instead of creating a uniform cloud of particles over the entire map we made a normally distributed cloud near (0, 0) there is a much greater chance of the particles matching the robot's position. The particle filter code includes the method `create_gaussian_particles()`; feel free to alter the code above to use this function as in the code snippet below. However, we will be using this in the next section to help with a different problem, so feel free to wait.\n",
"\n",
"```python\n",
"pf = RobotLocalizationParticleFilter(N, 20, 20, landmarks, sensor_std_err)\n",
"pf = RobotLocalizationParticleFilter(\n",
" N, 20, 20, landmarks, sensor_std_err)\n",
"pf.create_gaussian_particles(mean=(0, 0), var=(10,10))\n",
"```"
]
@@ -1007,14 +1023,15 @@
"name": "stdout",
"output_type": "stream",
"text": [
"final position error, variance: [ 13.65600711 -15.87383315] [ 51.52147194 34.40736373]\n"
"final position error, variance:\n",
"\t [ 13.65600711 -15.87383315] [ 51.52147194 34.40736373]\n"
]
},
{
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x8a512e8>"
"<matplotlib.figure.Figure at 0x9574a90>"
]
},
"metadata": {},
@@ -1046,14 +1063,15 @@
"name": "stdout",
"output_type": "stream",
"text": [
"final position error, variance: [ 17.92304664 18.07173658] [ 0.00451171 0.00429415]\n"
"final position error, variance:\n",
"\t [ 17.92304664 18.07173658] [ 0.00451171 0.00429415]\n"
]
},
{
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x8f92dd8>"
"<matplotlib.figure.Figure at 0xaf8ee80>"
]
},
"metadata": {},
@@ -1122,7 +1140,8 @@
"def update(self, z):\n",
" self.weights.fill(1.)\n",
" for i, landmark in enumerate(self.landmarks):\n",
" dist = np.linalg.norm(self.particles[:, 0:2] - landmark, axis=1)\n",
" y = self.particles[:, 0:2] - landmark\n",
" dist = np.linalg.norm(y, axis=1)\n",
" self.weights *= scipy.stats.norm(dist, self.R).pdf(z[i])\n",
" self.weights /= sum(self.weights) # normalize\n",
"```\n",
@@ -1180,7 +1199,7 @@
"data": {
"image/png": "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\nOP8CSdsd9j7kQ7EAAAAASUVORK5CYII=\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x8f9c550>"
"<matplotlib.figure.Figure at 0x93c19b0>"
]
},
"metadata": {},
@@ -1223,7 +1242,7 @@
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x8fbe978>"
"<matplotlib.figure.Figure at 0xb381b38>"
]
},
"metadata": {},
@@ -1297,7 +1316,7 @@
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x8a5a0f0>"
"<matplotlib.figure.Figure at 0x95855c0>"
]
},
"metadata": {},
@@ -1342,7 +1361,7 @@
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x890cfd0>"
"<matplotlib.figure.Figure at 0x7c1a358>"
]
},
"metadata": {},
@@ -1363,7 +1382,7 @@
"```python\n",
"def stratified_resample(weights):\n",
" N = len(weights)\n",
" # make N subdivisions, and chose a random position within each one\n",
" # make N subdivisions, chose a random position within each one\n",
" positions = (random(N) + range(N)) / N\n",
"\n",
" indexes = np.zeros(N, 'i')\n",
@@ -1405,7 +1424,7 @@
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x8936898>"
"<matplotlib.figure.Figure at 0x85686a0>"
]
},
"metadata": {},
@@ -1427,7 +1446,8 @@
"def systematic_resample(weights):\n",
" N = len(weights)\n",
"\n",
" # make N subdivisions, choose positions with a consistent random offset\n",
" # make N subdivisions, choose positions \n",
" # with a consistent random offset\n",
" positions = (np.arange(N) + random()) / N\n",
"\n",
" indexes = np.zeros(N, 'i')\n",
@@ -1470,7 +1490,7 @@
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x8915780>"
"<matplotlib.figure.Figure at 0x853c3c8>"
]
},
"metadata": {},
@@ -1480,7 +1500,7 @@
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x8933390>"
"<matplotlib.figure.Figure at 0xb39c978>"
]
},
"metadata": {},
@@ -1490,7 +1510,7 @@
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x940a518>"
"<matplotlib.figure.Figure at 0x935bc50>"
]
},
"metadata": {},
@@ -1500,7 +1520,7 @@
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x93a8748>"
"<matplotlib.figure.Figure at 0x8f37780>"
]
},
"metadata": {},
+21 -18
View File
@@ -296,7 +296,7 @@
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x40f05f8>"
"<matplotlib.figure.Figure at 0x436c978>"
]
},
"metadata": {},
@@ -306,7 +306,8 @@
"source": [
"import matplotlib.pyplot as plt\n",
"\n",
"data = [10.1, 10.2, 9.8, 10.1, 10.2, 10.3, 10.1, 9.9, 10.2, 10.0, 9.9, 11.4]\n",
"data = [10.1, 10.2, 9.8, 10.1, 10.2, 10.3, \n",
" 10.1, 9.9, 10.2, 10.0, 9.9, 11.4]\n",
"plt.plot(data);"
]
},
@@ -340,7 +341,7 @@
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x6b34828>"
"<matplotlib.figure.Figure at 0x6e6ccc0>"
]
},
"metadata": {},
@@ -372,7 +373,7 @@
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x709c6d8>"
"<matplotlib.figure.Figure at 0x7457a20>"
]
},
"metadata": {},
@@ -514,9 +515,9 @@
"outputs": [
{
"data": {
"image/png": "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 truncated
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAt4AAAEPCAYAAAB1HsNIAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xd4VFX+x/H3pJPeK4EQSAi9BUIPkIAi4MqyuCr+LNgX\nCyjC2ig2RBF7w8rqYkOBdV0FCTXUQCgJqZDeCyG9ztzfH0MujAk9ySTk+3qePJJ77sw9Nw7hM2e+\n5xyNoigKQgghhBBCiFZlYuwOCCGEEEII0RlI8BZCCCGEEKINSPAWQgghhBCiDUjwFkIIIYQQog1I\n8BZCCCGEEKINmBm7A80pLS01dheEEEIIIYS4ag4ODk2OyYi3EEIIIYQQbUCCtxBCCCGEEG2gXZaa\nnK+5YfrWdujQIQCCg4Pb/Nqi85HXm2hr8poTbUleb6KtGfM1d6lyaRnxFkIIIYQQog1I8BZCCCGE\nEKINSPAWQgghhBCiDUjwFkIIIYQQog20+8mVQgghhBCi7URERPDrr79iamrKX//6V0aNGmXsLl03\nJHgLIYQQQggA3n77bRYsWKB+v3r1atauXcudd95pxF5dP6TURAghhBBCkJuby8KFCwFYsGABDzzw\nADqdjoceeojKykoj9+76IMFbCCGEEEKQkJCAVqslODiY1atXs2bNGrp160ZVVRXp6elt1o/CwkKS\nkpKora1ts2u2FQneQgghhBACLy8vAGJjY/nvf//Ld999R0ZGBhqNBg8Pj1a/fm1tLXfddRfu7u70\n7t0bHx8ffvvtt1a/bluS4C2EEEII0cIURSEnJ4e8vDwURTF2dy5L7969ufXWW6mpqWHGjBncfvvt\nADz66KO4uLi0+vWfeeYZvv76a0xNTfH09KS4uJhZs2aRnJzc6tduK60WvFesWIGJiQmPPfaYwfFl\ny5bh4+ODtbU1EydOJC4urrW6IIQQQgjR5tLT0xkxYgQ+Pj54eXkxbtw4cnJyjN2tS9JoNHz99dc8\n99xzDBo0iKFDh/Laa6/x1ltvtcn1v//+ewC2bt1KTk4O06dPp7q6mv/85z9tcv220CrBe//+/Xz6\n6acMHDgQjUajHl+5ciWrV6/m/fffJyoqCnd3dyZPnkxFRUVrdEMIIYQQok01NDQwffp0Dh06hLW1\nNVZWVuzZs4eZM2d2iJFvCwsLXn75ZY4ePcrhw4dZvHgxpqambXLthoYGAOzt7dFoNNjb2wOg1Wrb\n5PptocWDd2lpKXfeeSdffvklTk5O6nFFUXj77bd55plnmDlzJv369WPt2rWUl5ezbt26lu6GEEII\nIUSbi4mJITY2Fnd3d7Kzs8nIyMDe3p6DBw9y8uRJY3evXZs2bRoAEydOZNiwYaxbtw5TU1OmTJli\n5J61nBYP3g8++CCzZ88mNDTU4J1damoq+fn5Bj88Kysrxo8fz969e1u6G0IIIYQQba6+vh4Aa2tr\nbG1tsbe3x8rKyqBNNO/tt98mLCyMsrIyoqOjsbS05IsvvmDw4MHG7lqLadENdD799FNSUlLUEezz\ny0zy8vIAmsyKdXd3v2jd06FDh1qyi1fEmNcWnY+83kRbk9ecaEud5fVWV1eHq6sraWlpBAQEoNVq\nKSgowNvbm7Kysk7zc7haK1asICkpibKyMnr27Imzs/Nl/cyqqqo4cuQIBw8epLS0lGXLlhnlZx0Q\nEHDR9hYL3omJiTz33HNERkaqtUCKolxWPdP5AV0IIYQQoqOysrJi1apVPPnkk6SlpQH6QcY33ngD\nMzPZMPxSNBoNvXv3vuR59fX1xMbGcvDgQaKiooiNjVVrwU1NTVm4cCG2trat3d0r1mKvgH379lFU\nVES/fv3UY1qtlt27d/PJJ58QGxsLQH5+Pl27dlXPyc/Px9PT84LPGxwc3FJdvGyN75CMcW3R+cjr\nTbQ1ec2JttQZX2/BwcHMnDmTqKgoNBoNISEh2NjYGLtbHZpOp+P48eNERESwdetWdu/ebbCbpomJ\nCSEhIYSFheHr64uVlZVRXnOlpaUXbW+x4D1z5kxGjBihfq8oCvfeey+BgYE8++yzBAQE4OnpyZYt\nWxg2bBgANTU1REZGsmrVqpbqhhBCCCGE0dnb2xMWFmbsbnRYiqKQkpKiBu3t27dTVFRkcE7fvn0J\nCwsjPDyc0NBQHBwcgPZd1tRiwdvBwUG94UbW1tY4OTnRt29fAObPn8+rr75KUFAQAQEBvPzyy9jZ\n2XHHHXe0VDeEEEIIIUQHlJ+fz7Zt29Sw/edt6n19fdWgPWnSJHWnzY6kVYuNNBqNQf32okWLqK6u\nZt68eZSUlDBy5Ei2bNkiH78IIYQQQnQyZWVl7Nq1Sw3ajWXJjZydnZk4cSLh4eGEhYXRq1evDj8v\nsFWD9/bt25scW7p0KUuXLm3NywohhBBCiHamtraW/fv3q0H74MGDBpvjdOnShXHjxqmj2oMHD8bE\npNU2WTcKmV4rhBBCCCFanE6n4+jRowYTIqurq9V2U1NTRo0apQbtkSNHYmlpacQetz4J3kIIIYQQ\n4popisLJkyeJiIggIiKCbdu2cfr0aYNz+vfvT1hYGGFhYYSGhqrbwncWEryFEEIIIcRVycvLU4P2\n1q1byczMNGjv3r27GrQnTZp00SWkOwMJ3kIIIYQQ4rKUlpayc+dONWyfOHHCoN3FxYVJkyap5SP+\n/v4dfkJkS5LgLYQQQgghmlVTU8O+ffvUoB0VFWUwIdLa2prx48erQXvgwIHX3YTIliTBWwghhBBC\nAPpdx48cOaIG7d27d1NTU6O2m5mZMWbMGLV8ZOTIkVhYWBixxx2LBG8hhBBCiE5KURSSkpLUoL19\n+3ZKSkoMzhk4cKAatMePH4+dnZ2RetvxSfAWQgghhLiOREVF8c4771BUVMTQoUN59tlnsbW1Vdtz\ncnLUoB0REUFWVpbB4/38/NRNayZNmoS7u3ub9FurbeBkVhq/7itk/t9DMNFcfyUrEryFEEIIIa4T\nO3bsYMqUKdTX1wOwefNmNm/ezOLFi9m9ezcRERHEx8cbPMbNzU2dEBkWFoa/v3+b9LW6tpLU3ERS\nc+M5lRNPRl4ym/ffS1xqOOMHZRPcx7dN+tGWJHgLIYQQQlwnFi9eTH19PZMmTcLe3p7//e9/REdH\n8/e//109x8bGhtDQUDVoDxgwoNUnRCqKwunyAlJyEkjJiSc1J57c4gwUFIPz+vTYxomUG3hvfS1r\nX2jVLhmFBG8hhBBCiA5Mq9Vy+PBhIiIiOHLkCADbtm0zOKdbt27MnTuXsLAwRowY0eoTIrU6LdmF\nqaTkxJOSG09qTgKllfrNdGpqbckq7E+vrulNHtenewnBQcn06tqlVftnLBK8hRBCCCE6EEVRSEhI\nUGu0d+zYwZkzZwzOcXR0ZNSoURw4cIDTp0/z4osvcvfdd7dan6prK0nLS1JHs9Pyk6mrrzE4p7Ck\nBzEnp5KUMZ4GrTl3TZtH3x7W+Hv1wd9b/+Vo68Ly+1qtm0YnwVsIIYQQop3LysoymBCZk5Nj0O7v\n7094eDg+Pj688sornDlzht9++w2A0aNHc/vtt7dYXxRFoaS88Oxotr50JLcovUnZSKNTWSEcSbyF\nvOIgg+Mutu+x6HbzFutXRyDBWwghhBCinSkpKWH79u1q0E5MTDRod3d3V2u0w8LC8PPzU9tmzJjB\ne++9R3FxMUOHDmXRokXXVFrSWDaSejZkp+QmUFpRfMnHOdm60sO7DwXFt5BXbDhhc3AADO/b+WJo\n57tjIYQQQoh2prq6mj179rB161YiIiKIjo5Gp9Op7ba2tkyYMEEN2v3797/gVuxDhgzhiy++uPq+\n1FaRlpdIak4CKbnxpOUlGZSNaLVm5BQNoKrGiaoax7P/dcLC3J7n7zmEv3cQPbz64GzvBsDYAQo/\nRIC5GcyeCP+YBaP60ym3kpfgLYQQQgjRxhoaGjh8+LAatPfu3Uttba3abm5uztixY9X1tIcPH465\neeuUZZwuKyQ1N/7siiNxpOUVEpcykdIKD8YPPd7kfK3OjE07X2xy3NQUZoUOwcTEMFD36qrh6yUK\n4cPBw7nzhe3zSfAWQgghhGhliqIQHx+vBu0dO3ZQVlamtms0GoYMGUJ4eDgTJkwgPz+fkydP4ujo\nSJ8+fVosdGt1WnKK0s8Gbf3XmbNlIw1ac2JOTuVw/Cxq6uwBGD3oX5iZ1uNo64K/dx96eAXh792H\ndb8rVFQbhmitFk6Xgatj0+vOuaFzB+5GEryFEEIIIVpBRkaGWqO9bds2cnNzDdp79epFWFgY4eHh\nTJw4ERcXF7RaLbNmzWLTpk3qeW+99Ra7d+/Gx8fnivtQU1dNWm6iuqRfWl4itX9abURRNMSnTuLg\niduoqHY1aJs64inGDOyplo00unmsQoMWPFzAywU8ncHTBWyuz1UAW4wEbyGEEEKIFnD69Gm2b9+u\njmonJycbtHt4eKhBOywsjG7dujV5jrVr17Jp0yacnJx4+OGH+eWXX4iNjWXhwoV8++23l+yDfrWR\nBLV0JLsoDUXRXfQxFuaWpOXOMAjdfl7w0C0wdmAITvZNR6u/WSYj2FdDgrcQQgghxFWoqqoiMjJS\nDdpHjhxBUc4tqWdnZ8eECRPUoN23b99LTig8evQoAE899RTPPfccM2fOZMSIEerGOOfT6bRkq2Uj\nCaTmxFNSUXTJfjvYuuB/tmSkh1cQPm49mDnWhPH/AA9neO5ueOBmsLSQcN3SJHgLIYQQQlyGhoYG\noqKiiIiIYOvWrezbt4+6ujq13cLCgtGjR6tBOzg4GDOzK4tabm76ko7ff/+d2bNnq6Pcbm5ul1U2\n8mcaNHi7dqeHdx/8vYKwtupHn+4uTd4AjB0E/16mMGMM2FpL4G4tEryFEEIIIZqhKLine truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x711b6a0>"
"<matplotlib.figure.Figure at 0x74bcfd0>"
]
},
"metadata": {},
@@ -526,6 +527,7 @@
"source": [
"import numpy as np\n",
"from numpy import random\n",
"from numpy.random import randn\n",
"import matplotlib.pyplot as plt\n",
"from filterpy.kalman import KalmanFilter\n",
"import book_plots as bp\n",
@@ -534,7 +536,7 @@
" random.seed(123)\n",
" fk = KalmanFilter(dim_x=2, dim_z=1)\n",
"\n",
" fk.x = np.array([0., 1.]) # initial state (location and velocity)\n",
" fk.x = np.array([0., 1.]) # state (x and dx)\n",
"\n",
" fk.F = np.array([[1., 1.],\n",
" [0., 1.]]) # state transition matrix\n",
@@ -545,7 +547,7 @@
" fk.Q = Q # process uncertainty\n",
"\n",
" # create noisy data\n",
" zs = np.asarray([t + random.randn()*noise for t in range (40)])\n",
" zs = np.asarray([t + randn()*noise for t in range (40)])\n",
"\n",
" # filter data with Kalman filter, than run smoother on it\n",
" mu, cov, _, _ = fk.batch_filter(zs)\n",
@@ -560,9 +562,10 @@
" if not show_velocity:\n",
" bp.plot_measurements(zs, lw=1)\n",
" plt.plot(M[:, index], c='b', label='RTS')\n",
" plt.plot(mu[:, index], c='g', linestyle='--', label='KF output')\n",
" plt.plot(mu[:, index], c='g', ls='--', label='KF output')\n",
" if not show_velocity:\n",
" plt.plot([0, len(zs)], [0, len(zs)], 'k', linewidth=2, label='track') \n",
" N = len(zs)\n",
" plt.plot([0, N], [0, N], 'k', lw=2, label='track') \n",
" plt.legend(loc=4)\n",
" plt.show()\n",
" \n",
@@ -587,9 +590,9 @@
"outputs": [
{
"data": {
"image/png": "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 truncated
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x710d470>"
"<matplotlib.figure.Figure at 0x746f080>"
]
},
"metadata": {},
@@ -616,9 +619,9 @@
"outputs": [
{
"data": {
"image/png": "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 truncated
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x728a160>"
"<matplotlib.figure.Figure at 0x76109e8>"
]
},
"metadata": {},
@@ -655,9 +658,9 @@
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAt0AAAEWCAYAAAC68CsYAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xd8U+X+B/BPkqYjHeke0D1AyqYte+8Coj9wy+UyXHhx\nMK4icgX0XicioiIo6yJXFITrVWQopexZlsiGQinQvZvuJL8/YtOmSUpLz2mS8nm/XueVc5485znf\nHLH99slznkei1Wq1ICIiIiIi0UgtHQARERERUUvHpJuIiIiISGRMuomIiIiIRMakm4iIiIhIZEy6\niYiIiIhExqSbiIiIiEhkTLqJiIiIiEQmWtL93nvvQSqV4qWXXhLrEkRERERENkGUpPvIkSP4+uuv\n0alTJ0gkEjEuQURERERkMwRPugsKCjBhwgSsWbMGHh4eQjdPRERERGRzBE+6n3vuOTz66KMYMGAA\nuMI8ERERERFgJ2RjX3/9NZKTk/Htt98CAIeWEBERERFBwKT70qVLePPNN3HgwAHIZDIAgFarNert\nLigoEOqSRERERETNTqlUNvociVagMSBr167FlClT9Ak3AKjVakgkEshkMqhUKsjlcibdRERERGTT\nLJp0FxQU4Pbt2/pjrVaLyZMno02bNpg7dy6io6P19YiIiIiIbNW9JN2CDS9RKpVGASgUCnh4eOgT\nblPnkDCSkpIAALGxsRaOpGXhfRUP7604eF/FwfsqDt5XcfC+iqOpHceirkgpkUj4MCURERER3fcE\nnb2krsTERDGbJyIiIiKyCaL2dBMREREREZNuIiIiIiLRMekmIiIiIhIZk24iIiIiIpEx6SYiIiIi\nEhmTbiIiIiIikTHpJiIiIiISGZNuIiIiIiKRibo4jhhu5N/A/pT98HX2RbhHOKK8oiwdEhERERFR\nvWyup/vgzYOY+ONEjPzPSPwj8R9QVaiw9OhSqDVqS4dGRERERGSSzfV0Z6oy9fuHUg+h3RftkFqY\nCgeZA56Pfd6CkRERERERmWZzPd21k+704nSkFqYCAObunouckhxLhUVEREREZJZNJ92Lhi9CmHsY\nACC3NBdv7n7TUmEREREREZlle0l3SU3SHaIMwZKRS/THX534CifunLBEWEREREREZtncmO5BoYPg\nLHdGpioTIe4h6OzXGfGR8dh+dTu00OLHiz8iplWMpcMkIiIiItKzuaR7Zq+ZRmWfjvwUtzbewkfD\n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 truncated
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x7301b38>"
"<matplotlib.figure.Figure at 0x7664d68>"
]
},
"metadata": {},
@@ -697,7 +700,7 @@
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAtoAAADaCAYAAACYceUaAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAADVxJREFUeJzt3W1oleUfwPHfMakwi9ToUUyCwBYlaZQEghmE5IsyCior\ntXphJj04Eq3A9SCVPYeVhWVlSWHUi0oorTB6MCoKSpfhUzVdSpiilmHt+r+I/2gYtrn9drb5+UCw\nc98797l2X9u5vp7OQ6WUUgIAAOhQvao9AAAA6ImENgAAJBDaAACQQGgDAEACoQ0AAAmENgAAJBDa\nAACQQGgDAEACoQ0AAAmENgAAJBDaAACQQGgDAEACoQ0AAAmENgAAJBDaAACQQGgDAEACoQ0AAAmE\nNgAAJBDaAACQQGgDAEACoQ0AAAmENgAAJBDaAACQQGgDAEACoQ0AAAmENgAAJBDaAACQQGgDAEAC\noQ0AAAmENgAAJBDaAACQQGgDAEACoQ0AAAmENgAAJBDaAACQQGgDAEACoQ0AAAmENgAAJBDaAACQ\nQGgDAEACoQ0AAAmENgAAJBDaAACQQGgDAEACoQ0AAAmENgAAJBDaAACQQGgDAEACoQ0AAAmENgAA\nJBDaAACQQGgDAEACoQ0AAAmENgAAJBDaAACQQGgDAEACoQ0AAAmENgAAJBDaAACQQGgDAEACoQ0A\nAAmENgAAJBDaAACQQGgDAEACoQ0AAAmENgAAJBDaAACQQGgDAEACoQ0AAAmENgAAJBDaAACQQGgD\nAEACoQ0AAAmENgAAJBDaAACQQGgDAEACoQ0AAAmENgAAJBDaAACQQGgDAEACoQ0AAAmENgAAJBDa\nAACQQGgDAEACoQ0AAAmENgAAJBDaAACQQGgDAEACoQ0AAAmENgAAJBDaAACQQGgDAEACoQ0AAAl6\nV3sAB6q6urp//RroHvwNd23mh9bwe7I356RjVUoppdqDOBBVKpXmr00BdD/+hrs280Nr+D3Zm3PS\nsTx1BAAAEghtAABIILQBACCB0AYAgARCGwAAEghtAABI4O39quSfb58DANDVSMT284g2AAAkENoA\nAJDAR7B3Af7XDHQ/Pj2tazM/tIbfk715amvH8og2AAAkENoAAJBAaAMAQAKhDQAACYQ2AAAkENoA\nAJDA2/tVyaxZs6o9BKAd/A13beaH1vB7sjfnpGP5CHYAAEjgEe1kX375ZSxcuDAOOuig2LBhQ8yf\nPz+efvrp2LZtW2zcuDHuvPPOOOmkk6o9TADolqyzbeecdR6hnWjdunWxYMGCmDt3bkRETJw4MUaM\nGBEvvPBCNDU1xciRI2PYsGFxyy23VHmk0DNYPLouc0MG62zbOWedS2gneuihh2LOnDnNl3ft2hX9\n+/ePESNGRENDQ9TW1sbEiROrN0DoQSweXZe5IYt1tu2cs87lOdqJNmzYEIMHD26+PHDgwJg0aVLc\nfffd1RsU9FA33HBDzJkzJw477LCIiLj00kujoaEhPv3002hoaIjHH388Zs6cGf369avySA885oYs\n1tm2c846l9DuJKtXr45TTjklli1bFqNHj672cKDHsXh0XeaGzmCdbTvnLJ/30e4k77//fhx88MFx\nzjnnNG9bt25d89dffPFF3HTTTbFw4cKYPHlyrF27thrDhG7rnyG3evXq2LRpU5x77rnVGxDNzA2d\n4b/W2c2bN8f48ePjjDPOaPdt7dixIy655JL46aef2n2saurMc3agEtpJfv/995g+fXp8++23ERGx\ndOnSGDp0aBx66KEREdHU1BQPPPBARET88ccfcckll8Rtt90WV111VVx33XVx+eWXV23s0N115uLx\n66+/Rl1dXRxxxBFx0UUXtdg3a9asGDBgQEydOjXWrFnTrtuxsLddZ8zNZ599Fg8//HDU1dXF+eef\nHx9++GF7h00rtWWdjYg45phjYvTo0TF27Nh23e6zzz4bDz/8cLz++uvR3Z4UUK1zdkArpHjttddK\npVIpr7zySqmvry+nnXZaGTlyZPP+u+66q6xYsaKUUsq7775bTj311OZ9TU1NpW/fvmX9+vWdPWz+\nYc2aNaW+vr7s2bOneVtjY2Opr68v27dvb/G927dvL/X19aWxsbHF9j179pT6+vqydu3aVh2f/fPb\nb7+VW2+9tXzzzTellFLGjRtXzjrrrOb9f/31V5k8eXKL68yfP7/cfvvtHXL7jY2NZebMmaV3797l\n+++/b7Hv/vvv/8/rP/nkk/vcP3/+/FJXV1cqlUr54Ycf2jXWztaT52bXrl1lxowZzZcXL15c+vTp\nUzZu3Lj/A07Wk+7X2rLO/t+ll15aPv744w65/e7491jtc3Yg8oh2klGjRsXEiRPjyy+/jOeffz5W\nrFgRJ510UkyePDluvPHGOOecc+Lss8+OiL+fvzhgwIDm61YqlejXr1+sXLmyWsMnIs4777yoqamJ\n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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x73628d0>"
"<matplotlib.figure.Figure at 0x76f1e10>"
]
},
"metadata": {},
@@ -746,7 +749,7 @@
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x7274780>"
"<matplotlib.figure.Figure at 0x7616ef0>"
]
},
"metadata": {},
+61 -57
View File
@@ -313,7 +313,7 @@
"source": [
"from math import sin, cos, radians\n",
"\n",
"def angle_between(x,y):\n",
"def angle_between(x, y):\n",
" return min(y-x, y-x+360, y-x-360, key=abs)\n",
"\n",
"class ManeuveringTarget(object): \n",
@@ -349,7 +349,8 @@
"\n",
" def set_commanded_heading(self, hdg_degrees, steps):\n",
" self.cmd_hdg = hdg_degrees\n",
" self.hdg_delta = angle_between(self.cmd_hdg, self.hdg) / steps\n",
" self.hdg_delta = angle_between(self.cmd_hdg, \n",
" self.hdg) / steps\n",
" if abs(self.hdg_delta) > 0:\n",
" self.hdg_step = steps\n",
" else:\n",
@@ -409,7 +410,7 @@
"data": {
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x6b07198>"
"<matplotlib.figure.Figure at 0x6e4c908>"
]
},
"metadata": {},
@@ -469,9 +470,9 @@
"outputs": [
{
"data": {
"image/png": "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 truncated
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAvUAAAE6CAYAAACWFK1xAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xl8Tdf+//HXOREyihgSU0UozRXXVGlwiTFUa0oojaGG\n+6VRraGU6kC0KUVNRVu0JagqVVzVRm5LEUPNs6ZFzBJBhERiSPbvj/xyrtMkakyc9P18PDweztpr\n7/1Zy5F8zjprr2UyDMNARERERERsljm/AxARERERkQejpF5ERERExMYpqRcRERERsXFK6kVERERE\nbJySehERERERG6ekXkRERETEximpFxH5C2azGW9v7/wOQ0REJFdK6kUkX5jN5nv6ExERka/xmkym\nfL3//crqPzs7O44dO5ZrvcDAQEvdWbNm5WGEkheOHz+O2WymadOm+R2KiDwihfI7ABH5exo9enS2\nRHnu3LmcOHGCXr16UbFiRatjtWvXzsPoCpZChQpx69YtPv/8c8aOHZvt+LFjx/j5558t9Wz1A4zk\nLuvfVP+2IgWXknoRyRejR4/OVrZ27VpLUh8QEJAPURVMJUqUwNvbm3nz5vH+++9jZ2dndfyLL74A\noG3btixfvjw/QpRHTJvHixR8mn4jIo+9Jk2aYDabiY2NZdq0aVSvXh1HR0eCgoIAuHLlChMnTqRZ\ns2aUL1+eIkWK4OHhQbt27diyZUuu142JieHf//433t7eODg44OHhwb/+9S+mTJlyV3EtXboUBwcH\nqlSpwtGjR3Otl5aWhru7OyVLluTmzZs51hk2bBhms5n58+dbyjZu3Ei7du144okncHBwwNPTEz8/\nP4YNG3ZX8WUxmUz07duXuLg4Vq1aZXXs1q1bzJ07F39/f2rUqJHrNZKSkhg1ahTVq1fH2dmZokWL\n0qhRI7799ttsdW/evMmMGTN47rnn8PLywsHBgeLFi9OiRQtWr16d4/X37dtH165d8fb2xtHRkVKl\nSlGzZk0GDBjAlStXLPXCwsIwm81s2LAhx+vkNMUk65yIiAh++OEHAgICKFq0KMWLF7fUSUtL46OP\nPuLpp5/GxcUFFxcX/Pz8cpyKdPtUlvPnz9OnTx88PT1xcXGhYcOGbN68GYCrV68yePBgKlSogIOD\nA9WrV2fZsmW59vGyZcto0aIFxYsXx8HBgapVqzJy5EiuXr2arW7FihUxm82kp6czduxYqlSpgoOD\n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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x6b059b0>"
"<matplotlib.figure.Figure at 0x6e319b0>"
]
},
"metadata": {},
@@ -561,7 +562,7 @@
{
"data": {
"text/plain": [
"<matplotlib.legend.Legend at 0x71e6470>"
"<matplotlib.legend.Legend at 0x752fe10>"
]
},
"execution_count": 7,
@@ -570,9 +571,9 @@
},
{
"data": {
"image/png": "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 truncated
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x70c12b0>"
"<matplotlib.figure.Figure at 0x74060f0>"
]
},
"metadata": {},
@@ -615,9 +616,9 @@
"outputs": [
{
"data": {
"image/png": "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 truncated
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x7201eb8>"
"<matplotlib.figure.Figure at 0x7410240>"
]
},
"metadata": {},
@@ -638,7 +639,8 @@
"bp.plot_track(t, xs2)\n",
"bp.plot_filter(t, kxs2[:, 0], label='KF')\n",
"plt.legend(loc=4)\n",
"bp.set_labels(title='Effects of Acceleration', x='time (sec)', y='X')"
"bp.set_labels(title='Effects of Acceleration', \n",
" x='time (sec)', y='X')"
]
},
{
@@ -657,9 +659,9 @@
"outputs": [
{
"data": {
"image/png": "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 truncated
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAvIAAAE6CAYAAAB0yLYIAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xd4VEXfxvHv2YSQEJJQQ1UCGOm9SJMQEBTpIkiTAD6g\nCCqgIiBdihQBFQUEhYigFBEsSO8iXZAiRXoNiLQEQtq8f+RNcN0AAZNsyv25rlwPmZlz9rcjT7hz\nds4cyxhjEBERERGRNMXm7AJEREREROTBKciLiIiIiKRBCvIiIiIiImmQgryIiIiISBqkIC8iIiIi\nkgYpyIuIiIiIpEEK8iIiclfHjh0jc+bMvPfee84uJd2ZN28eNpuNtWvXOrsUEUmjFORFJM2z2WzY\nbBn7x9mFCxcYMGAAFSpUIFu2bHh4eODn50e7du1Yt27dQ5+3X79+eHl50atXr6QrNpU4e/YskydP\nplGjRhQpUgQPDw9y5MhBnTp1+PLLLx/qnGfOnOGll14if/78uLu7U7hwYXr37s3Vq1cdxrZu3ZpS\npUrx1ltvoUe6iMjDsPRAKBFJ62w2G5ZlER0d7exSnGLx4sW8+OKLhIWFUaFCBWrXro2HhwcHDx5k\n2bJlhIeH06lTJ6ZNm0amTJkSfd7du3dTsWJFBgwYwIgRI5LxHThHv379GDt2LIUKFaJOnToUKFCA\ns2fPsmjRIm7cuEGrVq2YN29eos937NgxatSowcWLF2nevDnFixdn69atrF27lmLFivHLL7+QI0cO\nu2Nmz55NUFAQ8+fP5/nnn0/qtygi6Z0REUnjLMsyNpvN2WU4xbp164yrq6vx8PAwX3/9tUP/yZMn\nTfny5Y1lWaZbt24PdO6uXbsay7LMoUOHkqrcVGXRokVm3bp1Du3nzp0zjzzyiLEsyyxatCjR52vQ\noIGxLMtMnjzZrr1Pnz7GsizzyiuvOBwTGhpqPD09Td26dR/8DYhIhqcgLyJp3oME+TVr1piuXbua\nEiVKGG9vb+Ph4WFKlSplhgwZYm7duuUwfsiQIcayLDNr1izz008/mSeffNJ4eXmZ7Nmzx485d+6c\n6dSpk8mdO7fx8PAw5cuXN8HBwWbt2rXGsiwzdOhQh/NevXrVDBo0yJQqVcpkyZLFeHl5mVq1apkF\nCxYk+n1HR0ebYsWKGcuyzJQpU+467uzZsyZbtmzGsiyzZcuWRJ375s2bJmvWrKZChQoOfcWLFzeZ\nMmUyISEhCR778ccfG8uyzLBhw+LbkmPek9OoUaOMZVnm9ddfT9T4P//801iWZYoUKeLQd+PGDePp\n6WmyZs1qwsLCHPpfeOEFY1mWOXbs2H+uW0Qyloy9qFREMpyxY8eyatUqKlasyCuvvELXrl3JnDkz\nw4cP5+mnn77r8pwFCxbQrFkzcubMSY8ePWjevDkAFy9epHr16gQHB1OiRAl69+5NhQoVePXVV/nw\nww8BsCzL7lxnz56lSpUqjBgxgly5cvHKK6/Qtm1bjh8/TuvWrRk2bFii3sv69es5fPgw+fPnp1u3\nbncdlz9/frp27QrAtGnTEnXuzZs3ExYWRq1atRz6OnXqRFRUFHPmzEnw2ODgYGw2G0FBQfFtST3v\nyc3V1dXuf+8n7obVBg0aOPRlzZqVmjVrEhYWxpYtWxz64+Z45cqVD1uuiGRQifsJJSKSTnz66acU\nLlzYoX3w4MGMGDGChQsX8sILLzj0L1u2jKVLlzoEtf79+3Pq1CnefPNNxo0bF9/eq1cvqlatmmAN\nQUFBHDt2jK+//trutW7cuEGdOnUYPnw4LVq0oGzZsvd8L5s2bQIgMDDwvjf71q9fn/Hjx8cfcz9x\n4xJ6Dx07dmTgwIEEBwfTu3dvu74DBw6wc+dO6tSpQ6FCheLbk3reASZNmpTgTaR3U7hwYbtfLu4m\nKioq/mbXZ555JlHnPnToEACPP/54gv3+/v6sXLmSI0eOULduXbu+KlWqALBx48Z7/kImIvJvCvIi\nkqEkFCYhNniPGDGClStXJhgomzVr5hAmIyIi+Prrr/H29mbw4MF2fWXLlqVjx47MmDHDrn3v3r2s\nWbOG5557zuF1vLy8GDp0KM2aNWPOnDn3DfLnz58H4JFHHrnnOICCBQvaHXM/x44dszvun/Lly0f9\n+vVZtmwZu3fvpnz58vF9s2bNAmKv2v9TUs57nA8//JCTJ08m5u0AUKdOnUQF+bfeeov9+/fTuHFj\n6tevn6hzX7t2DQAfH58E++PaE/rFI26O4+ZcRCSxFORFJEMJCwvjww8/5LvvvuPw4cOEhobabf13\n9uzZBI9L6Mr0oUOHCA8Pp2LFinh5eTn016xZ0yHI//LLL0Bs8Bs6dKjDMZcuXQLgjz/+SPR7ehCJ\n3dknro5/77ISp1OnTixbtozg4OD4IB8dHc1XX31F1qxZHXZgScp5j3P8+PFEvZcHMXr0aD766CNK\nly7N7Nmzk/z8CcmZMycQu0xLRORBKMiLSIYRGRlJ3bp12b59O2XKlKFt27bkzp2bTJkyYYxh2LBh\n3L59O8Fj8+bN69AWdxU2T548CR6TUPvly5cBWL16NatXr07wOMuyCAsLu+/7yZ8/PwCnTp2679jT\np08DUKBAgfuOjasBuOv+5s2bNyd79uzMnTuXcePG4erqysqVK7lw4QKdOnUiS5Ys8WOTet6Ty8iR\nIxk0aBDlypVj1apVd726npC4sXF/J/4trj1btmwOfTExMYDjvRQiIvejIC8iGcaSJUvYvn07nTt3\n5vPPP7frO3/+/D1vMk0oZHl7ewMQEhKS4DEJtccFvgkTJvznhyzF3SS5bt06oqOjcXFxuevYVatW\nAbGfEiRGrly5APj7778T7Hdzc6NNmzZMmTKFpUuX0rRp07suq0nqeY+TlGvkBw4cyKhRo6hcuTIr\nVqxIMHDfS/HixYE7a+X/7ciRI0DCa+jj5jh37twP9JoiIgryIpJh/PnnnwA899xzDn3r169/4POV\nKFECd3d39u3bx/Xr1+ODfZyEbiytUaMGABs2bPjPQT4gIIBixYpx6NAhZsyYwcsvv5zguPPnzzN9\n+nQsy4rfveZ+ihQpAsQ+qfRuOnXqxJQpUwgODqZOnTosWbKEIkWKULt2bbtxST3vcZJqjXyfPn2Y\nNGkS1atXZ9myZQkuk7qfwMBAIHbnGWOM3S8gN27c4JdffsHT05Nq1ao5HBu3rChuzkVEEkvbT4pI\nhhF3w2XcVoFxjh07xjvvvPPA58uUKRNt2rTh+vXrvPfee3Z9e/bsid/55J8qVqxIQEAAS5YscVg/\nH+fw4cPxS2HuxbIspk6diqurK71792bBggUOY06dOkXjxo25du0avXr1SvQV+bgwvm3btruOqVKl\nCiVLluSnn35i8uTJ3L59m44dOzqMS+p5j3P8+HFiYmIS/bVmzRq7440xdO/enUmTJhEQEMDKlSvv\nG+Jv3brFwYMHHW5MLVKkCA0aNOD48eN88skndn1Dhgzh5s2bvPjii3h4eDicM26OAwICHmYaRCQD\n0xV5EUkXjDEOSzriWJbF+PHjadKkCY899hgTJkxg7969lC9fnlOnTvHTTz/RuHFjvvnmmwd+3fff\nf581a9bwwQcfsG3bNmrWrMmFCxeYP38+jRo1YvHixQ5bQ86dO5d69erRrVs3Pv74Y5544gly5MjB\n2bNn2b9/P7t372bx4sWJ2o0mICCAefPm0bFjR1544QXGjBlDrVq18PDw4PDhw/z8889ERkbSs2dP\nPvjgg0S/r+rVq5M1a9b7blfZqVMn+vbty9ChQx32jo+THPOeFIYPH860adNwc3OjatWqjB071mHM\nv5fjbN26lbp161KoUCGHm20//fRTatSoweuvv87q1aspXrw4W7duZd26dRQrVoyRI0cmWMemTZuw\nLIunnnoqad+giKR/znsWlYhI0oh7sqtlWXZfcW02m82cPHnSGGPM6dOnTfv27U2BAgWMh4eHKV26\ntBk3bpyJiooylmWZwMBAu3MPHTrU2Gw2ExwcfNfXP3v2rAkKCop/smuFChXMl19+aRYuXGgsyzIf\nfvihwzFhYWFmzJgxpkqVKsbLy8u4u7ubwoULm6efftpMnjzZXLly5YHm4Pz586Zfv36mfPnyxtvb\n224efv755wc6V5xu3boZy7LMwYMH7zrmwoULxtXV1dhsNoe5+6fkmPf/qlOnTsZmsyX4dyfu6991\nrVu3zliWZQoXLpzgOc+cOWO6dOli8uXLZ9zc3Iyfn5/p3bu3uXr1aoLjQ0NDjaenp6lXr16Svz8R\nSf8sY+6yJYGIiPwn7777LqNHj2b58uWJ3o88Kb311ltMmDCBSpUqsX79erudZBJjz549VKhQgQED\nBjBixIhkqjJj+/LLL+nUqRMLFiygZcuWzi5HRNIYBXkRkf/o3Llz8VtBxtm7dy81atTA3d2ds2fP\n4ubmluJ1GWNo1aoVixYtolGjRixZsuS+T4D9txdeeIFVq1Zx4sSJh7oJVO4uJiaGcuXK4ebmxs6d\nO51djoikQVojLyLyH1WrVg0/Pz9Kly6Np6cnR44c4aeffgJg+vTpTgnxEHtvwFdffcXEiROJjIxk\n7969lCtX7oHO8f7771OiRAkmTZrEoEGDkqnSjGnBggUcOHAgfmtQEZEHpSvyIiL/0YgRI/juu+84\nfvw4N27cIHv27FSrVo233nrLYStGERGRpJIugvzdnqQnIiIiIpIWPMjTpONoH3kRERERkTRIQV5E\nREREJA1Kdze7PszHEpKwHTt2AFC5cmUnV5L+aG6Th+Y1eWhek4fmNXloXpOH5jV5/Nfl4boiLyIi\nIiKSBinIi4iIiIikQQryIiIiIiJpkIK8iIiIiEgapCAvIiIiIpIGKciLiIiIiKRBCLine truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x70ce080>"
"<matplotlib.figure.Figure at 0x7458128>"
]
},
"metadata": {},
@@ -669,7 +671,7 @@
"source": [
"# reinitialize filter\n",
"initialize_filter(cvfilter)\n",
"cvfilter.Q = Q_discrete_white_noise(dim=2, dt=dt, var=2.0) # var was 0.02\n",
"cvfilter.Q = Q_discrete_white_noise(dim=2, dt=dt, var=2.0)\n",
"\n",
"# recompute track\n",
"kxs2, _, _, _ = cvfilter.batch_filter(z_xs2)\n",
@@ -696,9 +698,9 @@
"outputs": [
{
"data": {
"image/png": "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 truncated
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x72da278>"
"<matplotlib.figure.Figure at 0x75eb080>"
]
},
"metadata": {},
@@ -708,7 +710,7 @@
"source": [
"# reinitialize filter\n",
"initialize_filter(cvfilter)\n",
"cvfilter.Q = Q_discrete_white_noise(dim=2, dt=dt, var=20.0) # var was 0.02\n",
"cvfilter.Q = Q_discrete_white_noise(dim=2, dt=dt, var=20.0)\n",
"\n",
"# recompute track\n",
"cvfilter.x = array([0., 0.])\n",
@@ -761,9 +763,9 @@
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAvIAAAE6CAYAAAB0yLYIAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XmcjeX/x/HXfWbMvtnG2JfsW8VYslNU1iSKyloKhfoW\nX8IMyZafJBWpkL6SUmihkV0isoUs2dfBYDTMMMv1+2Oaw2kWBjNnlvfz8ZhH47qu+5zPuc7dzHuu\nuea+LWOMQUREREREshWbswsQEREREZH0U5AXEREREcmGFORFRERERLIhBXkRERERkWxIQV5ERERE\nJBtSkBcRERERyYYU5EVEJN1CQ0Ox2WysXr3a2aVkqsOHD2Oz2ejRo4ezS3G61Oaie/fu2Gw2jh49\n6qTKRHIPBXmRLGTv3r0MGDCA6tWrExAQgLu7O4ULF6Zly5ZMnz6dK1euOLvEVCUFu9mzZzuthlmz\nZmGz2Rg5cuQdPc6iRYuw2WzYbDbmz59/l6rLXm72flqWZf/IKlatWoXNZqNp06Yp9oeFheHr64u7\nuztffPHFHT1XVnrdd1tSQE/rY/HixfY5SGku/t2W9N7oByCRu8vV2QWISKI333yT0NBQjDHUrVuX\n7t274+vry9mzZ1mzZg19+vRh4sSJ7N+/39mlpikrBJw7rWH69On2zz/66CM6dep0pyVlW6nN5Usv\nvUTnzp0pXrx4Jld0cynV/Pnnn9OzZ0+8vLxYsmQJzZo1c0Jl2UtAQAADBw5Msa9ixYoULVqUPXv2\n4O/vn6w/tXtNZoWvDyI5iYK8SBYwZswYQkJCKF68OPPnz6dOnTrJxqxcuZJhw4Y5obr0yQo3i76T\nGo4cOUJYWBj169cnISGBlStXcuDAAe655567WGH2kdpc5s+fn/z582dyNbdn4sSJDBo0iKCgIH78\n8Ufuu+8+Z5eULQQEBDBixIg0x5QvXz5dj5kVvj6I5ChGRJzq0KFDJk+ePMbd3d388ccfaY69evVq\nsrYFCxaYJk2aGD8/P+Ph4WEqVapkRowYYaKiopKNbdy4sbEsyxw+fNhMmzbNVK1a1Xh4eJhChQqZ\n3r17m8jIyGTHbN++3XTu3NmUKlXKeHh4mAIFCpjq1aubvn372scnPW5KH0eOHDHGGHPixAkzcuRI\nU69ePVOoUCHj5uZmihQpYjp37mx27dqV4rxYlmWaNGlizp07Z55//nkTFBRk3N3dTZUqVczMmTMd\nxnfr1i3VGlavXp3mvN5o2LBhxrIs88knn5gZM2YYy7LM4MGDUx1/5coVM2HCBBMcHGx8fHyMt7e3\nqVChgunbt685evTobY+Njo42b7/9tqlRo4bx9vY23t7eJjg42EybNi3NuTpx4oTp0aOHCQoKMi4u\nLmbhwoXGGGM2b95s+vfvb6pXr27y5ctnPDw8TLly5cwrr7xizp8/7/B4t/J+hoSEpDq3K1euNC1b\ntjT58uUz7u7upkyZMmbgwIHm7NmzycYmvW+rVq0yX331lalVq5bx8vIy+fLlM0899ZQ5ceJEqnOf\n0vNalmWaNm1qjDEmISHBvPLKK8ayLFOhQgVz+PDhZMfc7nnZo0ePVF/H3LlzTY0aNYyXl5cpUqSI\nee2118y1a9eMMcYsWbLENGjQwPj6+pq8efOarl27Jpt/Y4xZsWKFef75502lSpWMn5+f8fT0NFWq\nVDEhISEmOjo62fik92PWrFlmxYoVpnHjxsbX19f4+fmZVq1amT///POW5zHpNZYuXfqWxnXv3j3F\nufj3uZLSx6xZs5K97jZt2pgCBQoYNzc3U7JkSdO3b19z+vTpZM+fdJ4ePHjQTJ482VSpUsV4eHiY\nxx577JZfq0h2pxV5ESebOXMmcXFxPPXUU1StWjXNsW5ubg7/HjFiBKNHjyZ//vx06dKFgIAAwsLC\nePPNN1m8eDFr167Fx8cn2eO8/vrrhIWF0bZtWx555BFWrFjBjBkz+Ouvv1i+fLl93I4dO6hTpw4u\nLi60bt2ae+65h6ioKA4ePMjs2bP5z3/+g5+fHz169MCyLFavXs1jjz3msOKZ9Gv3NWvWMH78eJo1\na0aNGjXw8fFh3759LFiwgMWLF7Nu3boUV0ovXrxI/fr1cXd3p1OnTly9epX58+fTs2dPbDYbXbt2\nBaB9+/ZERkayaNEimjRpQpMmTeyPUbJkyZu/EUBcXByffvop3t7edOrUCWMMAwcOZNasWYwePRpX\nV8cvmRcuXKBZs2Zs376dChUq0KtXLzw8PDhw4ABz587l4Ycftm89Sc/Yv//+m4ceeohNmzZRo0YN\nevbsCcDSpUvp06cPGzZsYObMmcnqj4iIoF69egQEBPDkk0+SkJBgXzWfMWMGCxcupEmTJrRo0YKE\nhAQ2b97M5MmTWbJkCZs2bbKfK7fyfqbm448/pnfv3nh7e9OxY0cKFy7ML7/8wrvvvsu3337LL7/8\nQtGiRZMd98EHH7B48WLatWtH06ZN2bBhA19++SXbt29n27Ztyc79m4mLi6Nbt2588cUX1K5dmx9+\n+CHF3yDc7nmZmvfee4+wsDDat29PkyZNWLx4Mf/3f/9HREQEzZs3p2fPnrRr1466devy888/M2fO\nHM6ePcuPP/7o8DgTJkxg79691KtXjzZt2hATE8O6desYNWoUK1euZMWKFbi4uCR7/u+//55FixbR\nsmVL+vTpw65du/jxxx/ZtGkTu3fvzpDfotxsu0zTpk05cuQIs2fP5r777uOxxx6z991///32z8eP\nH8+QIUPInz8/rVq1IigoiO3bt/Phhx+yePFiNmzYkOK58/LLL7N+/Xpat25NmzZt8PX1vXsvTiSr\nc/ZPEiK5XbNmzewrwOnx66+/GsuyTPHixc2pU6cc+pJWxF566SWH9qQVrJIlS5pjx47Z2+Pi4kyj\nRo2MZVnmt99+s7e/+uqrxrIss2jRomTPHxUV5fAbgqRVt9mzZ6dY75kzZ1L8LcH27duNj4+PeeSR\nRxzak1b7LMsyzz//vElISLD37d6927i6uprKlSs7HDNz5kxjWZYZOXJkijXczLfffmssyzLdunWz\nt3Xt2tVYlmW++uqrZOM7d+5sLMsyvXv3TtYXHR3tsNKanrG9evUylmWZCRMmOIy7evWqadWqlbEs\ny3z33Xf29hvnqlu3biY+Pj7Zcxw5csRhDpN88sknxrIsM27cOIf2m72fKa3IHz161Li5uRlfX1+z\ne/duh/HDhw83lmWZ1q1bO7Qnnav+/v5m586dDn1dunQxlmWZ+fPnp1jDvyWtyAcHB5vmzZsby7JM\nq1atzJUrV1I95nbPy9RW5PPnz28OHDhgb4+MjDQFCxY0Li4uJl++fGbjxo32vmvXrpmqVasay7LM\ntm3bHB7v4MGDKdabNI/z5s1zaE96P/LkyWNWrFjh0DdkyJAUz6fUJL3GgIAAExISkuwj6blvNhdJ\nK/LGGLNq1aoUxyZZvXq1sSzL1KtXL9lvBufMmWMsyzIdOnRwaE/6elasWDGH5xLJTRTkRZysUqVK\nxrIs89NPP6XruOeee85YlmU+/PDDZH3h4eHG09PT+Pr6mtjYWHt70je+lH5oSArB77//vr0tKcjf\nSm03C35padOmjfHw8DBxcXH2tqSQ4OPjY/7+++9kxzRq1MjYbDZz+fLlZK/hdoP8I488Yt8ekSQp\ngDRv3txhbHh4uLHZbKZw4cIONaQkPWMjIiKMq6urqVmzZor9O3bsMJZlmU6dOtnbkubKw8Mjxe0r\naUlISDB+fn7mwQcfdGi/nSA/evToVLcixcTEmCJFihjLsszJkyft7Umhb/jw4cmOSQrmr7/++i29\nlqTxSR/ly5d3OKfSK63zMrXwmtK5l/SDWUohdtSoUcayLPPZZ5/dUk0RERHGsizTq1cvh/ak9+PZ\nZ59NdkxSzR07dryl57jxB8OUPtq3b+8w7laCfNJ7k1qQf/zxx41lWaluL7z//vuNq6urw9eCpK9n\nU6ZMuaXXJZITaWuNSDa1ZcsWgBSvvhEYGEi1atXYtGkT+/bto3Llyg79wcHByY4pVqwYkLgFJMlT\nTz3FlClTeOyxx+jQoQPNmjXjgQceoGLFirdV8w8//MC0adPYvHkzERERxMXF2fssy+LcuXMUKlTI\n4Zhy5cqluD2oePHiGGO4cOECXl5et1XPjZL+yLV06dI0btzY3t64cWPKlCnD8uXLOXToEKVLlwZg\n06ZNGGNo0KDBTZ8/PWN/++034uPjsSyL0NDQZP2xsbEA/Pnnn8n6SpUqRYECBVJ83NjYWKZPn868\nefPYvXs3ly5dIiEhwd5/4sSJNOu6FWmdk+7u7jRo0ICvvvqKrVu3UrhwYYf+Wz0nb0WFChW4evUq\n+/fvp0+fPkyfPj3N7R+3c16m5satIkmCgoJS7Uuah+PHjzu0X7582b4dad++fURFRTn8oWhq79fd\nnMdSpUpx8ODBdB1zu3755RdcXV1ZsGABX3/9dbL+q1evEh8fz759+6hRo4ZDX+3atTOlRpGsSEFe\nxMkKFy7Mnj17OHbsWLqOi4yMxLIse0hI6XGTxv1bQEBAsrak/d/x8fH2tlq1arFu3TrGjBnDt99+\ny//+9z8g8Rv84MGDeeGFF2653nfffZdXXnmFfPny0bx5c0qUKIGXlxeWZfHtt9+yfft2rl69eku1\nplbvnZgxYwbGGLp165asr1u3boSEhDBjxgzGjBkDJO7dB1Lcs/tv6RkbEREBwO+//87vv/+e4hjL\nsrh8+XKy9tTOBYAnn3yShQsXcs8999C+fXuCgoJwd3fHGMPkyZNTnPv0SjrXMvKcvBWFCxdmzpw5\nPPjgg3z88cdcuXKF2bNnp7in/HbPy9Sk9DcESa8jrb6kH9CSPm/WrBmbNm2iWrVqdLine truncated
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x7306198>"
"<matplotlib.figure.Figure at 0x764e3c8>"
]
},
"metadata": {},
@@ -778,7 +780,8 @@
"bp.plot_track(t, xs2)\n",
"bp.plot_filter(t, kxs2[:, 0], label='KF')\n",
"plt.legend(loc=4)\n",
"bp.set_labels(title='Constant Acceration Kalman Filter', x='time (sec)', y='X')"
"bp.set_labels(title='Constant Acceration Kalman Filter',\n",
" x='time (sec)', y='X')"
]
},
{
@@ -819,9 +822,9 @@
"outputs": [
{
"data": {
"image/png": "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\nzClQf7169VKzZs300ksv2TlMADcZwRoAUGB79+7Va6+95jG0dujQQUlJSRo4cGAhjOyqvMZoh+3b\nt2vDhg164YUXPO6PiYnRpUuXtHv3bp09e1Zz584tUL8jRozQsmXLFBcXZ+dwAdxEBGsAgNcsy8qx\nzeFwqGTJkvLxuTX+r8XTGO0wc+ZMhYSE6Le//a3H/e3bt9eoUaMkSWPHjlWbNm0K1G/fvn0VEBCg\n9957z7axXg/LspSQkKBt27YpLi5O33//vbZt26aEhIQbdm2Bou7W+K8fABQhCxYskI+PjzZt2qS3\n335bderUUalSpdSgQQN98MEHOdqnpKRo8uTJatKkiUqXLq3g4GD17NlTe/fudbU5duyYfHx8FB0d\n7XZsZGSkfHx8NGPGDLftrVu3VuPGjfMda0HO7ZScnKzo6Gg1aNBAgYGBCg4O1t13363Ro0dLkqKj\no/XYY49JkiIiIuTj4yMfHx8NHTpUkucaa+e1io2N1RtvvKFatWopICBArVu31rZt21zHtW3bVmXK\nlFG1atX0xhtvuI3r8uXLevnll9W6dWuFhISoVKlSqlevnsaOHaukpCS3tvmN0dtrkl16erqWL1+u\nzp07y9fX12ObBg0auL1u2LBhvv1KUmBgoNq1a6elS5cWqP2NZFmWduzYoT/84Q9q27atli9frk8/\n/VRt27bVww8/rJ07dxKuAQ/8CnsAAFBUjRs3TsnJyYqKilLJkiU1a9YsDRkyRHXr1tX9998vSUpL\nS1O3bt20fft2DR48WM8995wuXryomJgYtWnTRlu3blXLli111113KTQ0VLGxsa5wnZqaqm+++cYV\nTEeOHClJSkxM1O7duzVs2LA8x1fQczs9/fTTmj9/vh599FHdf//9Sk9P1w8//KBNmzZJkh566CH9\n+uuvev/99zV+/Hg1atRIklSnTh2383qqsR4zZowyMzM1cuRIpaSkaNq0aerWrZvmzp2rqKgoDRs2\nTIMGDdKnn36qV199VbVr19aAAQMkSSdOnNDcuXPVr18/DRw4UH5+ftq8ebOmTp2qPXv2aM2aNa7z\n5DdGb69Jdrt27dKVK1cUHh6e57W/Vvfee6/Wrl2rgwcP5gjodlq5/QftOHBCf/pdS9W4o5zbPmeo\n7tatmxISEnIcu3btWn377bdas2aNWrduXeg19cAtxQIAeGX+/PmWw+GwwsLCrLS0NLine truncated
"image/png": "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\njps8Knd5jdEOI0eOVLt27dSxY0eP+2fPnq1+/fppzpw5+eqvZ8+eat68uV5++WU7hwngJiNYAwDy\nbe/evXr99dc9htYOHTooMTFRAwYMKISRXZPbGO2wbds2bdiwQSNHjvS4PyYmRpcvX9bu3bt17tw5\nzZ07N1/9Dh8+XMuWLdOBAwfsHC6Am4hgDQDwmmVZ2bY5HA6VKFFCPj63xv+1eBqjHWbOnKng4GD9\n9re/9bi/ffv2GjVqlCRp7NixatOmTb767dOnj8qUKaP333/ftrFeD8uyFB8frxMnTri2HT9+XPHx\n8Tfs2gJF3a3xXz8AKEIWLFggHx8fbdq0Se+8847q1q2rUqVKqWHDhvrwww+ztU9OTtbkyZPVtGlT\nlS5dWkFBQerRo4f27t3ranP8+HH5+PgoOjra7djIyEj5+PhoxowZbttbt26tJk2a5DnW/JzbKSkp\nSdHR0WrYsKECAgIUFBSku+++W6NHj5YkRUdH6/HHH5ckRUREyMfHRz4+PhoyZIgkzzXWzmsVGxur\nN998U7Vr11aZMmXUunVrffvtt67j2rZtq7Jly6p69ep688033cZ15coVvfLKK2rdurWCg4NVqlQp\n1a9fX2PHjlViYqJb27zG6O01ySotLU3Lly9Xp06d5Ovr67FNw4YN3V43atQoz34lKSAgQO3atdPS\npUvz1f5GsixLO3bs0B/+8ActWrTItT0mJkaPPPKIdu7cSbgGPPAr7AEAQFE1btw4JSUlKSoqSiVK\nlNCsWbM0ePBg1atXTw888IAkKTU1VV27dtW2bds0aNAgPf/887p06ZJiYmLUpk0bbd26VS1bttRd\nd92lkJAQxcbGusJ1SkqKvvnmG1cwHTFihCQpISFBu3fv1tChQ3MdX37P7fTMM89o/vz5euyxx/TA\nAw8oLS1NP/zwgzZt2iRJevjhh/Xrr7/qgw8+0Pjx49W4cWNJUt26dd3O66nGesyYMcrIyNCIESOU\nnJysadOmqWvXrpo7d66ioqI0dOhQDRw4UJ999plee+011alTR/3795cknTx5UnPnzlXfvn01YMAA\n+fn5afPmzZo6dar27NmjNWvWuM6T1xi9vSZZ7dq1S1evXlVYWFiu176g7rvvPq1du1aHDh3KFtDt\ntHLbD9px8KT+9LuWqnlHebd9zlDdtWtXxcfHZzt27dq12r59u9asWaPWrVsXek09cLine truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x730a3c8>"
"<matplotlib.figure.Figure at 0x758def0>"
]
},
"metadata": {},
@@ -849,9 +852,9 @@
"outputs": [
{
"data": {
"image/png": "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 truncated
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAvIAAAE6CAYAAAB0yLYIAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xl8TFcbwPHfTPZNIiEhiSWRWILWFmrfGksRO7WU0NLW\nVlrV2qmltlJF1fu2SKlq1d6iWvva8jb2JYiEBEFILNkz9/1jOjdGJrElmeD5fj4+5t5zz71PZu7c\neebMuedoFEVREEIIIYQQQjxXtOYOQAghhBBCCPHkJJEXQgghhBDiOSSJvBBCCCGEEM8hSeSFEEII\nIYR4DkkiL4QQQgghxHNIEnkhhBBCCCGeQ5LIm9nOnTvRarVMnDjR3KEIIYQQL5Sn+YydMGECWq2W\n3bt352FkpjVq1AitVlIz8fjkbMljhotInz59ctxOo9HkU0SPx3AxuXTpkrlDEaJAedz3tBCi4Cho\nn7E5eZ5iFeZnae4AXhbZvTFr1arFmTNnKFKkSD5H9GhyMREie/L+EKLgK8ifsULkBknk80l2E+ja\n2dlRtmzZfI7m8SiKkm3cQrzs5L0hRMFXkD9jhcgN0rXmAf/88w9vvvkmnp6e2NjY4OnpSa9evbhw\n4UKWba9fv86IESMoX748jo6OODs7U7ZsWXr06MGxY8cAfT+7Jk2aABAaGopWq1X/hYaGAtn33zN0\nbYmMjGT+/PkEBARgZ2eHj48P06dPV7f74YcfqFGjBo6Ojnh4eDBkyBBSUlKyxLtu3Tp69uxJ2bJl\ncXR0xNHRkerVqzN37lx0Op3Rtg/2DfTx8VFj9vHxMdouISGBcePGUalSJRwcHChUqBD169fnl19+\nMfn8fv/999StWxd3d3fs7OwoUaIETZs25dtvv83xdQGYNm0aWq2W2bNnmyy/desWNjY2lClTRl13\n9+5dJk+eTOXKlXFxccHJyQlfX186duzIrl27HnlMgJCQELRaLbt27eLHH3+kevXqODg44OXlxccf\nf0xaWhoAW7ZsoX79+hQqVAhXV1d69+7N7du3Te7z2rVrDB06FH9/f+zs7HB1daV58+Zs3749y7Z3\n7txh5syZNGnSBG9vb2xsbHB3dyc4OJgDBw6Y3P+ePXsIDg6mRIkS2Nra4uHhQWBgIMOHDzf5t5nq\nPhUZGWmy+8iDz8eyZcsIDAzE0dGRqlWrqts8yXnxYDeVCxcu0KlTJ9zc3ChUqBAtWrTg1KlT6nPW\nt29fihUrhp2dHTVr1sz2NdTpdHz77bfUrVsXZ2dn7OzsqFy5MtOmTVNfrwcZzu3ExEQ+/vhjSpYs\nia2tLf7+/syYMcNo28d5T8OznetCvIgM15TGjRtz5coV+vbtS/HixbG0tGT9+vUA7Nixg+DgYIoW\nLYqNjQ2lS5dm4MCBxMbGZtlfREQE7777Lv7+/tjb2+Pq6kpAQABvv/02ly9fVrfLqY/8//73P1q0\naIGTkxPOzs4EBQVx8ODBHOPPrktddtfTpUuX0rFjR3x9fbG3t8fZ2Zl69eqxbNmyx37uQK4pInvS\nIv+vH374gZCQEGxtbdUk6Ny5c/z4449s3LiRnTt38uqrrwKQmJhInTp1iIiI4PXXXyc4OBiAS5cu\nsW3bNpo2bcorr7xC48aNiYqKIjQ0lCpVqtCuXTv1eA8mPpD9z/TDhw9nz549tGnThqCgIFatWsXI\nkSNJSUnBxsaGKVOm0L59exo2bMjGjRuZP38+6enpfP3110b7GTlyJBYWFtSuXRsvLy8SEhLYtm0b\nw4YN4++//+aHH35Qtx0/fjxLly4lKiqKoUOH4uLiAqD+DxATE0Pjxo05f/48DRo0oHnz5ty7d4/f\nfvuNLl26MH78eMaPH69uP2rUKKZNm4aPjw9dunTBxcWFa9euceTIEZYtW8Y777yT4+vTq1cvxowZ\nQ2hoKB9++GGW8h9//JG0tDR69+4N6FtLW7RowYEDB6hVqxZvv/021tbWREdHs3fvXrZt20bDhg1z\nPOaD5s2bx9atW2nfvj2NGjViw4YNfPHFF8TFxREUFETfvn1p27Ytr732Gn/++SfLli3jxo0bbNq0\nyWg/x48fJygoiBs3btC8eXPat2/PzZs3WbduHUFBQXz77bdGHxSnTp1izJgxNGzYkDZt2lC4cGGi\noqLYsGEDmzdvZsOGDbRs2VLdfsuWLbRq1QpnZ2eCg4Px9vbm9u3bhIeHM2/ePGbMmGF0I9Wjuodk\nVz5r1iy2bdtG27ZtCQoKIjU1FXjy88IgMjKS1157jVdffZW3336bkydPsnnzZho1asTu3btp1qwZ\nxYsXp0ePHsTExLBq1SpatGhBeHg4JUqUUPeTnp5Ohw4d+PXXXylXrhw9evTA1taWnTt3MmrUKLZt\n28aWLVuwsLAwOn5aWhrNmjXj6tWrtGrVCktLS9auXcunn35KcnIy48aNA3is9/SznutCvMji4uKo\nU6cOLi4udO3aFZ1Oh6urK9OnT2fkyJG4ubnRqlUrihUrxtGjR1m4cCEbNmzg4MGDeHl5AXD16lUC\nAwO5e/cuLVu2pGPHjqSmphIVFcWaNWvo0aOH0XUBsl7L9u/fz+uvv05aWhodOnTA39+fo0eP0qhR\nI/XLuik5XTNNlQ0YMIBKlSrRqFEjihcvzs2bN9m0aRO9e/fmzJkzTJky5ZHPmVxTRI4UoZw7d06x\nsbFR/Pz8lCtXrhiV7dy5U7G0tFSqV6+urtuwYYOi0WiUYcOGZdmXTqdT4uPjjeprNBqlT58+Jo+9\nY8cORaPRKBMnTjRa37BhQ0Wj0Sj+/v7K9evX1fWRkZGKtbW1Ym9vr3h4eCjnz59XyxISEpSiRYsq\nNjY2RnUURVEiIiJMxtq7d29Fo9EoBw8eNHn8qKgok3E3bdpUsbCwUFauXGm0/s6dO0q1atUUrVar\nHD16VF3v6uqqeHt7K4mJiVn2FRcXZ/IYD2vZsqWi0WiUsLCwLGWBgYGKhYWFEhkZqSiKohw7dkzR\naDRK+/btTe7rcY9peH7c3NyUCxcuqOsNz7WFhYXi6uqq/PXXX2pZamqqUqlSJUWj0ShHjhxR16en\npytly5ZV7OzslN27dxsd5+rVq0qJEiUUe3t7o9cuISHBZKzR0dGKp6enUr58eaP1HTp0UDQajdFz\nb3Dr1i2Tf5up1/jixYsmz1tDHUdHR5PHeNLzwnD+azQaZfbs2UZ1+vfvr2g0GsXZ2VkZOnSoUdnU\nqVNNvgcnTZqkaDQaZfDgwYpOp1PX63Q6dX/z5s0zqmM4fqtWrZTk5GR1/fXr1xUXFxfFxcVFSUtL\nU9c/6j2dG+e6EC8awzVFo9EovXv3VjIyMtSyXbt2KRqNRqlTp46SkJBgVG/ZsmWKRqNROnbsqK77\n6quvFI1Go8ydOzfLcVJTU5V79+6py6Y+Y3U6nVKuXDlFq9Uqa9asMaq/YMECRaPRKFqtVtm1a1eW\n+LN732d3PTX12Zuamqo0bdpUsbS0VKKjo43KGjZsqGi1WqN1ck0ROZGuNcDChQtJTU1lzpw5FC9e\n3KjM0BL6zz//cPr0aaMyW1vbLPvSaDQ4Ozury8oz9qMdM2YMRYsWVZdLlSpF/fr1SUpKYsCAAUZd\nSQoVKkTr1q1JTU3lzJkzRvt5uFuMIdYhQ4YA8Mcffzx2TMePH2f79u20a9eOrl27GpU5OTkxYcIE\nFEUxauXXaDRYW1tnaQkFcHV1fazjhoSEAPqfKh906tQpDh8+TIMGDShVqpRRmanX6EmOaTBkyBB8\nfX3V5UKFChEcHIxOp6Nt27bUrFlTLbOysqJLly4AajcrgE2bNnHu3DkGDBhA/fr1jfZfrFgxPv74\nY5KSkoy6oBi66jzMy8uLjh07cvbsWaKjo7OUm/q7Cxcu/AR/cc769+/PK6+8YrTuac4LA19fX4YN\nG2a07q233gL0XWWmTp1qVNazZ08Ajh49qq7T6XTMnTsXDw8PvvzyS6PWMY1Gw/Tp09FoNCxfvjzL\n8TUaDV999RU2NjbquqJFixIcHExCQgLh4eHq+ke9p3PjXBfiRWVjY8OsWbOMfhmcO3cuAIsWLaJQ\noUJG2/fs2ZMqVaqwfv167t+/b1Rm6jpnZWWFg4NDjjHs37+f8PBw6tSpQ/v27Y3K3n//ffz8/HLt\nHhhTn71WVlYMGDCAjIwMk10qHybXFJET6VoD7Nu3D4Bdu3Zx+PDhLOWG/nmnT5+mQoUKNGrUCC8v\nL6ZPn87hw4d54403qFu3LtWqVTP5RnsWD3fBAX3Sl12Zp6cnQJbkLi4ujpkzZ7Jp0yYiIiJITEw0\nKo+JiXnsmAzPV0JCAhMmTMhSfuPGDQCjLz49evRg3rx5VKhQgc6dO1OvXj3q1KnzRBehdu3a4eLi\nwooVK5g1axaWlvrT19A32ZDoA1SsWJEqVaqwcuVKIiMjadu2LXXr1qVGjRrZJvc5edLXwfCF8MHX\nwfC8RUVFmXzezp07B5DlC+O+ffuYO3cuBw4c4MaNG2o3FoOYmBi8vb0B/Yfe2rVrqVWrFl26dKFR\no0bUrl2b0qVLP+Zf+nge/OLyYJzwZOeFgaHb2oMMz6/hXoIHmXp+w8PDiYuLo0yZMnz22Wcm47a1\ntVX73T/I2dnZ6IuageHn+ezudzAlN851IV5UpUuXzjKCzL59+7C0tGT16tUm76VJSUkhIyODs2fP\nUq1aNdq2bcvo0aMZNGgQW7ZsoVmzZtSuXZtXXnnlsUaT+ueffwBMdq/UaDTUrVuX8+fPP+VfaOzS\npUtMnz6dbdu2cfnyZZKSkozKr1y58sh9yDVF5EQSefRJLsAXX3yR7TYajUZtDXBycuKvv/5i4sSJ\nbNiwgT///BPQ9yHv27cvkyZNypJ4PK0HW/cNDAlsTmUP3tQXHx9PYGAgkZGR1KpViLine truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x7d9fb38>"
"<matplotlib.figure.Figure at 0x8110860>"
]
},
"metadata": {},
@@ -957,9 +960,9 @@
"outputs": [
{
"data": {
"image/png": "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 truncated
"image/png": "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\n5uXlYeXKlTh58iROnDiBdevWoby8HC+88AK+//3v9+j9A69/7tw5zeOB/VqBbLwEsvfr1q0DAPzz\nn//EuXPncNddd4WtFZCIa3CpBa7l7bffDp/PF/EPJ+gS0aXCYJ+IKEG2bdum2e890K5x/Pjxms+7\n/PLLcffdd+Pdd99FaWkpPvjgA7S1tXX7/SdMmAAAeP/998OOOZ1OfPTRR5AkCV//+te7/dqxuu66\n6zBmzBi8/fbbaGxs1Czh0dLTa2A0GgHE/utDvI0ePRp5eXn49NNP2WKTiJICg30iogQ5evQonn32\nWdW+119/HZ988glGjRqFG264AYC/5eOJEyfCnt/a2oqOjg6YzWalZKQ7fvjDH8JiseCZZ57BkSNH\nVMcee+wx1NbW4rbbbotY5hMv9957L1wuF/7rv/4Lb7zxBkaMGIEpU6aozonXNQiU+pw+fTo+g+8m\no9GIBx98EDabDQsWLNBcrbehoQH79+/XYXRE1B+xZp+IKAayLOORRx6JuDLrrbfeiuuvv16179vf\n/jYWL16Mv//977j66qtx9OhRbN68GZmZmfif//kf5bx9+/bhzjvvRHl5OUaPHo2SkhI0NzfjzTff\nRHNzM372s5+FTQ6NxWWXXYY1a9bg/vvvR3l5Ob7//e+jqKgIO3bswIcffoihQ4eG3Ywkwo9+9CMs\nXboUjz76KNxuN+6+++6wc+J1DWbMmIHXXnsN//Zv/4Y777wTOTk5GDhwIBYsWKCcE+m/Ybz8+te/\nxueff47nn38eb731FqZNm4bS0lKcP38ex48fx0cffYQHHngg4oJjRERxpW8zIFmura2V7777brmw\nsFBOT0+Xx4wZo2odJ8v+lnIlJSVyRkaGfNNNN8kHDx5UHXc4HPIDDzwgDxo0SM7KypJvv/12ubq6\n+lJ+DCJKYYH2ml213nzyySeV8wOtNx955BH5o48+kqdNmybn5OTIAwYMkG+99VZ5z549qtevrq6W\nf/WrX8k33nijPHjwYDktLU0eMmSIXFFRIb/22mua4wltvbls2TLZYDCE/f0py7L83nvvybfeequc\nn58vWywWecSIEfKDDz4o19fXh5177733RnydkydPypIkyT/+8Y9jvnYBM2fOlCVJUvXWF3X3GkTi\n8/nkhx9+WL7iiitki8UiS5IkDx8+XDl+0003RWy9qfW5Ap859HoHhL6+6OWXX5ZnzJghFxQUyBaL\nRS4pKZFvuOEGedmyZfKxY8di/kxERL0hyXKCUxxduHDhAr7+9a9jypQpeOCBB1BYWIgTJ05g8ODB\nGDVqFADg8ccfx+9+9zusX78eV155JR599FFs374dR44cQXZ2NgDg/vvvx1//+le8+OKLyM/Px+LF\ni3HhwgXs3r07bFl0IqJEW7duHX7yk59g2bJlePjhh/UeDhER9WO6lvE88cQTGDJkiNKlAYCy1Dng\n/6l19erVWLp0KWbPng3A35/ZarVi48aNuO+++9DS0oK1a9di3bp1mD59OgDgpZdewrBhw7BlyxbM\nmDHjkn4mIiIiIqJkoWva+4033sDEiRMxZ84cFBUVYfz48Xj66aeV4ydPnoTNZlMF7Onp6ZgyZQp2\n7NgBANi9ezfcbrfqnNLSUowePVo5h4iIiIioP9I12D9x4gSeeeYZXHHFFaiqqsKDDz6IX/ziF0rA\nX1dXByB8YRqr1aocq6urg9FoDFtspaioKGKPayKiRJIkiYsmERFRUtC1jMfn82HixIn43e9+B8C/\nVPnRo0fx9NNPqzonaOnuP6RaK0QSESXCHXfcgTvuuAMA/+4hIqL46ckiiLpm9ktKSjBmzBjVvlGj\nRuHMmTMAgku8h2bobTabcqy4uBher1dZojygrq4u4b2jiYiIiIiSma7B/o033ojDhw+r9n311Ve4\n/PLLAQDDhw9HcXExqqqqlOMOhwPbt2/H5MmTAfhXiDSbzapzqqurcfjwYeUcIiIiIqL+SNcynoce\negiTJ0/GihUr8P3vfx979+7FH/7wBzz22GMA/KU6ixYtwooVKzBq1CiUlZVh+fLlyMnJwbx58wD4\nf86YP38+lixZAqvVqrTeHDduHCoqKjTftyc/gZC2Xbt2AQDKy8t1Hklq4XVNHF7bxOB1TQxe18Tg\ndU0MXtfE6G05qK7Bfnl5Od544w388pe/xG9/+1sMGzYMy5cvx/3336+cs2TJEtjtdixYsADNzc2Y\nNGkSqqqqkJWVpZyzevVqmEwmzJkzB3a7HRUVFdiwYQMnyBERERFRv6ZrsA8At912G2677bYuz6ms\nrERlZWXE4xaLBWvWrMGaNWviPTwiIiIioj6Ly8sSEREREaUoBvtERERERCmKwT4RERERUYpisE9E\nRERElKIY7BMRERERpSgG+0REREREKYrBPhERERFRimKwT0RERESUohjsExERERGlKLine truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x7d58710>"
"<matplotlib.figure.Figure at 0x8235d68>"
]
},
"metadata": {},
@@ -985,7 +988,8 @@
" epss.append(eps)\n",
"\n",
"plt.plot(t, epss)\n",
"bp.set_labels(title='Epsilon vs time', x='time (sec)', y='$\\epsilon$')"
"bp.set_labels(title='Epsilon vs time', \n",
" x='time (sec)', y='$\\epsilon$')"
]
},
{
@@ -1008,9 +1012,9 @@
"outputs": [
{
"data": {
"image/png": "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 truncated
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x7e7a1d0>"
"<matplotlib.figure.Figure at 0x827da58>"
]
},
"metadata": {},
@@ -1093,9 +1097,9 @@
"outputs": [
{
"data": {
"image/png": "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 truncated
"image/png": "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\nHx9CQ0NZtmwZ33zzDb/99hsVKlS457Hzco8AOHToEB07duTmzZs0b96c5557jpSUFE6cOMGcOXOy\n3Cduv94PGDAATdPYs2cP3bp1s7luFi9enGHDhvH++++zfPnybHvXly9fDmQ8qJ9p//79JCYm8tRT\nT2Vpf/XqVRo1akR8fDzBwcE8//zzpKWlER4eztdff02fPn2oVKkS3bt3JzY2li1bttCyZUtatmxp\n3Ufm+52amkqbNm04dOgQjz/+OC+//DIxMTHMnDmTn3766Z7vc37TNA0nJydSU1Nt/j6ZnnzySTRN\nY+fOnUydOrXA4xO3sfcnCeE4MnuiNU1TL774ok3duXPnVPHixZXBYFDh4eFKKaXWr1+vNE1TdevW\nVfHx8da2aWlpqk2bNkrTNDV//nxr+ejRo5Wmadn2gickJKjU1FTr68we+Tt7TjRNU1WqVMnxHDRN\nU61atbIpGzp0qNI0TQ0aNMimPCIiQpUrV07pdDp18ODBbN+HV155RVksFmvd8ePHlZOTkwoMDLTZ\n14ULF5SmaapNmzZZYoqJiVGapqlGjRops9mcpf7GjRu5PsewsDDl7OysSpQoocLCwqzlFotF9ejR\nQ2malm2v2JQpU/L0s3nz5myPn925lS1bVjk5OamTJ09m22bOnDlK0zT18ccf52qfQoj8N3fuXKVp\nmlq4cGGWunfeecfmertnzx6laZpq2rSpzTelSim1du1apWmaev75523Ks+uRz+s9IjU1Vfn5+Smd\nTqfWrl2bJc7IyEhlMpmsr319fbNcK6dMmXLXXvfOnTsrTdPUkSNHbMqTk5NViRIlVJkyZVRaWpq1\nfOrUqUrTtGzj+eijj5SmaerDDz/MUpeWlqYSEhKsrzPvadOmTcs2rlmzZilN01T37t1tysPDw1Xp\n0qWz7ZE/fPhwnq/tt3/jcjeff/659d9ATmrWrKlcXFxUcnJyrvYpHg5J5IVVZgLr7Oyc7f/s48eP\nV5qmqVmzZimllGrbtq3SNE199913WdoeOXJEaZqmatSoYS3LTOR37Nhxz1jyK5FPS0tTbm5uysPD\nQ0VFRWVpv3jxYqVpmnr11VetZZnvg4eHh83NJ1Pz5s2VTqdTiYmJ1rJdu3YpTdNUv379srSPjY1V\nmqapZs2a3fWcc3OOM2fOVJqmqYkTJ2apCwsLU3q9PttEPjPBz+nr3dt/dDpdrr7CNZvNqnv37krT\nNPXaa6/l2G7dunVK0zQ1fvz4e+5TCPFwXLlyRTk5Oam6devalJtMJlWuXDnl6elpvaY999xzStM0\ndfTo0Wz3Va9ePeXk5GRzfcwukc/rPeLLL79UmqapTp065eqc7ieRzxwSMmLECJvyNWvWKE3T1Dvv\nvGNT3rdvX6Vpmtq9e3eWfWXeP5YvX37PWO+VyFerVk3p9Xp1+vTpLHXTp0/PNpFfvXp1rq7pt1/b\nbx/Kk5MzZ85Yh1MdOHAgx3aZf9/sYhYFR2atEVlUrlw524dXmjdvDmQ8wQ/wxx9/oGlatvO2165d\nmzJlynDmzBmSkpIAePHFF9Hr9XTr1s36EOTJkycf4plkzGKTnJxM7dq1KVmyZJb6tm3bAmQ7jVZA\nQAAeHh5ZyitVqoRSiujoaGvZ9evXAbI9hpeXF507d2b//v08/vjjTJ06lR9++IGEhIQ8n88ff/wB\nQIsWLbLU+fn5UalSpWy3s1gsmM1mLBbLPX/MZjMrV668axxKKYYPH87mzZtp1aoVCxYsyLFtqVKl\nAPj7779ze5pCiHxWrlw52rVrR2hoqM3Dizt37uTatWu88MILuLm5AfDLL7/g5OTEV199xdSpU7P8\npKamYjabOX369F2Pmdd7xG+//QZAcHBwfp12Fh07dsTf359169ZZjwsZw2p0Oh2vvvqqTfu7Xdu7\ndOmCh4cHI0eO5LnnnuPf//43oaGheX6gNT4+nnPnzuHj40NAQECW+sx775369euXq2v67df2nPaV\nKSIigg4dOnDz5k2WLFlC48aNc2wr13bHIIm8yKJs2bJ3LY+NjbX+t1ixYhgMhmzblytXzqZ9o0aN\n2LdvH+3atWPTpk0MGjSIwMBA/P39rWMT81vmsX18fLKtzyyPiYnJUle8ePFst8kcC242m61lmeM0\nc7qAf/HFF0ybNo309HSmT59O+/btKVWqFC+88ALh4eG5PJtb53Ovv9HDpJRi6NChrFixgrZt2/Lt\nt9/mOD4esC6MVdRm8hGisMlcUOj2OdYzf+/fv7+1LCoqCpPJxLRp05g+fXqWnxMnTqBpGomJiXc9\nXl7vEZnX4dyMvX8QQ4cOJS4ujs8//xyAo0eP8uuvv9K6dWuqVq1q0/Zu1/bKlStz8OBBXnjhBX76\n6SeGDx9OvXr1KF++PLNnz871ooCOcF0HuHjxIi1btiQ8PJylS5cyePDgu7aXa7tjkLine truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x7e44630>"
"<matplotlib.figure.Figure at 0x8267e10>"
]
},
"metadata": {},
@@ -1136,11 +1140,11 @@
"\n",
" if abs(y[0]) > std_scale*std:\n",
" phi += Q_scale_factor\n",
" cvfilter.Q = Q_discrete_white_noise(dim=2, dt=dt, var=phi)\n",
" cvfilter.Q = Q_discrete_white_noise(2, dt, phi)\n",
" count += 1\n",
" elif count > 0:\n",
" phi -= Q_scale_factor\n",
" cvfilter.Q = Q_discrete_white_noise(dim=2, dt=dt, var=phi)\n",
" cvfilter.Q = Q_discrete_white_noise(2, dt, phi)\n",
" count -= 1\n",
"\n",
" xs = np.asarray(xs)\n",
@@ -1193,9 +1197,9 @@
"outputs": [
{
"data": {
"image/png": "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 truncated
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x7ec3860>"
"<matplotlib.figure.Figure at 0x81390b8>"
]
},
"metadata": {},
@@ -1222,9 +1226,9 @@
"outputs": [
{
"data": {
"image/png": "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\nyHOeyH28HzFiBJqm8fPPP9O3b1+742aFChUYO3Ysb731FitWrHDYu75ixQrAeqN+tu3bt5Oamsp9\n992XZ/lz587Rpk0bkpOTCQsL49FHHyUzM5O4uDi++OILhgwZQo0aNejXrx9JSUls2LCBLl262B0r\ns7/vjIwMunXrxq5du2jatClDhw4lMTGR2bNns3Xr1pt+z8XtyJEjHD58mPr161OtWrU88++99140\nTSM6Oprp06eXenwiFyXEdbGxsUrTNKVpmho0aJDdvGPHjqkKFSood3d3FRcXp5RSat26dUrTNNW8\neXOVnJxsWzYzM1N169ZNaZqmFixYYGufOHGi0jRNbdiwIc+2U1JSVEZGhm36o48+UpqmqcjISLvl\nNE1TderUyXcfNE1TXbt2tWsbM2aM0jRNjRo1yq799OnTqmrVqkqn06mdO3c6/B6efvppZbFYbPMO\nHDigDAaDaty4sd1nnThxQmmaprp165YnpsTERKVpmmrTpo0ym8155l+6dKnQ+xgbG6vc3NxUxYoV\nVWxsrK3dYrGoAQMGKE3TlE6ny7NeREREkV7r1693uP1Lly6piIgINW3aNDV27Fh11113KT8/P7V0\n6VKHyyul1BtvvKE0TVPvv/9+vssIIUrW/PnzlaZpatGiRXnmvfzyy3bH259//llpmqY6dOigkpKS\n7Jb9+OOPlaZp6tFHH7Vrv//++/Mce4p6jsjIyFC1a9dWOp1Offzxx3nijI+PVyaTyTZdq1atPMfK\niIgIh+eObI888ojSNE3t3bvXrj0tLU1VrFhRBQYGqszMTFv79OnTlaZpDuN55513lKZp6u23384z\nLzMzU6WkpNims89pM2bMcBjXnDlzlKZpql+/fnbtcXFxqnLlykrTNDVixAi7eTExMUU+tp84ccLh\n9jdv3qwiIiLU5MmT1aBBg5S3t7dq1qyZ2r9/v8PllVKqUaNGymg0qrS0tHyXESVPEnlhk53Aurm5\nOfzPPmXKFKVpmpozZ45SSqkHH3xQaZqmvv322zzL7t27V2mapho2bGhry07kv//++5vGUlyJfGZm\npvLy8lI+Pj7q8uXLeZZfsmSJ0jRNPfPMM7a27O/Bx8fH7uSTrXPnzkqn06nU1FRb25YtW5SmaWrY\nsGF5lk9KSlKapqmOHTsWuM+F2cfZs2crTdPU1KlT88yLjY1Ver3eYSKfneBn/0Ap6KXT6fKcMLId\nPHgwz2eFh4ero0eP5rs/a9asUZqmqSlTphRq/4UQxe/s2bPKYDCo5s2b27WbTCZVtWpV5evrazum\n9e/fX2mapv766y+Hn9WiRQtlMBjsjo+OEvminiM+//xzpWma6t27d6H26VYS+W+//VZpmqbGjx9v\n1x4ZGak0TVMvv/yyXXt4eLjSNE399NNPeT4r+/yxYsWKm8Z6s0T+rrvuUnq9Xh05ciTPvJkzZzpM\n5FetWlWoY3ruY/vPP//scPuvvvqq3bKVK1dWCxYsUFlZWfnuU/bfr6OYRemRGnmRR82aNR3evNK5\nc2fAegc/wJ9//ommaQ5r0ps0aUJgYCBHjx7l2rVrgLWmTq/X07dvX9tNkIcOHSrBPbHWPKalpdGk\nSRMqVaqUZ/6DDz4I4HAYrfr16+Pj45OnvUaNGiilSEhIsLVdvHgRwOE2/Pz8eOSRR9i+fTtNmzZl\n+vTp/PDDD6SkpBR5f/78808A7r///jzzateuTY0aNRyuZ7FYMJvNWCyWm77MZjMffvihw89p1KgR\nFosFk8lEXFwc77zzDhs3bqRt27bs37/f4ToBAQEAXLhwocj7K4QoHlWrVqV79+7s2bOHPXv22Nqj\no6M5f/48jz32GF5eXgD897//xWAw8J///Ifp06fneWVkZGA2mzly5EiB2yzqOWLHjh0AhIWFFddu\n59GrVy/q1q3LmjVrbNsFa1mNTqfjmWeesVu+oGN7nz598PHx4dlnn6V///6899577Nmzp8g3tCYn\nJ3Ps2DGCg4OpX79+nvnZ594bDRs2rFDH9NzH9vw+a968eVgsFlJTU4mJiSEsLIyXX36Zhx9+ON+4\n5djuGiSRF3lUqVKlwPakpCTbn/7+/vneLFO1alW75du0acO2bdvo3r07X375JaNGjaJx48bUrVvX\nVptY3LK3HRwc7HB+drujEVkqVKjgcB2DwXpridlstrVl12nmdwD/5JNPmDFjBllZWcycOZMePXoQ\nEBDAY489Zndz2c1k78/N/o5KmqZp1KhRg2effZYVK1aQmJhIRESEw2Wzb9S600byEaKsyb5pPvcY\n69nvhw8fbmu7fPkyJpOJGTNmMHPmzDyvgwcPomkaqampBW6vqOeI7ONwYWrvb8eYMWO4evUqa9eu\nBeCvv/7if//7Hw888AD16tWzW7agY3vNmjXZuXMnjz32GFu3bmXcuHG0aNGCatWqMLine truncated
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAvIAAAE6CAYAAAB0yLYIAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XlcVNX7wPHPnYVhEVBR3DfcNTeUFs0t93LN3BO3tFy+\nZYuVpqLmVpmWZmaLS/lDU8ul0sJcMrNMSzF3c8GdFAXZYWbO7w9kZGRQUGQGed6vFy+Yc+6dee6g\ndx7Ofe45mlJKIYQQQgghhMhXdM4OQAghhBBCCJFzksgLIYQQQgiRD0kiL4QQQgghRD4kibwQQggh\nhBD5kCTyQgghhBBC5EOSyAshhBBCCJEPSSIvXNKSJUvQ6XQsXbo0R/vpdDpatmx5n6LKnjZt2lCt\nWjWsVmuev3aLFi3Q6Vzjv/Xw4cMpWrQoV69edXYoQoj7zBnnnooVK1KpUqU8ea2TJ09iMpl4++23\n8+T1Mjp9+jQ6nY5Bgwbl+WvfKi4ujuLFixMcHOzsUMQNrvGJL8QtNE2zfWWk0+nueOK+dZ+8tGHD\nBjZv3kxISMhdf6hl5xhv534c/9mzZxkxYgSPPPIIJUuWxN3dndKlS9OkSRM++eQTkpKSMu3z1ltv\nkZCQwJQpU3I9HiGE68nrc6+jz4hJkybd1SDQnbz55pt4e3szevTou9o/fXBq8uTJdx3D/Xh/165d\nS69evahRowZFixbFw8ODKlWq0KNHD3bs2JFp+0KFCvH666/zf//3f+zduzfX4xE5J4m8cEndunXj\n8OHDdO3aNVPf7U5mR44c4csvv7yfod3WW2+9Rfny5enbt+89PY8z/xhx5MSJE4SGhlKkSBGefvpp\nXnvtNTp37sy5c+cYMWIEzZo1y5TMly1bln79+rFgwQIuXLjgpMiFEA+qLVu2sHnzZod9uXkO3bdv\nH6tXr+aFF17A29v7np7L1c7t69ev56+//qJBgwYMGjSI0aNHU79+fb7//nuaNWvGrFmzMu0zcuRI\nvLy8mDBhghMiFrcyODsAIRzx8fHBx8cnx/tVq1btPkSTPTt37iQ8PJw333zT5U7W96pJkyZER0dn\najebzbRt25Zt27axfPnyTJd++/fvz+LFi/niiy/kpC+EyFW3u3KZm4vWf/zxxwC5Uk6Sm3HlhgUL\nFmAymTK1HzhwgKCgICZOnMioUaNwd3e39Xl6evL000+zbNkyIiIiqFChQl6GLG4hI/LCJr0Or2XL\nlpw/f55+/fpRvHhxPD09CQoKYuXKlZn2UUrx+eef8+ijj+Lt7Y2XlxeBgYHMnj0bs9mcafv9+/fT\nt29fKlWqhIeHB8WLF6devXqMHDmS69ev27a7tUZ+27ZttlKV9DjTvzImj1nVyMfGxjJ+/Hhq1KiB\nh4cHRYoUoVWrVqxfv/6270NUVBTDhg2jVKlSuLu789BDD7FkyRKH798XX3wBQO/evTP1paSkMG/e\nPBo2bEixYsXw9PSkQoUKPPnkk6xZsyZHxwiwYsUKGjZsiKenJyVKlCA4OPi+jnobjUaH7QaDgS5d\nugBw8eLFTP0tWrSgRIkStvdGCJH3/vjjD3Q6HZ07d85ym0aNGqHX64mIiLC1bd26lc6dO1O8eHFM\nJhMVK1Zk5MiRREZGZvu1c/oZAXD+/HlGjx5NtWrV8PT0pGjRojRq1IiQkBC7fW6tkW/RooWtlG/Q\noEF259CIiAjGjh2LTqfL8qrtkSNH0Ol0NG3a1NaWmJjI8uXLqV+/vsOBopMnT/L8889TtWpVW6y1\natViyJAhnD17FoCBAwcyePBgACZPnmwX1/bt223PFRsbyyuvvELZsmXx8PCgZs2azJkz577eb+Uo\niQd46KGHqFGjBsnJyQ7vc+rduzdWq5XFixfft9hE9siIvMjk2rVrPP744xQtWpTnnnuOq1evsnLl\nSnr37s2FCxfsagQHDBjAsmXLKFu2LEOGDMFoNLJ+/Xpee+01wsLC+OGHH9Dr9UBaEv/II4+g1+vp\n2LEjlStXJi4ujpMnT7J06VJeffXVTKPw6SPblSpVIiQkhMmTJ+Pr68vLL79s26Z+/foO90kXExPD\n448/zsGDBwkMDGT06NFcu3aNVatW0bVrVyZPnuxwtDg6OpomTZpgMpno2bMnycnJrFy5ksGDB6PT\n6TKNzmzatAkfHx/q1q2b6bkGDhzIihUrqF27Ns8++yxeXl6cP3+eP//8kzVr1tCtW7dsH+OcOXN4\n9dVXKVy4MMHBwRQpUoSffvqJJk2a4Ovr6/iXep9YLBY2bNiApmm0aNHC4TaNGzdmzZo1HDt2zKlX\nTIQoqB599FFq1KjBjz/+yOXLlylevLhd/8GDB/n7779p0aKFbXT1nXfeYezYsfj5+fHUU09RsmRJ\nwsPDWbBgAevXr+ePP/6gTJkyd3ztnHxGAOzZs4f27dtz9epVmjVrxtNPP01SUhKHDx9m5syZmT4n\nMp7vBw0ahKZp/PLLL3Tt2tXuvFm4cGGGDx/Oe++9x8KFCx2Ori9cuBBIu1E/3c6dO4mPj+fxxx/P\ntP3FixcJCgoiNjaWDh060L17d1JSUoiIiODbb7+lX79+lCtXjm7duhETE8O6deto0aKF3bky/f1O\nTk6mVatW7Nmzh7p169K/f3+io6OZOnUq27Ztu+P7nNuOHTvG0aNHqVq1KqVLl87U/9hjj6FpGmFh\nYUyaNCnP4xMZKCFuOHXqlNI0TWmapnr37m3Xd+LECVW4cGFlMplURESEUkqpFStWKE3TVP369VVs\nbKxt25SUFNWqVSulaZqaNWuWrf2VV15RmqapdevWZXrtuLg4lZycbHu8ePFipWmaWrp0qd12mqap\nSpUqZXkMmqapli1b2rW98MILStM0NWTIELv2c+fOqVKlSimdTqd2797t8H0YOnSoslqttr5Dhw4p\ng8GgatWqZfdcp0+fVpqmqVatWmWKKTo6WmmapoKCgpTFYsnUf+XKlWwf46lTp5TRaFRFihRRp06d\nsrVbrVbVs2dPpWma0ul0mfYLCQnJ0dfatWsdvv6VK1dUSEiImjhxoho+fLiqUqWK8vHxUfPnz3e4\nvVJKzZw5U2mapj777LMstxFC3F/vvPOO0jRNzZkzJ1PfmDFj7M63v/zyi9I0TTVu3FjFxMTYbfvV\nV18pTdNU9+7d7dqbN2+e6dyT08+I5ORkVbFiRaXT6dRXX32VKc7IyEhlNpttjytUqJDpXBkSEuLw\nsyNdp06dlKZpav/+/XbtiYmJqkiRIqp48eIqJSXF1j5p0iSlaZrDeObOnas0TVMffvhhpr6UlBQV\nFxdne5z+mTZ58mSHcU2bNk1pmqa6detm1x4REaGKFSumNE1TgwYNsuvbu3dvjs/tp0+fdvj6mzZt\nUiEhIWrs2LGqd+/eysvLS9WrV08dPHjQ4fZKKVWjRg3l5uamEhMTs9xG3H+SyAub9ATWaDQ6/M8+\nbtw4pWmamjZtmlJKqdatWytN09TGjRszbbt//36laZqqXr26rS09kf/pp5/uGEtuJfIpKSnK09NT\nFSpUSEVFRWXaft68eUrTNPX888/b2tLfh0KFCtl9+KRr1qyZ0ul0Kj4+3ta2ZcsWpWmaGjBgQKbt\nY2JilKZpqkmTJrc95uwc49SpU5WmaWr8+PGZ+k6dOqX0er3DRD49wU//A+V2XzqdLtMHRrrDhw9n\neq7g4GB1/PjxLI9n2bJlStM0NW7cuGwdvxAi9124cEEZDAZVv359u3az2axKlSqlvL29bee0p59+\nWmmapv755x+Hz9WgQQNlMBjszo+OEvmcfkasXr1aaZqmOnbsmK1juptEfuPGjUrTNDVy5Ei79qVL\nlypN09SYMWPs2oODg5WmaWrr1q2Zniv982PhwoV3jPVOiXyVKlWUXq9Xx44dy9Q3ZcoUh4n8kiVL\nsnVOz3hu/+WXXxy+/ptvvmm3bbFixdSsWbNUampqlseU/vt1FLPIO1IjLzIpX768w5tXmjVrBqTd\nwQ/w999/o2maw5r0OnXqULx4cY4fP05CQgKQVlOn1+vp2rWr7SbII0eO3McjSat5TExMpE6dOhQt\nWjRTf+vWrQEcTqNVtWpVChUqlKm9XLlyKKW4du2are3y5csADl/Dx8eHTp06sXPnTurWrcukSZP4\n+eefiYuLy/Hx/P333wA0b948U1/FihUpV66cw/2sVisWiwWr1XrHL4vFwqJFixw+T40aNbBarZjN\nZiIiIpg7dy7r16/n4Ycf5uDBgw738fPzA+C///7L8fEKIXJHqVKlaNOmDeHh4YSHh9vaw8LCuHTp\nEs888wyenp4A/PbbbxgMBr755hsmTZqU6Ss5ORmLxcKxY8du+5o5/Yz4448/AOjQoUNuHXYm7du3\nJyAggGXLltleF9LKanQ6Hc8//7zd9rc7t3fu3JlChQoxatQonn76aT755BPCw8NzfENrbGwsJ06c\noGTJklStWjVTf/pn760GDBiQrXN6xnN7Vs81Y8YMrFYr8fHx7N27lw4dOjBmzBieeuqpLOOWc7tr\nkEReZFKiRInbtsfExNi++/r6ZnmzTKlSpey2DwoKYseOHbRp04Y1a9YwZMgQatWqRUBAgK02Mbel\nv3bJkiUd9qe3O5qRpXDhwg73MRjSbi2xWCy2tvQ6zaxO4F9//TWTJ08mNTWVKVOm0LZtW/z8/Hjm\nmWfsbi67k/TjudPv6H7TNI1y5coxatQoFi5cSHR0NCEhIQ63Tb9R60GbyUeI/Cb9pvmMc6yn/zxw\n4EBbW1RUFGazmcmTJzNlypRMX4cPH0bTNOLj42/7ejn9jEg/D2en9v5evPDCC1y/fp3ly5cD8M8/\n//D777/zxBNPULlyZbttb3duL1++PLt37+aZZ55h27ZtjBgxggYNGlC6dGmmT5+e7Line truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x7daf208>"
"<matplotlib.figure.Figure at 0x8087d68>"
]
},
"metadata": {},
@@ -1251,9 +1255,9 @@
"outputs": [
{
"data": {
"image/png": "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 truncated
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x7e9b860>"
"<matplotlib.figure.Figure at 0x81aa5c0>"
]
},
"metadata": {},
@@ -1261,9 +1265,9 @@
},
{
"data": {
"image/png": "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 truncated
"image/png": "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\nf6pUqULv3r2Jj4/nxx9/pF27drRr1860jZzPOz09nQ4dOnDgwAHq16/P888/T1xcHDNmzGDHjh2F\nfs6l7eGHH0bTNLZs2cKUKVMsHU7ZpoT4T3h4uNI0TWmapvr06WNWd/bsWeXu7q70er06f/68Ukqp\nVatWKU3TVMOGDVViYqJpWYPBoDp06KA0TVPz5s0zlY8ZM0ZpmqZ+/PHHXPtOSkpS6enpptdffvml\n0jRNLVu2zGw5TdNUUFBQvu9B0zTVvn17s7KXX35ZaZqmhg4dalZ+8eJF5evrq3Q6ndq/f3+en8OL\nL76ojEajqe7YsWPK1tZWhYSEmG0rIiJCaZqmOnTokCumuLg4pWmaatq0qcrKyspVf+3atTt+j+Hh\n4crOzk55eHio8PBwU7nRaFTPPPOM0jRN6XS6XOtNnjy5SI9169bluf9bt6dpmlqyZEmByyml1OzZ\ns5WmaerTTz8tdFkhRMmYM2eO0jRNLViwIFfd//3f/5kdb3fu3Kk0TVMtWrRQ8fHxZst+9dVXStM0\n9eSTT5qVt23bNtexp6jniPT0dBUYGKh0Op366quvcsUZFRWlMjMzTa8DAgJyHStzjk23nztyPPbY\nY0rTNHX48GGz8tTUVOXh4aG8vLyUwWAwlU+ZMkVpmpZnPB988IHSNE29//77ueoMBoNKSkoyvc45\np02dOjXPuGbOnKk0TVO9e/c2Kz9//ryqUKGC0jRNDR482Kzu0KFDRT62R0RE5Ln/HAEBAUqn05md\nj/NTq1YtZW9vr1JTUwtdVpQcSeSFSU4Ca2dnl+cf+4QJE5SmaWrmzJlKKaU6duyoNE1TmzZtyrXs\n4cOHlaZpqmbNmqaynER+8+bNhcZSXIm8wWBQTk5OysXFRcXGxuZaftGiRUrTNPXSSy+ZynI+BxcX\nF7OTT442bdoonU6nkpOTTWXbtm1TmqapgQMH5lo+Pj5eaZqmWrZsWeB7vpP3OGPGDKVpmpo4cWKu\nuvDwcGVjY5NnIp+T4Of8QCnoodPpcp0wbleURH7FihVK0zQ1YcKEQpcVQpSMy5cvK1tbW9WwYUOz\n8szMTOXr66tcXV1Nx7QnnnhCaZqmjhw5kue2GjVqpGxtbc2Oj3kl8kU9R3z33XdK0zTVo0ePO3pP\nd5PIb9q0SWmapkaMGGFWvmzZMqVpmvq///s/s/IBAwYoTdPU9u3bc20r5/xxJ8fBwhL5atWqKRsb\nG3Xq1KlcddOmTcszkV+6dOkdHdNvPbbv3LmzwDiLksjnfL95xSxKj/SRF7n4+/ubLvfdqk2bNkD2\nCH6AgwcPomlann3S69Wrh5eXF6dPnyYlJQXI7lNnY2NDr169eP755/nyyy85ceJECb6T7D6Pqamp\n1KtXj/Lly+eq79ixI0Ce02hVr14dFxeXXOVVqlRBKcWNGzdMZTExMQB57qNcuXI89thj7Nmzh/r1\n6zNlyhR+/fVXkpKSivx+Dh48CEDbtm1z1QUGBlKlSpU81zMajWRlZWE0Ggt9ZGVl8cUXXxQ5tvx4\nenoCEB0dXWzbFEIUja+vL506dSIsLIywsDBT+ZYtW7h69SpPPfUUTk5OAPzxxx/Y2try/fffM2XK\nlFyP9PR0srKyOHXqVIH7LOo5Yu/evQB069atuN52Ll27diU4OJgVK1aY9gvZ3Wp0Oh0vvfSS2fIF\nHdt79uyJi4sLr776Kk888QSffPIJYWFhRR7QmpiYyNmzZ/Hx8aF69eq56nPOvbcbOHDgHR3Tbz22\n57etuyHHdusgibzIJb8BjTnl8fHxpv+7ubnlO0gmZ4rCnOWbNm3K7t276dSpE2vXrmXo0KGEhIQQ\nHBxc4Hzk9yJn3z4+PnnW55THxcXlqnN3d89zHVvb7KElWVlZprKcfpr5HcBXr17N1KlTycjIYNq0\naXTu3BlPT0+eeuqpIo36z3k/hX1H1iRnoNaDNpOPEPebnEHzt86xnvN80KBBprLY2FgyMzOZOnUq\n06ZNy/U4fvw4mqaRnJxc4P6Keo7IOQ7fSd/7e/Hyyy+TkJDAN998A8CRI0f4888/eeSRR6hatarZ\nsgUd2/39/dm/fz9PPfUUO3bs4JVXXqFRo0ZUqlSJWbNm3fEg1fvxuA5ybLcWMthV5JLfjAQ55TkD\nKt3c3IiLiyM9PT3PA/WVK1fMlgdo3rw5P/74I5mZmRw8eJCtW7fy4YcfMnz4cJycnHj++eeL9b3k\n7Pvq1at51ucV492oUKECQL53MXVwcOCdd97hnXfe4cqVK/z++++sXLmSH374gaNHj3LkyBHTD4SC\n5MQZFRVFvXr1ctXn990VdTBSo0aNePzxx4u0Tn5yPpPbB9gJIUrX448/joeHBytXrmTevHkkJCTw\n448/EhwcbNZS6+bmRmZmZp4NHEVR1HNETuPJxYsX72m/hRkyZAiTJk1iyZIlDB061Line truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x7d97940>"
"<matplotlib.figure.Figure at 0x8076f28>"
]
},
"metadata": {},
@@ -1293,9 +1297,9 @@
"outputs": [
{
"data": {
"image/png": "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\nyWQyoxfn5ORkg+Xhw4czjuNYSEhIsboqlYqlpKTolx89esTy8vKK1YuOjmYikYhNmDDBoLykRL5P\nnz5MJBKx3bt3G5RnZGSwDh06MJ7n2aVLlwzWhYeHV+ixb9++Et6dwv2VN5HXJS5bt24tsy4hNcmK\nFStKbJD56KOPip1vf/31V8ZxHOvatatB4swYY19//TXjOI4NGTLEoNxYIl/R60Rubi5zd3dnPM+z\nr7/+ulisiYmJBon/s4k8Y4X/5401uDDG2GuvvcY4jmOXL182KFepVMzW1pY5ODgYnP90jUjG4vnq\nq68Yx3Gse/fuRo9V1K1bt/RJf9HrijGXL1/Wfxkxpuj5/enTp8zKyopJJBJ28uTJYnWf/cIVExNT\nrI5Go9En7GfPnjVYZyyRv337NpNKpaxJkyYsPj7eoP4vv/zCxGIx8/b2Nii/cOFChc/vZTVolTeR\nZ0z7BUYikTCVSlVm3bqOEvkaSJe8mpmZGf2PExYWxjiOY0uXLtWX9e3bl3Ecxw4fPlysvu4k1KxZ\nM32ZLpE/evRomfFUViKfl5fH5HI5s7CwKJbYMsbYhg0bGMdxbPz48foy3XthYWFhcOHR8fPzYzzP\ns6ysLH3Zzz//zDiOY6NGjSpWPzExkXEcV+6Tzdtvv13s4laSDh06MIVCYZCEG5OYmMh4nmcuLi4G\ncT+PNm3aME9PT4MyY4m87m/g2Yu9zv79+xnHcWzmzJkG5br3SvdlqrQHz/Ns9OjRpcZbkUR+586d\njOM4FhYWVmZdQmqS+Ph4JhaLWfv27Q3KCwoKmIuLC7O0tDQ4N+h+nbpy5YrR/b300ktMLBYbnCON\nJfIVvU58//33jOM49uqrr5brdT1PIn/48GHGcRwLDQ01KI+MjGQcx7GPPvrIoHzkyJGM4zijSbLu\nC9Lw4cPLjDU7O1t/3kpKSiq1ru69Kc9+IyIiGMdxbPLkyWXWLc3ff//NOI5jixcvNig3lsjrrucH\nDhwwuq/BgwczjuPYtWvX9GU7duwo13m96Pn9119/LTXmiiTyur/FW7dulVm3rqNRa2qwRo0awc3N\nrVi5n58fli9fjosXL+rL/vnnH3AcZ7RPeps2beDg4IDbt28jOzsbcrkcw4YNw/r16zFo0CAMGTIE\nL7/8Mrp06YLmzZtX2eu5ceMGVCqVfjiwZ/Xt2xcAjA5L5eXlBQsLi2LlDRs2BGMMqLine truncated
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x91433c8>"
"<matplotlib.figure.Figure at 0x9431898>"
]
},
"metadata": {},
@@ -1303,9 +1307,9 @@
},
{
"data": {
"image/png": "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 truncated
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x91437f0>"
"<matplotlib.figure.Figure at 0x9473be0>"
]
},
"metadata": {},
@@ -1313,9 +1317,9 @@
},
{
"data": {
"image/png": "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 truncated
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAvIAAAE6CAYAAAB0yLYIAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xd4VNXWB+DfPpNMyaQ3UiCFlpDQe5NeBEQQFaQoAQSU\n0ESEUKRILyJVr3qvFBGwfSIXUanKRVCKCEiHJEAogYT0Mslk1vdHnEOGmUmBkEnCep+Hh2Sfc+as\nmSTnrNmz99qCiAiMMcYYY4yxCkWydQCMMcYYY4yxkuNEnjHGGGOMsQqIE3nGGGOMMcYqIE7kGWOM\nMcYYq4A4kWeMMcYYY6wC4kSeMcYYY4yxCogTeWZiw4YNkCQJGzduLNFxkiShY8eOTyiq4unatStq\n164Ng8Fg0zjK0i+//AJJkjB37lxbh1JuXb9+HSqVCrNmzbJ1KIw9ER06dIAkle3tPCgoCMHBwWVy\nrujoaKhUKsybN69MzldeREREQJIkXL9+3dahlFtLliyBUqnEpUuXbB2KzXAiz0wIIeR/BUmSVORF\n++FjytKuXbuwb98+zJ492+oN7fvvv0e/fv3g7+8PtVoNDw8PtGzZEgsWLEBKSkoZR1y6bPnaG+n1\neqxatQrDhg1Dw4YNoVQqIUkSPv744yKP3bRpE1q0aAEnJye4urqiY8eO+OGHH6zun5WVhTlz5iAk\nJAQajQZVqlTBgAEDcOHCBbN9AwIC8Prrr2PFihW4devWYz1Hxsqrsr4GWLpPzJkz55E6gooSFRUF\nJycnTJw40eL2lJQULFy4EC1btoS7uzvUajWqVq2Kfv36Yfv27aUaS1krD9d2ADh//jxmz56NPn36\nICAgAJIkQZIk5OTkFHpcUlIS3nrrLQQFBUGtVsPf3x8jRozAzZs3Cz1X//794e3tDY1Gg9DQUMyZ\nMwfZ2dlm+44bNw5ubm6YMmXKYz/HCosYKyAlJYUuXrxIKSkpJu1CCAoODrZ63MWLF+nGjRtPOjyr\nGjZsSIGBgWQwGMy2paSkUI8ePUgIQS4uLjRw4ECaPn06jRs3jkJDQ0kIQVWqVKHffvvNBpE/ngMH\nDpAQgubOnWvrUCgpKYmEECRJEvn6+lJAQAAJIejjjz8u9LjJkyeTEIICAgJo0qRJFBkZSR4eHiSE\noLVr15rtn52dTW3btiUhBDVv3pyioqJo0KBBZG9vT1qtlv744w+zY2JjY0mSJIqMjCy158tYedG+\nfXuSJKlMzxkdHU3R0dEmbbNnzyYhBG3cuLHUznPy5EkSQtCMGTMsbj906BB5e3uTEIJCQ0MpMjKS\nZsyYQQMHDiQXFxcSQlCPHj0oNTW11GIqK0OHDiUhBF27ds3WodAHH3xAQgiyt7ensLAw0mg0JEkS\n6XQ6q8ckJCRQSEgICSGoS5cuNG3aNOrbt698z33494eI6I8//iCtVksqlYoGDx5MUVFR1KxZMxJC\nUNu2bS2e77333iMhBB09erRUn3NFwYk8K5aiEnlb+u2330gIQdOmTTPblpeXR926dSMhBHXt2pUS\nEhLM9lm5ciVJkkTOzs504cKFsgi51JSnRD4nJ4d++uknunPnDhE9uKkXlsgbf3a1atWi5ORkuT02\nNpY8PDxIrVZTbGysyTELFy4kIQT179/fpP37778nIQSFh4dbfEPXvn17cnZ2pvT09Md5moyVO7ZI\n5C0x/s1v2LCh1B5z5MiRJISgixcvmm07f/48OTk5kUKhoA8++MBse0JCAnXt2pWEEPTss89avC6U\nZ+Upkb948SIdPXqUsrOziYgoMDCwyER+1KhRJISgyZMnm7SvXr1a/pkUpNfrqU6dOiRJEv33v/+V\n2w0GA7300kskhKDFixebnScmJoaEEDR8+PDHeYoVFifyNmb8BezQoQPFxcXRoEGDyNPTkzQaDTVt\n2pS+/PJLi8cZDAb69NNPqUWLFuTo6EgODg7UqFEjev/99yk3N9ds/1OnTtHAgQMpKCiI1Go1eXp6\nUv369WnMmDEmve/r1683uRAbE0VL/yIiIuTjjM/hYampqTRjxgwKCQkhtVpNrq6u1KlTJ/r+++8L\nfS0SEhJo5MiR5OPjQyqVisLDw2n9+vUWX4vhw4eTEIJOnTpltm3z5s0khKAaNWpQRkaGxeOJiN55\n5x0SQlD37t2t7vOwHTt2UOfOncnX15dUKhX5+vpSmzZtaOHChWb7ZmZm0tKlS6lp06bk6OhIWq2W\nQkJCaMyYMXT9+nV5v4sXL9LUqVOpSZMm5OnpSSqVigIDA+n111832c+osEQ+OTmZ3n33XQoPDycH\nBwdycnKitm3b0tdff13s5/g4ipPIv/rqq1Zv/LNmzSIhBM2ePVtuMxgMFBAQQJIkmSX4RETt2rUj\nIQQdOHDAbNtHH31EQgirv0eMlbYjR46QEIJ69+5tdZ8mTZpY/H3ev38/9e7dmzw9PUmpVFJgYCCN\nGTNGfqNckLVEvqT3CSKiuLg4mjBhAtWqVYs0Gg25ublRkyZNaNasWSbHBAYGUlBQkEkM1u4VsbGx\nFBUVVWhv/fnz5+VeV6PMzExydHSkRo0aWTymS5cuJISgqVOnWtxORJSenk7BwcEkhKCtW7da3a+g\n1NRUmjdvHtWtW5dcXFzI0dGRgoODqV+/fvTLL7+Y7X/hwgUaPnw4BQUFkUqlIi8vL2rdujWtWLHC\nZL/vvvuOBg8eTLVq1SKtVktarZYaN25MK1eupLy8PLPHLSyRP3HiBA0YMIB8fX1JqVSSr68vvfrq\nq3TlypViPcfHVVQin5aWRhqNhpycnMw6TwwGAwUGBpIQwqRXft++fVZziejoaBJCmPzOFdSiRQvS\narWF3ucrK07kbcyYvDZo0ICCgoKocePGFBUVRaNGjSJXV1cSQljsaTAmQNWqVaMJEybQ5MmTqXbt\n2nIyqtfr5X1PnTpFarWatFotDRgwgKZPn07jx4+n5557jrRaLV29elXe15jIGy+2sbGxNGfOHBJC\nkKurK82dO1f+VzAZF0JQx44dTWJMTk6munXrkhCCmjRpQlFRUTR69Ghyd3cnIQS99957Fl+Lhg0b\nUkhICNWvX5/Gjx9Po0ePJjc3N6s3gWrVqpGLi4vF19eY2H300UeF/hzu379PKpXKaoL4sI8//piE\nEOTr60sjR46kGTNm0OjRo6lt27YUGBho9tgNGzaUP/qdMGECTZ06lV566SVydXU1eR0XLVpErq6u\n1K9fP5owYQK988471KNHD5IkiapUqUJxcXEmj20tkY+Li6NatWqREILat29PkyZNolGjRpG/vz8J\nIWjOnDlFPsfHVZxE3t/fnyRJspicGJOgdu3ayW2XL1+WX0dLFi1aREIIevfdd822nTlzhoQQNHDg\nwEd4Now9mjp16pC9vT3dvXvXbNvff/9t8dq5ePFiEkKQp6cnDR06lKZOnUrPPvssCSGoatWqZtcB\na4l8Se4TRETHjh2Th7W1b9+epk6dShMmTKBu3bqRUqk06fQJDAw0+ZR2w4YN1KFDBxJC0AsvvGBy\nr0hOTqZr166RQqGg1q1bW3ydJk6cSEII+uKLL+S2vXv3khCCxo0bZ7a/MbHTaDSUlJRk8TGN1q1b\nZ/F1tsRgMFDr1q1JCEEtW7akSZMmUVRUFA0ZMoSCgoLMri07d+6Uh5n07NmTpk+fTpGRkdSuXTvy\n8PAw2Tc0NJTCw8Pptddeo2nTptGYMWPkoSeDBg0yi8VaIr9582ays7MjR0dHGjRoEE2dOpX69etH\ndnZ25OrqSn/99VeRz/NxFZXI79mzx2Kvu9Ho0aNJCEH/+c9/5LYZM2ZY7XUnIqpduzZJkmSSsxhN\nmjSJhBD0888/P8Kzqdg4kbcxY/IqhKBXXnnFZNvVq1fJ1dWVVCqVyR/ytm3b5IQ3LS1Nbs/JyaHO\nnTuTEIKWL18utxt/wS31gqenp5v8IT6cyBsVNbTG0kXyjTfeICEEjRgxwqQ9Li6OfH19SZIkOnbs\nmMXXYuTIkSYfg547d47s7OwoLCzM5LFiY2NJCEGdO3c2iyk3N5eUSiVJklSsXopWrVqREII2b95c\n5L6NGzcmtVpt8eacmJho8v3AgQNJCEGjRo0y2zcrK4vu378vf3/z5k3Kyckx22/37t2kUCjojTfe\nMGm3lsh37tyZFAoFbdu2zaQ9NTWVGjduTJIkmX2CMXv27BL92759u5VX58HjFZbIp6enkxCCnJ2d\nLW6/d+8eCSHIx8dHbtu5cycJIej555+3eMzXX39t8W+JKH+YlVarpapVqxYaN2OlacmSJVY7ZIyf\nBBa83v76668khKDWrVubzVX6/PPPSQhBL774okm7pUS+pPcJnU5HQUFBJEkSff7552axxsfHmyT+\nDyfyREWPke/duzcJIej06dMm7VlZWeTm5kZeXl4m1z9jJ5KleDZt2mTWg2/NpUuX5KS/qOE1p0+f\nlt+MWFLw+n7v3j1ydnYmpVJp8VPAh99wWRoTbjAY5IT9999/N9lmKZG/fPkyqVQqqlmzJt26dctk\n/19++YXs7OyoSZMmJu0nT54s8fW9qA6tohL5tWvXkhCCxo8fb3H7smXLSAhBUVFRcptx+Mz//d//\nWTymV69eJISgn376yWyb8fd95syZhcZdGXEib2PG5NXe3t7iH8706dNJCEELFiyQ24wfJ/74449m\n+xsvQiEhIXJbSd6pllYin5OTQw4ODuTo6GiW2BIRrVmzhoQQNHr0aLnN+Fo4Ojqa3HiM2rVrR5Ik\nmXx0tn//fhJC0NChQ832j4+PJyFEkeP4jPr37292c7OmcePGpNVqTZJwS+Lj4+XJn4/7kV+9evWo\nevXqJm2WEnnj78DDN3ujHTt2kBCCpkyZYtJufK2sfTxe8J8kSTRs2LBC4y0qkb958Line truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x9094748>"
"<matplotlib.figure.Figure at 0x94984e0>"
]
},
"metadata": {},
@@ -1323,9 +1327,9 @@
},
{
"data": {
"image/png": "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 truncated
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x71fc8d0>"
"<matplotlib.figure.Figure at 0x82d1a20>"
]
},
"metadata": {},
@@ -1333,9 +1337,9 @@
},
{
"data": {
"image/png": "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 truncated
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x7e63b00>"
"<matplotlib.figure.Figure at 0x808bba8>"
]
},
"metadata": {},
@@ -1406,9 +1410,9 @@
"outputs": [
{
"data": {
"image/png": "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\n47G2ti6SNopyQhFGnTx5UjEzM1PUarUyYsQIZd26dcqNGzcUrVab7T7Lli1TVCqV8sknnxjdHh0d\nrTx+/DhL+Z07d5Tq1asrDRs2zLJNpVIpKpVK6d27t5KYmKgvf/DggVK5cmWlcuXKSkpKir58//79\nikqlUurUqWPwWklJSUrHjh0VlUqluLu7F1q7unXrpiQkJBhsCw0NVUxNTRV7e3slNDRUX67VapWh\nQ4cqKpVKUavVRt4h4zp37qyoVCpl2rRpioWFhWJjY6Ns3Lgxx31u3LiRpUyr1SqjR49WVCqVcujQ\nIYNt6eW3bt0y6Ed6P99++22D+vPmzVNUKpViZ2enDB482OAcBAUFKSqVShkwYIDBPsVx/nOS3sf+\n/fsrs2fPzvJ1//79XN+LsWPHGhwz/dxkrptZ165dFY1Go6xevdqgPCYmRmnZsqWiVquV06dP68uD\ng4P1ff7HP/6Rp34JIUqPHj166H+H//rrL6N1rl+/rq/j5eVVZG2Jj49XIiIiDMrCw8MVlUql+Pv7\nK4qiKGfPnlVUKpUyffr0LPu/9957ikqlUq5fv15kbRTlgyTTOVizZo3i4uKi/6VPT5569+6trF69\nOktinVsynZPJkycrKpVKCQsLMyhPTzyN/TKPGjVKUalUyvnz5/Vlr732mqJSqZSlS5dmqb93716j\nyfTztOvMmTNZ9pk7d262yVBoaKii0WgKlEynfy1fvjzP+z7r+PHjikqlUj777DOD8pwSSFtbWyU+\nPt6gflhYmP49eDaRTEtLU0xNTZU6derkuV2Fdf5zkt5HY1+Zk9rCSqbPnDmjqFQqZdCgQUbbs2HD\nhix/xNKTaRcXFyU5OTlP/RJClB5NmjTRx5WdO3carZP5QoW9vb3ROm+++abi4+OTr69169bl2r4P\nPvhA0Wg0ysGDBxVFybgAZezv1UcffaSoVCrl2LFj+XgHREUkwzxyMGTIEAYMGEBwcDD79+/n5MmT\nhISEsGnTJjZt2sTy5cvZsGEDpqameT7m/v37+fbbbzl48CAPHz4kOTnZYHt4eDiurq4GZXZ2dtSp\nUyfLsdKHVERGRurLTpw4AUDnzp2z1G/fvj0ajabQ2mVhYUGTJk2yHCunNtSuXZuaNWsWaCq1Hj16\nsGXLFt577z2aNm2qn8rNmMePH/PVV1+xadMmbty4keU2X3h4eJ5f18PDI8sQg/QH9CpXrkytWrUM\ntqnVahwdHblz506WYxX1+c+L5cuX5/gAYmFJf+4gOjra6AM86eMYL168mGVbs2bN8vV7JYQoHTLH\ntMxjkLOTmJhotHzx4sWF1qZ0169fZ9GiRXz00Uf4+PgAGW00NrQtKSkJQD9sRYjsSDKdCxMTEwIC\nAggICAB0U/789ttvjBs3jq1bt7J48WKmTJmSp2P98ccfDB48GCsrKwICAqhbty7W1tao1WqCg4PZ\ns2eP/pc3s8xjUJ9tG0BaWpq+LDo6GpVKhZOTU5b6Go1GPxa8MNr17IMlmdsAGG1DenlBkukPP/wQ\nPz8/PvjgA/z9/dm8ebM+IGYWFRVF69atuXnzJm3btmXMmDFUqVIFExMTIiMj+fbbb432JzvGxnin\nv/fZjf82MTEhNTXVoKw4zn9p8vjxYwB27txp8LBPZiqVSj92MbP8zCYihCg9atSowZUrV/Jc38XF\npQhbkyEpKYlXXnmFN954g08//VRf7uDgkO0+6bHJ2CQEQmQmyXQ+qdVqhgwZwtmzZ5k7dy67du3K\nczL98ccfY2FhwbFjx2jQoIHBtvDwcKOLkuRXenJ3//79LAEgLS2Nx48fZ7nKWtB2ZfeQWnobIiIi\njF65joiIyFtnjHj//fextrZm8uTJdOvWjQ0bNhg87AmwdOlSbt68yZw5c7I8nHfw4EGDGUeKU3Gc\n/9Ik/edgwYIFTJ06NV/7ytzVQpRN7du3Jzg4GIAnT54YrZP+QTu9flFTFIVx48bRo0ePLHfJnJyc\nUKlURu/wxcfHo1Kp9JMICJEdmRqvgNLnrVQyza+bPoQiuyuF165dw9PTM0sipdVqs52zOr+8vb1R\nFMVoYrZ//36jbSvsdnl7ewO6ac6eFRoaSlhYWL6Pmdlbb71FYGAgT58+pXfv3mzZssVg+7Vr1wAY\nNGhQln1LMmEtjvNf3HL6mU//I5k+fZ4QovwbPXo0arUutTh16pTROidPngR0H5pHjhxptM4bb7xB\n69at8/VlbEpS0F3I8PT0NEik02d0srKywtvb2+jd0mvXrlGvXj2ZyUPkSpLpbKxatYodO3YYXYzi\n/v37LFmyBABfX199ebVq1QC4deuW0WO6u7tz5coV7t27py9TFIU5c+Zw8eLFQrkaN2bMGADmzZtn\ncFUgKSmJjz76qFja9corr2BqasqiRYsIDQ3Vl2u1Wj788MM8z/OckzFjxhAUFERKSLine truncated
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x92decf8>"
"<matplotlib.figure.Figure at 0x95a65c0>"
]
},
"metadata": {},
@@ -1568,9 +1572,9 @@
"outputs": [
{
"data": {
"image/png": "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 truncated
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x7f4cba8>"
"<matplotlib.figure.Figure at 0x76322b0>"
]
},
"metadata": {},
@@ -1599,9 +1603,9 @@
"outputs": [
{
"data": {
"image/png": "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 truncated
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x7e2b710>"
"<matplotlib.figure.Figure at 0x9468710>"
]
},
"metadata": {},
+3 -3
View File
@@ -13,7 +13,7 @@ import math
class DogSimulation(object):
def __init__(self, x0=0, velocity=1,
measurement_variance=0.0, process_variance=0.0):
measurement_var=0.0, process_var=0.0):
""" x0 - initial position
velocity - (+=right, -=left)
measurement_variance - variance in measurement m^2
@@ -21,8 +21,8 @@ class DogSimulation(object):
"""
self.x = x0
self.velocity = velocity
self.measurement_noise = math.sqrt(measurement_variance)
self.process_noise = math.sqrt(process_variance)
self.measurement_noise = math.sqrt(measurement_var)
self.process_noise = math.sqrt(process_var)
def move(self, dt=1.0):
+25 -2
View File
@@ -58,6 +58,27 @@ def set_limits(x, y):
plt.gca().set_xlim(x)
plt.gca().set_ylim(y)
def plot_predictions(p, rng=None):
if rng is None:
rng = range(len(p))
plt.scatter(rng, p, marker='v', s=40, edgecolor='r',
facecolor='None', lw=2, label='prediction')
def plot_kf_output(xs, filter_xs, zs, title=None, aspect_equal=True):
plot_filter(filter_xs[:, 0])
plot_track(xs[:, 0])
if zs is not None:
plot_measurements(zs)
show_legend()
set_labels(title=title, x='meters', y='time (sec)')
if aspect_equal:
plt.gca().set_aspect('equal')
plt.xlim((-1, len(xs)))
plt.show()
def plot_measurements(xs, ys=None, color='k', lw=2, label='Measurements',
lines=False, **kwargs):
@@ -84,9 +105,11 @@ def plot_measurements(xs, ys=None, color='k', lw=2, label='Measurements',
plt.plot(xs, color=color, lw=lw, ls='--', label=label, **kwargs)
else:
if ys is not None:
plt.scatter(xs, ys, edgecolor=color, facecolor='none', lw=2, label=label, **kwargs)
plt.scatter(xs, ys, edgecolor=color, facecolor='none',
lw=2, label=label, **kwargs)
else:
plt.scatter(range(len(xs)), xs, edgecolor=color, facecolor='none', lw=2, label=label, **kwargs)
plt.scatter(range(len(xs)), xs, edgecolor=color, facecolor='none',
lw=2, label=label, **kwargs)
def plot_residual_limits(Ps, stds=1.):
+34
View File
@@ -0,0 +1,34 @@
# -*- coding: utf-8 -*-
"""
Created on Sat Jul 25 17:13:23 2015
@author: rlabbe
"""
import book_plots as bp
import matplotlib.pyplot as plt
def plot_dog_track(xs, measurement_var, process_var):
N = len(xs)
bp.plot_track([0, N-1], [1, N])
bp.plot_measurements(xs, label='Sensor')
bp.set_labels('variance = {}, process variance = {}'.format(
measurement_var, process_var), 'time', 'pos')
plt.ylim([0, N])
bp.show_legend()
plt.show()
def print_gh(predict, update, z):
predict_template = 'PREDICT: {: 6.2f} {: 6.2f}'
update_template = 'UPDATE: {: 6.2f} {: 6.2f}\tZ: {:.2f}'
print(predict_template.format(predict[0], predict[1]),end='\t')
print(update_template.format(update[0], update[1], z))
def print_variance(positions):
print('Variance:')
for i in range(0, len(positions), 5):
print('\t{:.4f} {:.4f} {:.4f} {:.4f} {:.4f}'.format(
*[v[1] for v in positions[i:i+5]]))
+45 -1
View File
@@ -13,6 +13,50 @@ from matplotlib import cm
from mpl_toolkits.mplot3d import Axes3D
from numpy.random import multivariate_normal
def zs_var_240():
return [3.59, 1.73, -2.575, 4.38, 9.71, 2.88, 10.08,
8.97, 3.74, 12.81, 11.15, 9.25, 3.93, 11.11,
19.29, 16.20, 19.63, 9.54, 26.27, 23.29, 25.18,
26.21, 17.1, 25.27, 26.86,33.70, 25.92, 28.82,
32.13, 25.0, 38.56, 26.97, 22.49, 40.77, 32.95,
38.20, 40.93, 39.42, 35.49, 36.31, 31.56, 50.29,
40.20, 54.49, 50.38, 42.79, 37.89, 56.69, 41.47, 53.66]
def zs_var_375():
return [-6.947, 12.467, 6.899, 2.643, 6.980, 5.820, 5.788, 10.614, 5.210,
14.338, 11.401, 19.138, 14.169, 19.572, 25.471, 13.099, 27.090,
12.209, 14.274, 21.302, 14.678, 28.655, 15.914, 28.506, 23.181,
18.981, 28.197, 39.412, 27.640, 31.465, 34.903, 28.420, 33.889,
46.123, 31.355, 30.473, 49.861, 41.310, 42.526, 38.183, 41.383,
41.919, 52.372, 42.048, 48.522, 44.681, 32.989, 37.288, 49.141,
54.235, 62.974, 61.742, 54.863, 52.831, 61.122, 61.187, 58.441,
47.769, 56.855, 53.693, 61.534, 70.665, 60.355, 65.095, 63.386]
def plot_track_ellipses(N, zs, ps, cov, title):
bp.plot_measurements(range(1,N + 1), zs)
plt.plot(range(1, N + 1), ps, c='b', lw=2, label='filter')
plt.legend(loc='best')
plt.title(title)
for i,p in enumerate(cov):
plot_covariance_ellipse(
(i+1, ps[i]), cov=p, variance=4,
axis_equal=False, ec='g', alpha=0.5)
if i == len(cov)-1:
s = ('$\sigma^2_{pos} = %.2f$' % p[0,0])
plt.text (20, 5, s, fontsize=18)
s = ('$\sigma^2_{vel} = %.2f$' % p[1, 1])
plt.text (20, 0, s, fontsize=18)
plt.xlim(-10, 80)
plt.gca().set_aspect('equal')
plt.show()
def show_residual_chart():
est_y = ((164.2-158)*.8 + 158)
@@ -23,7 +67,7 @@ def show_residual_chart():
ax.annotate('', xy=[1,159], xytext=[1,164.2],
arrowprops=dict(arrowstyle='-',
ec='k', lw=1, shrinkA=8, shrinkB=8))
ec='k', lw=3, shrinkA=8, shrinkB=8))
ax.annotate('', xy=(1., est_y), xytext=(0.9, est_y),
arrowprops=dict(arrowstyle='->', ec='#004080',
+1 -1
View File
@@ -266,7 +266,7 @@ def plot_cov_ellipse_colormap(cov=[[1,1],[1,1]]):
def plot_multiple_gaussians(xs, ps, x_range, y_range, N):
def plot_gaussians(xs, ps, x_range, y_range, N):
""" given a list of 2d states (x,y) and 2x2 covariance matrices, produce
a surface plot showing all of the gaussians"""
+1 -1
View File
@@ -301,7 +301,7 @@ def plot_rts_output(xs, Ms, t):
plt.legend(loc=4)
np.set_printoptions(precision=4)
print('Difference in position in meters:', xs[-6:-1, 0] - Ms[-6:-1, 0])
print('Difference in position in meters:\n\t', xs[-6:-1, 0] - Ms[-6:-1, 0])
def plot_scatter_of_bearing_error():
+2 -1
View File
@@ -1,4 +1,5 @@
copy /Y ..\01-g-h-filter.ipynb book.ipynb
copy /Y ..\14-Adaptive-Filtering.ipynb book.ipynb
REM python merge_book.py
ipython nbconvert --to latex --template book6x9 book.ipynb
ipython to_pdf.py