Added example of KF without using FilterPy.

This commit is contained in:
Roger Labbe committed 2015-12-13 15:15:27 -08:00
1 parent 6a05d8edd7
commit 26125c538f
1 file changed
+142 -41
+142 -41
View File
@@ -369,9 +369,9 @@
"outputs": [
{
"data": {
"image/png": "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 truncated
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x4617b70>"
"<matplotlib.figure.Figure at 0x1cef5568128>"
]
},
"metadata": {},
@@ -572,7 +572,7 @@
},
{
"cell_type": "code",
"execution_count": 25,
"execution_count": 7,
"metadata": {
"collapsed": false
},
@@ -584,7 +584,7 @@
" [ 0., 49.]])"
]
},
"execution_count": 25,
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
@@ -603,7 +603,7 @@
},
{
"cell_type": "code",
"execution_count": 26,
"execution_count": 8,
"metadata": {
"collapsed": false
},
@@ -615,7 +615,7 @@
" [ 0., 49.]])"
]
},
"execution_count": 26,
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
@@ -722,7 +722,7 @@
},
{
"cell_type": "code",
"execution_count": 27,
"execution_count": 9,
"metadata": {
"collapsed": false
},
@@ -752,7 +752,7 @@
},
{
"cell_type": "code",
"execution_count": 28,
"execution_count": 10,
"metadata": {
"collapsed": false
},
@@ -785,7 +785,7 @@
},
{
"cell_type": "code",
"execution_count": 29,
"execution_count": 11,
"metadata": {
"collapsed": false
},
@@ -822,7 +822,7 @@
},
{
"cell_type": "code",
"execution_count": 30,
"execution_count": 12,
"metadata": {
"collapsed": false
},
@@ -834,7 +834,7 @@
" [ 14.7 , 49. ]])"
]
},
"execution_count": 30,
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
@@ -854,7 +854,7 @@
},
{
"cell_type": "code",
"execution_count": 34,
"execution_count": 13,
"metadata": {
"collapsed": false,
"scrolled": true
@@ -862,9 +862,9 @@
"outputs": [
{
"data": {
"image/png": "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 truncated
"image/png": "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\n315TRYnI3W/jRnO0NibGXHTm55+hY8c7umT79u0JCAhg1KhRREdH06tXLysFexe45x746iuzlCc1\nFUaNMhcpunw5X5fTyLeIFBRWT8A3bdrEyJEj2bZtG+Hh4bi5udGpUycuXLiQ0Wb69OnMnDmT2bNn\nExkZSUBAAKGhobpDXUTuXvPmQdeu5mhtr16wbRtUrXrHl/X39+fAgQPMmjULHx8fKwR6l3Fxgdde\ngyVLzPKU+fOhUye46f8UEZG7jdUT8LVr1zJ48GBq165NnTp1+OSTTzhz5gxbt27NaPPWW28xbtw4\n+vbtS+3atfn444+5dOkSS5YssXY4IiK299Zb5nR66TdefvWVOXprJU6ZeP/dwIGweTOULQtbtphJ\n+Llzd3zZxYsXM23aNCsEKCKSezavAb948SJpaWkUL14cgMOHDxMXF0doaGhGGw8PD9q2bUtERISt\nwxERsa7p02H0aHP73XfN0dp8TAUYFRVFv379uHr1qpUDLESaNIGtW81vFqKioH17OH0635eLjY1l\n8ODBvPTSS0RGRloxUBGRnFkMG8/HNGDAAH7//Xd++eUXLBYL27Zto3Xr1hw5coRy5cpltHv88cc5\nefIka9euzXR+QkJCxnZsbKwtQxURyZPSixZR/q23MCwWjrz4Imf79s3zNVJTU/nwww/54IMPSEtL\n49lnn2XAgAE2iLbwcD99muojRlDsjz9IDg7mwNy5pPr65utaM2fOZMmSJVSrVo2FCxfins+bZUVE\n/i44ODhj2/dvf6NsOgI+duxYIiIiWL58uW5+EZFCpdTnn1P+rbcA+OPll/OVfCcnJ/Pss88yb948\nDMNgyJAh9OvXz9qhFjpXAwI48N57/FWxIp6xsVR/+mlcExPzda3hw4dTtmxZDh48yEcffWTdQEVE\nbsFmI+Bjxozh888/54cffsj0CeDw4cNUrVqVX375hcaNG2fs79mzJ6VKlWLBggWZrnPzCPjfPz3k\nRvrXik2aNMnzuSLZUZ8SPvsM/vlPc3vuXBg2LM+XOHv2LB07dmTPnj3cc889vP7664wYMcLKgRZy\nJ05A27bw++/m84YNUKRIni8THh5Ohw4dcHd3Z+fOndSpU8cGwdqf/laJtalP5U1OOaxNRsBHjRrF\nZ599Rnh4eKbkG6By5coEBgayYcOGjH0pKSls3ryZkJAQW4QjImI9UVHwr3+Z22+8kLine truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x7de6a58>"
"<matplotlib.figure.Figure at 0x1cef83d8860>"
]
},
"metadata": {},
@@ -926,7 +926,7 @@
},
{
"cell_type": "code",
"execution_count": 35,
"execution_count": 14,
"metadata": {
"collapsed": false,
"scrolled": true
@@ -939,7 +939,7 @@
" [ 0.001, 0.024]])"
]
},
"execution_count": 35,
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
}
@@ -1027,9 +1027,9 @@
"outputs": [
{
"data": {
"image/png": "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 truncated
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x7e47940>"
"<matplotlib.figure.Figure at 0x1cef8364da0>"
]
},
"metadata": {},
@@ -1097,7 +1097,7 @@
},
{
"cell_type": "code",
"execution_count": 36,
"execution_count": 17,
"metadata": {
"collapsed": true
},
@@ -1138,7 +1138,7 @@
},
{
"cell_type": "code",
"execution_count": 37,
"execution_count": 18,
"metadata": {
"collapsed": true
},
@@ -1178,7 +1178,7 @@
},
{
"cell_type": "code",
"execution_count": 38,
"execution_count": 19,
"metadata": {
"collapsed": false
},
@@ -1197,7 +1197,7 @@
},
{
"cell_type": "code",
"execution_count": 43,
"execution_count": 20,
"metadata": {
"collapsed": false
},
@@ -1239,7 +1239,7 @@
},
{
"cell_type": "code",
"execution_count": 44,
"execution_count": 21,
"metadata": {
"collapsed": true
},
@@ -1276,7 +1276,7 @@
},
{
"cell_type": "code",
"execution_count": 45,
"execution_count": 22,
"metadata": {
"collapsed": false
},
@@ -1360,7 +1360,7 @@
},
{
"cell_type": "code",
"execution_count": 46,
"execution_count": 23,
"metadata": {
"collapsed": false,
"scrolled": false
@@ -1368,9 +1368,9 @@
"outputs": [
{
"data": {
"image/png": "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 truncated
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x99ec400>"
"<matplotlib.figure.Figure at 0x1cef9419da0>"
]
},
"metadata": {},
@@ -1378,9 +1378,9 @@
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAtoAAADtCAYAAACBDtIPAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3XlclOX+P/7XPTPAsA64sIogCSooKKApGSqJaYulaWb6\nSW2xPNZX7XhK2/B8PqbHMq1T6jk/KyVPtljZcjSkcosQdwrcFXADxgVFQNaZ6/cHOTKyCMwwN3C/\nno/HPLznXq77fY168eaa674uSQghQEREREREVqWSOwAiIiIiovaIiTYRERERUQtgok1ERERE1AKY\naBMRERERtQAm2kRERERELYCJNhERERFRC2CiTURERETUAphoExERERG1AI3cAVDT7d69G7/99huK\nioqwa9cuvPLKK4iNjZU7LCIishK280TtAxPtNub69ev49ttvsXjxYgDA119/jVGjRuHEiRPw9fWV\nOToiIrIU23mi9oNDR9qYkydPYsmSJcjKygIAjBgxAqWlpUhNTZU5MiIisga280TtBxPtNiY8PByp\nqakICgoCAJw9exYAEBwcbJXyn3rqKXTs2BFFRUVWKU9pcnJyoFKpMG3aNLlDsaqzZ89Cq9Xitdde\nkzsUonavvbbzba19bGvxNhbbc9tiot0GDRw40LS9ePFizJ49GxERERaXe+DAASQmJuLll1+Gq6ur\nxeUpmSRJcodgVf7+/njuueewbNkynDlzRu5wiNq99tzOt7X2sa3Feztsz21LEkIIuYOg5vnoo49w\n9OhRvP3221Ypb9SoUUhNTUVeXh6cnJysUqbSVFVVISsrCzqdDl5eXnKHY1W5ubkICAjAlClT8OGH\nH8odDpEitKd2PicnB0FBQZg6dSo+/vhjm967OdiekzWwR7uN2rRpE1QqFd5++22Ul5fj9OnTFpV3\n4sQJJCcnY9y4cUyyLaDRaBASEtLuGmUA8PX1xfDhw/HZZ5/h6tWrcodD1O6xnZcX23OyBibabdCO\nHTug1+tx3333IT8/H5s3b0ZeXp5FZX700UcQQuCxxx6rdezGOLVhw4bh/PnzmDRpEjp37gwnJyf0\n798fX375Zb3lfvPNNxg2bBh0Oh0cHR0RGhqKhIQElJSU1Dr3hx9+wPDhw+Hr6wutVgtfX18MHjzY\n9OR9Q9LS0qBSqTB69Oh6z4mOjoZarTb7YbV27Vo88sgjCAoKgpOTE3Q6HQYPHox169Y1+Dnk5ubi\n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 truncated
"image/png": "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\nFArx888/r/a8TqcTHRwcRGdnZ7GsrEwUxYrE28nJSbxz585jt+PmzZuiSqUSe/XqZXa9vLxc9PLy\nEp2dnUW9Xl+nsn788UdRoVCImzZtMl2r/D487AeE+v6j8qh6nJycavwHdfDgwaJCoTBry7x580SF\nQiGuWrXqkXW++eabokKhEH/++eca748bN05UKBTiuXPnqt0LCgqqVjcRNUxT6evr24fWty+pbx8p\nd5/+ODHXVE/VcurarzdWny6K7NflwAN0mqCLFy9iypQpWLNmDV588UXT9bNnz+L8+fMYNmyYZHXl\n5OQAAFxcXGp9rmPHjvDx8al2ffDgwVi+fDlOnjxpulb5eujQodWed3NzQ/fu3XHs2DFcvHgRQUFB\neP755/GXv/wFwcHBeO655zBo0CBERETAw8Ojzu3w9PREVFQUdu3ahV9//RU9evQAAOzatQtZWVmY\nNWtWtcVE169fx0cffYS9e/ciIyMD9+7dM90TBAGZmZnV6unUqRPatm1b57getx5/f384OTlVu+7t\n7Q0AyM3NNbXnyJEjAIDf/e53j4wlISEBAHDgwAEcP3682n2dTgcAOHfuHAIDA83uubq6AgBu376N\njh07PrIuIqpdU+rr69uHNqQvqYuW1qcDde/XG6tPB9ivy4GJdxO0aNEidO/e3awjBiqS1sr/IaVi\nb28PADAYDLU+97BV3ZXXq66Krnz9sMS58pS1u3fvAgDeeOMNuLu7Y/369Vi3bh0+++wziKKIfv36\nYfny5Rg8eHCd2jJr1izs3LkTMTExptX+MTExEAQBM2fONHv26tWr6N27N/Ly8jBw4ECMGDECGo0G\nSqUS165dQ0xMDIqLi6vVUZ8fBhpST+vWrWssT6Wq+F+2vLzcdK3y+9i+fftHxlP5j+8nn3xS63OF\nhYXVrlX+41L5d4aIGqap9fX16UMb0pfUVUvq04G69+uN1acD7NflwMS7icnLy8PPP/+Mzz77rNq9\nixcvSv4TqZubG4AH//M+TOVPzQ+7rtFoTNcqX2u1WrRq1araZ7Kysqp9ZurUqZg6dSoKCwuRlJSE\nbdu24X//93/x9NNPIyUlBV26dHlkW0aPHg0XFxds3rwZf//731FQUIBt27bB19cXAwcONHt21apV\nyM3NxcaNG/HCCy+Y3duyZctDV5nX9yCFx62nPio788zMTLPvaU0q79+5c+eRz/5WTk4OFApFvUeH\niKi6ptjX16cPbUhfUlfs0y3bpwPs1+XA7QSbmAsXLqC8vBy9e/c2u15UVIS9e/di3Lhxktbn6emJ\ndu3a4eLFi7U+l5GRgYyMjGrX9+/fDwDo1auX6VpoaCgAYN++fdWez87ORmpqKhwdHREQEFDtvpOT\nEyIjI/Hpp5/iz3/+MwwGA3bs2FGnttjY2GDy5Mm4desW4uLi8O2338JgMGDGjBnVnq3cYqmm7+f+\n/fslO6msMerp168fANTp+9S/f38AwMGDB+tVh16vR2ZmJrp169biTnEjkkND+vrx48fjr3/9a73q\nq0tfX58+9HH7kvpgn265Ph1gvy4XJt5NTOX8u9/OA1u3bh28vLyq/XpNCoMGDUJubm6tHXJ5eTne\neustiFUOOr1y5QrWr18PGxsbPP/886brs2fPhiiK+PDDD6uNlC9cuBBFRUWYOXMmlEolgJoTdODB\nyHh9DnqYNWsWRFHExo0bERMTA4VCgenTp1d7rlOnTgAe/OBQadeuXfjiiy/qXN+jNEY9L7/8MpRK\nJT744AOcOXOm2v2q8w3nzZsHtVqNP//5z7hw4UK1Z8vLy6vFCgDHjh1DeXm5pHNOiaxZQ/r6119/\nHZMnT653nXXp6+vahz5uX1Jf7NMt06cD7NflwqkmTYy/vz8iIiLwyy+/oGvXrgAqFk2sW7cOcXFx\nsLGxkbzO8ePH44cffsCuXbtMdf5Wjx49cOTIEYSHh+Opp55CTk4Otm7divz8fKxevdrs16L9+vXD\nokWL8NFHH6Fbt26YOHEiNBoN9uzZgxMnTqBnz5748MMPTc+PGzcOjo6O6NevHzp16gRBEHD06FEc\nOnQI/v7+mDRpUp3bEh4ejpCQEGzbtg1lZWUYMmRIjYtCX3nlFWzYsAETJkzAhAkT4OXlhdTUVOza\ntQuTJk3Cli1b6vEdfLjGqCcoKAjr1q3Dyy+/jLCwMIwaNQoBAQG4c+cOTp48iZKSEtOim65duyIm\nJgazZs1Ct27d8Lvf/Q5du3ZFeXk5rl+/jvj4eJSUlODOnTtmdezcuROCIEj+Gxcia9WQvn7QoEGP\nVWdd+vq69qGP25fUF/t0y/TpAPt12ci5pQrV7NatW+LkyZPFefPmiXPnzhVfffVV8datWzU+e+TI\nETEmJkb8y1/+In711VfiunXrxEmTJompqal1rq+kpET08PAQw8LCqt2r3AZp6NChYLine truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x9a9d278>"
"<matplotlib.figure.Figure at 0x1cef95211d0>"
]
},
"metadata": {},
@@ -1421,7 +1421,7 @@
},
{
"cell_type": "code",
"execution_count": 47,
"execution_count": 24,
"metadata": {
"collapsed": false,
"scrolled": false
@@ -1429,9 +1429,9 @@
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAr8AAAE5CAYAAACZGEi2AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzsvXmYHNV59n3X0kt196ya0YyWkZA0g8QiIwsJbCLAKw7x\nEscG7BcbxzaOjRzHL8aEmCRvHBM+YgMGQgLC8YIBBxswZpUMCIfFgIyQhISE0DrakDQjzd57dy3f\nHzWn53RN9VpV3VUz53ddXGh6uqdPn6quuuup+9wPp2maBgaDwWAwGAwGYxrA13sADAaDwWAwGAxG\nrWDil8FgMBgMBoMxbWDil8FgMBgMBoMxbWDil8FgMBgMBoMxbWDil8FgMBgMBoMxbWDil8FgMBgM\nBoMxbWDil8FgMBgMBoMxbWDil8FgMBgMBoMxbWDil8FgMBgMBoMxbWDil8FgMBgMBoMxbWDil8Fg\nMBgMBoMxbWDil8FgMBgMBoMxbWDil8FgMBgMBoMxbWDil8FgMKYZmqZBlmWk02lomlbv4TAYDEZN\nEes9AAaDwWA4h6Zp0DQN2WwWiqJAVVWoqpoTvZqmgeM48Dyf+4/juDqPmsFgMJyDiV8Gg8GYQqiq\nCkVRkM1moWkaotFoTugGAoG85xBR7Pf7wXEc0uk0AEAQBDQ2NjIhzGAwpiScxu55MRgMhich9gVF\nUXJVXVLpJf+lUqmK/y7P83nil+d5CILAhDCDwZgSMPHLYDAYHkDTNKiqClmWIctyntAlvzeKYCvw\nPA+fzwefzwdRFMFxHLNHMBiMKQETvwwGg+EyiKilhS4taMm/aQ9vuQiCAEEQwPM8NE0Dz/PIZrOQ\nZbno64gQ9vl84Hl9rTSpCDMhzGAwvAQTvwwGg1FnjD5d4scFJiq+5DmVCF2e5/OeHwqFcsKVvG8w\nGAQAZDIZxGKxsv6uIAg5IUzEL3k/+mcGg8FwI2zBG4PBYNQQIm6JV9dYuaWFrqIoZf9dYkUg4pNU\nY2lBW6w6S/9OEASEQiFks1lkMplJgpuMLZVKgeM4+Hw++P1+iKIIRVGYPYLBYLgaJn4ZDAbDIcr1\n6dLpC+XAcVxO5DphOyCC1ufzIRQK5arSmUxmkj1C0zRkMhlkMhkAgCiKOSEsCAKAfGHOhDCDwag3\nTPwyGAyGDZTy6RIhXK1P11jVdWL8xd5fEAQEg8FcPFomk8nZNGjI5yevo+0RsiyzqjCDwag7TPwy\n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 truncated
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x88d3630>"
"<matplotlib.figure.Figure at 0x1cef9627e48>"
]
},
"metadata": {},
@@ -1520,16 +1520,16 @@
},
{
"cell_type": "code",
"execution_count": 48,
"execution_count": 25,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "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 truncated
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x9a042e8>"
"<matplotlib.figure.Figure at 0x1cef83f5fd0>"
]
},
"metadata": {},
@@ -1568,7 +1568,7 @@
},
{
"cell_type": "code",
"execution_count": 49,
"execution_count": 26,
"metadata": {
"collapsed": false,
"scrolled": true
@@ -1576,9 +1576,9 @@
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAuwAAAEUCAYAAABwCWMVAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xl8TPf+x/HXTCQSSxNCEEKCWGupvdZYgqBorW3Ram/V\nLW0t7a+0WktdbRVtKYq21mpLF10QtJQqWilB1ZLYiaARqQQNmfP7Y665gsQkZjIzvJ+Pxzwyc86Z\n7/nI9zHJ2zff8z0mwzAMRERERETELZldXYCIiIiIiGRNgV1ERERExI0psIuIiIiIuDEFdhERERER\nN6bALiIiIiLixhTYRURERETcmAK7iIiIiIgbU2AXEXEzP/30E2az2fYIDw/PtH/evHmZ9kdGRrqo\nUtfy9fXN9H1Yv369q0sSEXGKfK4uQEREbi4iIoKIiAiKFi160/1du3aldu3alC9f3u4216xZQ3R0\nNLGxscTGxpKcnEzDhg3ZvHmzo8rO1hdffMH69euJjY1lx44dpKam0qtXLz799NMct/Xqq6+SkZHB\n119/zY4dOzCZTE6oWETE9RTYRUTcVEREBK+99lqW+7t27Uq/fv1y1Ob06dP59ttv8fPzo2LFiiQn\nJ+dp0B0/fjw7d+6kcOHClClThr179+b6/K+88goABw8eZMeOHY4sU0TErWhKjIjIXWTEiBHs3r2b\n1NRUvv322zw//7vvvktcXBwpKSnMnDkzz88vIuKJNMIuInIXadSoke25YRh5fv6IiAiXnl9ExBNp\nhF1ERERExI0psIuIiIiIuDEFdhERERERN6bALiIiIiLixhTYRURERETcmAK7iIiIiIgbU2AXERER\nEXFjWoddRESydfVupBUqVCBfvrz9tXHlyhXi4+MxmUxUrlw5T88tIuIuFNhFRO4iGzdu5MMPPwQg\nNTUVgPj4eB5//HEATCYTkyZNIjAw0PaeatWqAXD48GHKli17W+dftmwZy5YtAyAxMRGALVu2ZDr/\n3LlzbccfP37cdn6LxXJb5xYR8VQK7CIid5EDBw6wYMECTCYTYA3ISUlJLFy4EMMwMJlMjB07NlNg\nv3qcI+zYseOG8x85ciTT+a8N7I4+v4iIJ9IcdhERN2UYxm3tv5nHHnsMi8VCRkbGDY+r268fRc9q\ne26MHj36lue/Vmho6E23i4jcTRTYRUTc1NixYzGbzYSHh990f//+/TGbzURGRuZxZe7B19cXs9mc\nacReROROpCkxIiJuJiwsjNGjR9tCaNGiRTPtv++++zLtL1++fJ7X6A5effXVTCPv5cqVc2E1IiLO\nYzJy8zdVERERERHJE5oSIyIiIiLixhTYRURERETcmAK7iIiIiIgbU2AXEXFzoaGhmM1m22PTpk2u\nLinPvfnmm5m+By1btsy0f+DAgZn29+/f30WViog4nlaJERHxAAEBAQwZMgSAkJCQHL13+fLlTJo0\niW3btmGxWKhevTrPPPMM/fr1c0apNsePH2f+/PnExsayfft2Dh48CMDevXupVKlSjtpq1qwZY8aM\nITk5mffee++GZRwfeOABgoODOXToEPPnz9cyjyJyR9EqMSIibu7qCPvVwJsT06dP59lnn6VYsWL0\n6tULHx8fli5dyvHjxxk+fDhvv/22Eyq2WrZsGQ899BBms5mwsDCSkpJISUlhz549OQ7sVx05coSw\nsDAiIiJYu3btDfvXr19Py5Ytefzxx/n4449v958gIuIWNCVGROQOdfjwYYYPH05gYCAxMTFMmzaN\nyZMns3PnTipUqMDkyZPZsmWL085fv359fv75Z86dO0dcXBw1a9bM1d1Zr+WMu7+KiLg7BXYRkTvU\nxx9/THp6OoMHD6Zs2bK27QEBAbz88ssAfPDBB047f+nSpWnSpAmFChVy2jlERO4GCuwiIneoq1NG\n2rdvf8O+qKgoANatW5enNYmISM4psIuI3KH27duHyWS66XzxkiVLUqBAAY4fP86lS5dcUJ2IiNhL\ngV1E5A6VkpICgL+//033X91+9TgREXFPCuwiIiIiIm5MgV1E5A51qxH0W43Ai4iIe1BgFxG5Q1Wu\nXBnDMNi3b98N+06ePMmFCxcoU6YMvr6+LqhORETspcAuInKHat26NQDR0dE37Fu5ciUArVq1ytOa\nREQk5xTYRUTuUP379yd//vy8//77HDlyxLY9OTmZCRMmYDKZGDhwYKb3JCUlsXfvXhITE51WV3Y3\nN0pMTGTv3r0kJSU57fwiIp7GIwP7G2+8gdls5tlnn3V1KSIibis0NJRJkyZx9uxZ6tWrx+DBgxk6\ndCg1a9bk4MGDDB8+nIYNG2Z6z7Rp06hWrRojR450SA2PP/647bF3714ARo4cadv2zTffZDp+xIgR\nVKtWjffff98h5xcRuRPkc3UBObVlyxbmzJlDzZo1MZlMri5HRMStDRo0iLCwMCZOnMiCBQswDINq\n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 truncated
"image/png": "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 truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x7dc8390>"
"<matplotlib.figure.Figure at 0x1cef7aa5d30>"
]
},
"metadata": {},
@@ -1632,7 +1632,7 @@
},
{
"cell_type": "code",
"execution_count": 50,
"execution_count": 27,
"metadata": {
"collapsed": false,
"scrolled": true
@@ -1640,9 +1640,9 @@
"outputs": [
{
"data": {
"image/png": "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 truncated
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAtYAAADICAYAAADMU6YEAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xlc1NX+P/DXDPsSi4gmKhdQ1BQztEDz4oIL+Ojn7r0m\nKqRtipVeNcOlBEsyc8l7vW6kgpKZejO1XJBFtJtimVaiXs01rRTZVZBlzu+P852BYWaAgUFAXs/H\ng4fM+ZzP+ZzPB6L3nHl/3h+FEEKAiIiIiIhqRVnfEyAiIiIiehwwsCYiIiIiMgEG1kREREREJsDA\nmoiIiIjIBBhYExERERGZAANrIiIiIiITYGBNRERERGQCDKyJiIiIiEyAgTURERHR/zl7FrCwAJKS\njNtv717Aygq4fLlu5kWNg4JPXiQiIqLHyU8/AV99BUyaBLi7G7fv4MFASQmQnGz8cZ99FvDwAHbt\nMn5fejxwxZqIiIgeK2fOAFFRwLVrxu13/DiQmAjMnFmz406fDuzeDZw/X7P9qfFjYE1ERNSEqVRA\nQUF9z8K0hAAUCuP3W7MGcHUFhgyp2XFHjQJsbIB162q2PzV+DKyJiKjJiosDlEr5sf+iRfJjfFtb\noGdPIC1N9klNBQICAHt7wM0N+OAD3XGKioDoaMDHRwZWzs7AsGFy5bS8e/eABQvk+K6ugLU14O0N\nzJ2rG9w+fAhERgKdOgF2dnLMp58G5szR7hcZKc/hxg3deXl4AIGBuueblAS8/z7Qvr2c786dxp2H\nqa5bTY6ZkgIsWybnbm0NdOwIbNlS1i8qCpg8WX7fr5/cR6ksazOktBTYswcYOBAwM6u8ryF2dvKc\nmQrSdJnX9wSIiIjqW0SEXLmdMUMGesuWAUFBMph7+WVgyhRgwgRgxw5g4ULAywsICZH7lpTIvidO\nABMnAm++CeTmAjExQO/ewLFjQPfusu+tW8CmTcDo0cD48YC5uQxAly6VgeSBA2VzCg8HYmOBsDCg\nVy95nEuXZGBZnkJheHXWUPvs2XK8114DHBxkcGrMeZjiuhl77dTmzQMKC+XYVlbA2rUyl9rbW16n\n0aOBP/6QYyxYIN+YAEC7dgZ//ACAU6fkGx8/v8r7VaVXLyAhAbh4EejQoXZjUSMkiIiImqjYWCEU\nCiF69BCiuLisfe9e2W5pKcSPP5a1FxUJ0aqVEM8/X9a2YoUQSqUQhw9rj52fL4S7uxD9+5e1FRcL\nUVKiO49335VjfP99WVuzZkK88ELV5xAZKfe9fl13m4eH9vHV59upkxCFhdp9jTkPU1y3mh6ze3ft\na3jrlhBWVkKEhGj3VSqFSE3VvSaGbN4s99m3T//2+/eFGD1aCAcHIVavlm1btghx6pR2v/h4Oc6X\nX1b/2PT4YCoIERE1eeHhcvVYLSBA/tuzJ+DrW9ZuYSFXNC9dKmv77DO5KurrC2Rmln0VFgKDBgHf\nfivTOgB5DHWaQWkpkJMj+w4YIPOC1WkUAODoCKSny6+6OF8rK+02Y86j/Dg1vW41Pea0adqpGm5u\ncmW44tjGysiQ/zZrpn/7Rx8Bzz8vP0W4dUuuvGdm6q6ou7jIn+WdO7WbDzVOTAUhIqImTaEAPD21\n25yc5L8eHrr9nZ1lQKV2/rwMBF1d9Y8NAHfvAq1by+/XrAHWr5cBs0ql3Tc7u+z1J58AoaFA164y\nhaJ/f2DoUPlVkxvzyh/H21u33djzqO11M9UxARnM6ssxN4b6eIaKEP/jH2Xn5+4OHDokU2AqUu9f\nm58RNV4MrImIqMkzdLNadW5iE0IGvytXGg7K1IHjihUyvzk4WJZmc3MDLC3lCmhYmHagPWyYLBe3\nf7/Mw05MBDZuBPr0kd+rV4orC+BKSvS329rW7jzUanPdTH3M2j6VQ32crCz929VB9eHD8g3BvHn6\n+2VlyZ+JvjcL9PhjYE1ERFQL3t4yjaB//6r7xsfLFdf9+7XbDx3S39/JSaYcqG/4i4gAPv5YVq8Y\nPVq2qVMXsrK0H4by8KG8iU/f6nRtz8NU6uqYNVkt9vGRwXllKSWffy5TeN56y3CfX38tG4+aHuZY\nExER1UJoKPDnn8Dy5fq3l8+1NTOTQV/51dWSEuDDD7WDQZVKVseo6Jln5L7lV1U7dJBtiYnafVes\n0F4BN+V5mEpdHdPeXvc6VcXXV1ZIOXFC//a4ODnuhAllbXPn6vY7cQJo2bL6b2jo8cIVayIiatJq\nm0IwfbpMD5gzR9Z1DgyUAdqNG7JetI2N/BcAxoyRKQTBwfJhIrm5chXU0lJ7Hvn5QKtWMh3E1xdo\n0QK4ckU+eMTFReZZqw0cKMvlvfeezEf29JQ3/aWlAc2bV/98jTkPU1y3ujzmc8/J2tWLF8vg2s5O\nXpfKSukplfJnsmcPUFwsb7hU271btnt4yLQdBwf56cPrr2uPcf++LBH4yivVvgT0mGFgTURETVpl\nNaCrUx/a3FymdqxZA2zdKh/YAsj8aT8/mTutpn64y8aN8sa3J58EXnwReOkloHPnsnFtbeXNcklJ\n8uvePRlojxgh00GefLJsTKUS2LdPpiesXi2D9KAgmZf9/PO652DonIw5D1NcN1Mes+K2tm2BzZtl\nJY/wcBkoh4VVXaN66lS5Mv3118DIkbLt9m3gf/8DvvwSuHpV/gzu3pUpOcOHa++/a5d80E/FgJua\nDoUQpnjPSURERNT4DRkCPHgg35gYq3t3+SAa9ZMsqelhYE1ERET0f86dk7ns+/fLNJvq2rMHGDtW\n7u/lVXfzo4aNgTURERHpEEIgL68EZ8+W4OZNmWfRpo2Aj485HBzMoWChZiIdDKyJiIhIixACaWmF\nWLjQAgkJZgDUQbRAUFApoqKK4ednzeCaqAIG1kRERKShDqqDg62Rm6s/cHZ0FDh4sBD+/gyuicpj\nHWsiIiLSyMsrwcKFFgaDagDIzVUgMtICeXkGHu1I1EQxsCYiIiKNs2dL/i/9o3KHDpkhPZ2BNVF5\nDKyJiIhIQ96oWJ30DgV++41pIETlMbAmIiIiIjIBBtZERESk0aaNAFCdugYCbduy/gFReQysiYiI\nSMPHxxyDB5dW2S8oqBRdupg/ghkRNR4st0dEREQaQgicPFmIoCDD5facnFQ4cOAhy+0RVcAVayIi\nItJQKBTw87PGwYOFCAoqgXZaiEBwcAmDaiIDuGJNREREOtSPNE9PL9FU/2jbVqBLFz7SnMgQBtZE\nRERUqcuXL8PMzAweHh71PRWiBo2pIERERGTQsWPH0L59e3h5eeHUqVP1PR2iBo2BNRERERl06NAh\nADI1RP09EenHwJqIiIgMKp8xyuxRosoxsCYiIiIiMgEG1kREREREJsDAmoiIiIjIBBhYExERERGZ\nAANrIiIiIiITYGBNRERERGQCDKyJiIiIiEyAgTUREdVKamoqlEoltmzZUt9TqXNnz56FhYUFkpKS\nKu138eJFo8bdu3cvrKyscPny5dpMj4jqGQNrIiKq0k8//YSoqCjcuHFD73aFQvGIZ6SrqjmawsyZ\nMxEQEIABAwYY7LNhwwaMGzcOGzdurPa4w4YNQ9euXfHOO++YYppEVE8YWBMRUZXOnDmDqKgoXLt2\nTWdb3759UVBQgIkTJz76iZVT2RxN4fjx40hMTMTMmTMN9omJiUFeXh5OnTqFO3fuYNOmTdUef/r0\n6di9ezfOnz9viukSUT1gYE1ERFUSQlS6Km1paVnvq9ZVzbG21qxZA1dXVwwZMsRgn759+2L27NkA\ngLlz56J3797VHn/UqFGwsbHBunXraj1XUxBCIDc3F7/99pum7fr168jNzeWjzYkMYGBNRFRNcXFx\nUCqVSElJwbJly9C+fXtYW1ujY8eOevOLi4qKEB0dDR8fH9jY2MDZ2RnDhg3DmTNnNH1u3LgBpVKJ\nqKgorX2DgoKgVCqxatUqrXZ/f3906dKlyrlW59hqDx8+RGRkJDp16gQ7Ozs4Ozvj6aefxpw5cwAA\nUVFRmDx5MgCgX79+UCqVUCqVmjZ9Odbqa5WcnIxFixbBw8MDtra26NmzJ9LS0jT7BQQEwN7eHm5u\nbvjggw+05nXv3j0sWLAAPXv2hKurK6ytreHt7Y25c+eioKBAq29VczT2mlRUWlqKPXv2YODAgTAz\nMzPYr0OHDlqvO3bsWOXYanZ2dggICMCuXbuqvU9dEUIgLS0Nf//737F161ZNe0xMDMaOHYuTJ08y\nuCbSw7y+J0BE1NjMmzcPhYWFmDJlCqysrLB27VpMmjQJ3t7e6NWrFwCgpKQEQUFBOHHiBCZOnIg3\n33wTubm5iImJQe/evXHs2DF0794d7u7u8PLyQnJyMhYuXAgAKC4uxn//+1+YmZkhOTkZ06dPBwDk\n5+fjxx9/xNSpUyudX3WPrRYeHo7Y2FiEhYWhV69eKCkpwaVLl5CSkgJArqT+8ccfiImJwYIFC9Cp\nUycAQLt27TRjGFopjoiIgEqlwowZM1BUVIRly5YhKCgIcXFxePnllzFlyhRMmDABO3bswMKFC+Hl\n5YWQkBAAwK1bt7Bp0yaMHj0a48ePh7m5OVJTU7F06VKcOXMGBw4c0Bxn9OjRlc7R2GtS0alTp3Dv\n3j34+flVeu1rq1evXkhISMDFixd1gnRTuvpHNn69lYVAX0+YmWmvsamD6uDgYOTm5urse+jQIZw4\ncQIHDx6Ev79/vX9SQdSgCCIiqpbY2FihUChE9+7dRUlJiab91q1bwsrKSoSEhGjaVqxYIZRKpTh8\n+LDWGPn5+cLd3V30799f0/bqq68KKysrUVBQIIQQ4ujRo0KhUIjQ0FDh6OgoSktLhRBC7N27VygU\nCvHll19WOk9jji2EEM2aNRMvvPBCleeuVCpFamqqzrYjR44IhUIh4uLitPorFArRoLine truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x88f37f0>"
"<matplotlib.figure.Figure at 0x1cef9577278>"
]
},
"metadata": {},
@@ -1752,6 +1752,107 @@
"This equation can be numerically unstable and I don't use it in FilterPy. Later I'll share more complicated but numerically stable forms of this equation."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### An Example not using FilterPy\n",
"\n",
"FilterPy hides the details of the implementation from us. Normally you will appreciate this, but let's implement the last filter without FilterPy. To do so we need to define our matrices as variables, and then implement the Kalman filter equations explicitly.\n",
"\n",
"Here we initialize our matrices:"
]
},
{
"cell_type": "code",
"execution_count": 36,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"dt = 1.\n",
"R_var = 10\n",
"Q_var = 0.01\n",
"x = np.array([[10.0, 4.5]]).T\n",
"P = np.diag([500, 49])\n",
"F = np.array([[1, dt],\n",
" [0, 1]])\n",
"H = np.array([[1., 0.]])\n",
"R = np.array([[R_var]])\n",
"Q = Q_discrete_white_noise(dim=2, dt=dt, var=Q_var)"
]
},
{
"cell_type": "code",
"execution_count": 37,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAwAAAAD+CAYAAACN8WJ6AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzs3Xd0FdW+wPHvzOnpvRMSAgmBUEKHAAYRpCuKgICKvqtX\nuYrwRC82REVQLKiI5XHVC0oRCyBFRIFQQg09lAQISWjpPeH0eX8cOBBpoYSA7M9aZyVnnyl7hrPC\nb8/85rclRVEUBEEQBEEQBEG4I8h13QFBEARBEARBEG4eMQAQBEEQBEEQhDuIGAAIgiAIgiAIwh1E\nDAAEQRAEQRAE4Q4iBgCCIAiCIAiCcAcRAwBBEARBEARBuIOIAYAgCMJtauLEiciyzLp16+q6K7cE\nm82GLMv07NmzWvtrr72GLMts3LixjnomCIJwaxEDAEEQhFogyzIqleqin2VmZhITE4Msyzz//PPX\nvA9JkpAk6ZrXvx28+eabyLJ8yZePj0+15S92Ti7WduTIkYsOFgRBEO4E6rrugCAIwp1k9+7d9O7d\nm9zcXN59911eeumluu7SbSExMZHExMQL2g0Gg/N3lUrFgQMHcHV1vYk9EwRBuP2IAYAgCMJNsmbN\nGu6//36MRiOzZs1ixIgRdd2l20ZiYiITJky44nLR0dE12p6iKNfbJUEQhNuWSAESBEG4CRYsWEDv\n3r0BWLp06UWD/6SkJJ566imaNm2Kp6cnLi4uxMXFMXHiRIxGY433JcsyDRo0oLKykrFjxxIeHo6L\niwvx8fEsXrwYcOTLT548mZiYGAwGAw0bNmTGjBkXbMtisfDZZ5/Rt29fIiIi0Ov1+Pj4cM8997Bs\n2bKL7j8iIgKVSuXcR3R0NHq9nvDwcMaPH4/FYqnxsVyNSz0D8Fdff/010dHRSJLEn3/+WS2laPLk\nydWWTUlJYciQIYSGhqLT6QgNDWXkyJEcPXr0gu2OGDHC+azBrFmzaNu2LW5ubrRr1+6GHqcgCML1\nEncABEEQatn06dMZO3Ys/v7+LFu2jFatWl10uffee4+0tDQ6depEv379MBqNJCcn89Zbb5GUlMTq\n1auR5Zpdt7FYLPTo0YOysjIeeOABysrKmDt3LoMGDWLlypV8+umn7N69m169egEwb948Ro8eTUBA\nAA899JBzO0VFRYwZM4aEhAR69uyJv78/p06dYsmSJfTv35+vvvqKJ598stq+z+bbDxs2jA0bNtC7\nd288PDxYvnw5U6dOJT8/n6+//vpaTuUN0apVK0aPHs2nn35KgwYNePTRR52fde3a1fn77Nmz+cc/\n/oFer2fAgAGEhYVx6NAh5syZw5IlS1i3bh1NmzZ1Ln/2WYMpU6awZs0a+vfvT48ePbBarTf1+ARB\nEK5IEQRBEG44SZIUWZaVl19+WZEkSWnUqJGSkZFx2XWOHj160fYJEyYosiwrP/zwQ7X2iRMnKrIs\nK2vXrr3ovh966CHFarU62+fOnatIkqT4+PgoCQkJSmVlpfOzjRs3KpIkKa1ataq2LZPJpJw4ceKC\nPpWVlSlxcXGKr6+vYjQaq30WERGhyLKstGnTRikpKXG2V1VVKQ0bNlTUarWSm5t72XNx/jFKkqQk\nJiYqEydOvOCVlpbmXNZqtSqSJCk9evSoto3XXntNkWVZSU5OdrYdPnz4osuelZaWpuh0OqVx48YX\n9HX16tWKSqVSOnToUK19xIgRiiRJiru7u5Kamlqj4xMEQagLIgVIEAShFr377rtoNBqWL19OZGTk\nZZeNiIi4aPvzzz+PoiisXLnyqvb94YcfVqtENGTIEDQaDSUlJUyZMgUXFxfnZx07diQyMpLU1NRq\n+fFarZaQkJALtu3u7s4TTzxBcXEx27Ztu+j+p06diqenp/O9wWBg+PDh2O12UlJSrupY1q1bx1tv\nvXXB6+DBg1e1nZqaMWMGFouFadOmERAQUO2zbt260bdvX7Zu3crhw4erfSZJEqNGjap2Z0AQBOFW\nI1KABEEQalGvXr1YsWIFw4YN4/fff8fb2/uSy1ZVVfHxxx+zaNEi0tPTKS8vdwbjkiRx4sSJGu/X\ny8uLevXqVWuTZZmAgABOnjxJy5YtL1gnJCSEzMxMcnJyCA4Odrbv37+fqVOnsn79ek6dOlXteYTL\n9at169YXtJ3tU3FxcY2PBRxzHrz++utXtc71ODtnwJo1a9iyZcsFn+fn5wNw4MABGjZsWO2ztm3b\n1n4HBUEQroMYAAiCINSiX3/9lcGDB7No0SISExP5888/8ff3v2A5q9VKt27d2LZtG82aNWPo0KH4\n+/uj0WgARwBsMplqvN/zr7yfT612/Nl3d3e/5GfnP6S7efNmunfvjs1mo3v37tx33314eHggyzK7\ndu1i8eLFl+yXh4fHJfdhs9lqfCxw86v2FBYWAvDBBx9cdrmKiooL2oKCgmqlT4IgCDeKGAAIgiDU\nIrVazY8//sjIkSOZM2cOXbt25c8//yQ0NLTacosXL2bbtm088cQT/Oc//6n2WU5ODhMnTryJvT5n\n0qRJGI1GkpKS6NKlS7XP3n33XWdVob+bswOosrKyq55X4O8+OZsgCLc/8QyAIAhCLVOpVHz33Xc8\n+eSTpKWl0bVrVzIzM6stc/jwYSRJYuDAgResn5SUdHM6ehFHjhzBx8fnguAf6rZf1+vssxGXuhPR\nsWNHwPHsgSAIwt+NGAAIgiDcJF999RVjxozh6NGjdOnShfT0dOdnERERKIpyQVCdkZHB+PHj6+yq\nckREBEVFRaSmplZr//rrr6/6oeRrVRvH7uPjA0B2dvZFP3/uuedQq9WMHTu22r/TWTabjbVr197w\nfgmCINwMIgVIEAThJvroo49wcXFh8uTJ3HXXXfzxxx/ExcXRv39/GjZsyEcffcSePXuIj48nKyuL\nZcuW0a9fP+bPn18n/R0zZgy///47CQkJDB48GE9PT1JSUkhOTuahhx7ixx9/vOptXm0+f23k/3t4\neNCuXTu2bdvG/fffT3x8PGq1msTERBISEoiNjeXbb7/lf/7nf4iLi+Pee+8lJiYGq9VKdnY2ycnJ\nKIpCXl7eDe+bIAhCbbvt7gDk5OQwcuRIAgICMBgMxMXFsX79+mrLTJw4kdDQUFxcXOjWrRv79++v\no94KgnAnu9SV60mTJjF58mTy8vLo1q0bO3bswMXFhTVr1jBs2DD279/P9OnTSU1N5Y033uC7775z\nTjJ1vfu+2s/uvfdeli5dStOmTVmwYAHffPMNBoOBNWvW0KdPn0tu61r3f6nla7rO1Sw7d+5cBgwY\nwMaNG5k0aRITJkyodlV/2LBhbN++nUcffZT9+/czY8YMZs+eTXp6Ov379+e77767quMQBEG4VUjK\nzS6tcB1KS0tp1aoVXbt25dlnn8XPz4+MjAxCQkKIiYkBHDNpTp48mVmzZhEdHc2bb77Jhg0bSE9P\nv+oHuQRBEARBEATh7+a2GgC88sorrF+//oIr/ucLCQlh9OjRjB8/HgCj0UhAQAAffvjhBdPVC4Ig\nCIIgCMKd5rZKAVq8eDHt27dn6NChBAYGEh8fz4wZM5yfHz16lJycHHr06OFs0+v1dO3a1TmpiyAI\ngiAIgiDcyW6rAUBGRgaff/45UVFRrFy5kjFjxjB+/Hg+//xzwPF8gCRJBAYGVlsvMDCQnJycuuiy\nIAiCIAiCINxSbqsqQHa7nXbt2vHOO+8A0KJFC9LT05kxYwajRo266u2Vlpbe6C4KgiAIgiAIwk1z\nqZnfL+e2ugMQHBxMbGxstbbY2FhnHeegoCAURSE3N7faMrm5uWJqdkEQBEEQBEHgNhsAJCQkkJaW\nVq0tLS2N+vXrAxAZGUlQUBB//PGH83Oj0cj69etJSEi4qX0VBEEQBEEQhFvRbZUCNHbsWBISEpg8\neTJDhgxhx44dTJ8+nXfffde5zJgxY5gyZQoxMTE0atSISZMm4e7uzsMPP3zZbV/L7RPhzpCSkgJA\nmzZt6rgnwq1KfEeEmhDfE6EmxPdEqInrTWO/rQYAbdq0YdGiRbz88stMmjSJ8PBw3nnnHZ5++mnn\nMi+99BJGo5Fnn32W4uJi2rdvz8qVK8UcAIIgCIIgCILAbTYAAOjduze9e/e+7DITJkxgwoQJN6lH\ngiAIgiAIgnD7uK2eARAEQRAEQRAE4fqIAYAgCIIgCIIg3EHEAEAQBEEQBEEQcFSXXL16NSdOnKjr\nrtQqMQAQBEEQBEEQ7mgWi4URI0bQuHFjunfvTr169Xjvvffqulu1RgwABEEQBEEQhDvalClTmDNn\nDjqdjnbt2qEoCuPHj2f58uV13bVaIQYAgiAIgiAIwh1t2bJlAMyZM4ctW7Ywfvz4au1/N2IAIAiC\nIAiCINzRVCoVABUVFQCUl5dXa78eVVVVKIrifG3atAGzuRS7vQS7PQ9FUWq8rSNHjtCjR4/r7pMY\nAAiCIAiCIAh3tMGDBwMwcuRIwsPDmTFjBpIk8dBDD11x3YqKCqxWa7UAv7IyD7u9CLs9h99+m0NF\nRSqKchDYjY9PPnAQWT6C3X6sxn0sKioiMTGRP//88xqP8hwxABAEQRAEQRDuaKNHj+aFF15AkiSO\nHTuGwWDg66+/pkuXLpSXl2OxWM4E+HY2b15PSclx7PZC7PYc1q79ibKyPSjKAWAXQUElqNUZyPJR\nLJajtG8firu7GVmuYt++NJYsWYtW65iLd/fu9Br38aeffuL48eO0bNnyuo9XDAAEQRAEQRDuMMuW\nLSMmJgatVkvjxo357bff6rpLdaayshKLxcL7779PQUEeP/00lwMHUnjssf7Y7SfZsmUJxcU7UJT9\nwC5CQ8vR6bKR5UzM5gxiYrzw8VGQ5dMcOZLFf/7zCzqdBoCUlP0MGvRv575MJgvffLine truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x1cefb0cc978>"
]
},
"metadata": {},
"output_type": "display_data"
},
{
"data": {
"image/png": "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\nFArx888/r/a8TqcTHRwcRGdnZ7GsrEwUxYrE28nJSbxz585jt+PmzZuiSqUSe/XqZXa9vLxc9PLy\nEp2dnUW9Xl+nsn788UdRoVCImzZtMl2r/D487AeE+v6j8qh6nJycavwHdfDgwaJCoTBry7x580SF\nQiGuWrXqkXW++eabokKhEH/++eca748bN05UKBTiuXPnqt0LCgqqVjcRNUxT6evr24fWty+pbx8p\nd5/+ODHXVE/VcurarzdWny6K7NflwAN0mqCLFy9iypQpWLNmDV588UXT9bNnz+L8+fMYNmyYZHXl\n5OQAAFxcXGp9rmPHjvDx8al2ffDgwVi+fDlOnjxpulb5eujQodWed3NzQ/fu3XHs2DFcvHgRQUFB\neP755/GXv/wFwcHBeO655zBo0CBERETAw8Ojzu3w9PREVFQUdu3ahV9//RU9evQAAOzatQtZWVmY\nNWtWtcVE169fx0cffYS9e/ciIyMD9+7dM90TBAGZmZnV6unUqRPatm1b57getx5/f384OTlVu+7t\n7Q0AyM3NNbXnyJEjAIDf/e53j4wlISEBAHDgwAEcP3682n2dTgcAOHfuHAIDA83uubq6AgBu376N\njh07PrIuIqpdU+rr69uHNqQvqYuW1qcDde/XG6tPB9ivy4GJdxO0aNEidO/e3awjBiqS1sr/IaVi\nb28PADAYDLU+97BV3ZXXq66Krnz9sMS58pS1u3fvAgDeeOMNuLu7Y/369Vi3bh0+++wziKKIfv36\nYfny5Rg8eHCd2jJr1izs3LkTMTExptX+MTExEAQBM2fONHv26tWr6N27N/Ly8jBw4ECMGDECGo0G\nSqUS165dQ0xMDIqLi6vVUZ8fBhpST+vWrWssT6Wq+F+2vLzcdK3y+9i+fftHxlP5j+8nn3xS63OF\nhYXVrlX+41L5d4aIGqap9fX16UMb0pfUVUvq04G69+uN1acD7NflwMS7icnLy8PPP/+Mzz77rNq9\nixcvSv4TqZubG4AH//M+TOVPzQ+7rtFoTNcqX2u1WrRq1araZ7Kysqp9ZurUqZg6dSoKCwuRlJSE\nbdu24X//93/x9NNPIyUlBV26dHlkW0aPHg0XFxds3rwZf//731FQUIBt27bB19cXAwcONHt21apV\nyM3NxcaNG/HCCy+Y3duyZctDV5nX9yCFx62nPio788zMTLPvaU0q79+5c+eRz/5WTk4OFApFvUeH\niKi6ptjX16cPbUhfUlfs0y3bpwPs1+XA7QSbmAsXLqC8vBy9e/c2u15UVIS9e/di3Lhxktbn6emJ\ndu3a4eLFi7U+l5GRgYyMjGrX9+/fDwDo1auX6VpoaCgAYN++fdWez87ORmpqKhwdHREQEFDtvpOT\nEyIjI/Hpp5/iz3/+MwwGA3bs2FGnttjY2GDy5Mm4desW4uLi8O2338JgMGDGjBnVnq3cYqmm7+f+\n/fslO6msMerp168fANTp+9S/f38AwMGDB+tVh16vR2ZmJrp169biTnEjkkND+vrx48fjr3/9a73q\nq0tfX58+9HH7kvpgn265Ph1gvy4XJt5NTOX8u9/OA1u3bh28vLyq/XpNCoMGDUJubm6tHXJ5eTne\neustiFUOOr1y5QrWr18PGxsbPP/886brs2fPhiiK+PDDD6uNlC9cuBBFRUWYOXMmlEolgJoTdODB\nyHh9DnqYNWsWRFHExo0bERMTA4VCgenTp1d7rlOnTgAe/OBQadeuXfjiiy/qXN+jNEY9L7/8MpRK\nJT744AOcOXOm2v2q8w3nzZsHtVqNP//5z7hw4UK1Z8vLy6vFCgDHjh1DeXm5pHNOiaxZQ/r6119/\nHZMnT653nXXp6+vahz5uX1Jf7NMt06cD7NflwqkmTYy/vz8iIiLwyy+/oGvXrgAqFk2sW7cOcXFx\nsLGxkbzO8ePH44cffsCuXbtMdf5Wjx49cOTIEYSHh+Opp55CTk4Otm7divz8fKxevdrs16L9+vXD\nokWL8NFHH6Fbt26YOHEiNBoN9uzZgxMnTqBnz5748MMPTc+PGzcOjo6O6NevHzp16gRBEHD06FEc\nOnQI/v7+mDRpUp3bEh4ejpCQEGzbtg1lZWUYMmRIjYtCX3nlFWzYsAETJkzAhAkT4OXlhdTUVOza\ntQuTJk3Cli1b6vEdfLjGqCcoKAjr1q3Dyy+/jLCwMIwaNQoBAQG4c+cOTp48iZKSEtOim65duyIm\nJgazZs1Ct27d8Lvf/Q5du3ZFeXk5rl+/jvj4eJSUlODOnTtmdezcuROCIEj+Gxcia9WQvn7QoEGP\nVWdd+vq69qGP25fUF/t0y/TpAPt12ci5pQrV7NatW+LkyZPFefPmiXPnzhVfffVV8datWzU+e+TI\nETEmJkb8y1/+In711VfiunXrxEmTJompqal1rq+kpET08PAQw8LCqt2r3AZp6NChYLine truncated
"text/plain": [
"<matplotlib.figure.Figure at 0x1cef95a4b00>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"from numpy import dot\n",
"from scipy.linalg import inv\n",
"\n",
"count = 50\n",
"data = compute_dog_data(R_var, Q_var, count)\n",
"xs, cov = [], []\n",
"for z in data[:, 1]:\n",
" # predict\n",
" x = dot(F, x)\n",
" P = dot(F, P).dot(F.T) + Q\n",
" \n",
" #update\n",
" S = dot(H, P).dot(H.T) + R\n",
" K = dot(P, H.T).dot(inv(S))\n",
" y = z - dot(H, x)\n",
" x += dot(K, y)\n",
" P = P - dot(K, H).dot(P)\n",
" \n",
" xs.append(x)\n",
" cov.append(P)\n",
" \n",
"xs, cov = np.array(xs), np.array(cov)\n",
"\n",
"plot_track(xs[:, 0], data[:, 0], data[:, 1], cov, dt=dt)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"The results are identical to the FilterPy version. Which you prefer is up to you. If you do not like object oriented programming FilterPy might be off-putting. I prefer not polluting my namespace with variables such as `x`, `P`, and so on; `dog_filter.x` is, to me, more readable.\n",
"\n",
"More importantly, this example requires you to remember and program the equations for the Kalman filter. Sooner or later you will make a mistake. FilterPy's version ensures that your code will be correct. On the other hand, if you make a mistake in your definitions, such as making $\\mathbf{H}$ a column vector instead of a row vector, FilterPy's error message will be harder to debug than this explicit code. \n",
"\n",
"FilterPy's KalmanFilter class provides additional functionality such as smoothing, batch processing, faded memory filtering, computation of the maximum likelihood function, and more. You get all of this functionality without having to explicitly program it.\n",
"\n",
"Finally, there are multiple forms of some of the Kalman filter equations, some which we will present later. It is cumbersome to change the equations using FilterPy, whereas it is trivial if you explicitly code the equations yourself.\n",
"\n",
"In the rest of the book I will continue using FilterPy - I want you to focus on issues of design, not implementation of linear algebra. If the linear algebra interests you I encourage you to rewrite the examples without FilterPy."
]
},
{
"cell_type": "markdown",
"metadata": {},