Got basic tracking working with 'magic numbers' for initial pos,vel,acc.
This commit is contained in:
1 parent
bd637860b7
commit
394f0a2570
1 file changed
+224
-31
+224
-31
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"metadata": {
|
||||
"name": "",
|
||||
"signature": "sha256:b1bffff1d77cb5172425b64338a0fc28e55b78e370a8acbcb65eb0549066ad29"
|
||||
"signature": "sha256:9253d1b89f39ca3b6e9087392e93410a4b889d4de3c48de04660d0c028948c29"
|
||||
},
|
||||
"nbformat": 3,
|
||||
"nbformat_minor": 0,
|
||||
@@ -1378,53 +1378,70 @@
|
||||
"cell_type": "code",
|
||||
"collapsed": false,
|
||||
"input": [
|
||||
"f1 = KalmanFilter(dim=5)\n",
|
||||
"dt = 0.1\n",
|
||||
"g = 9.8\n",
|
||||
"def ball_filter(dt):\n",
|
||||
" f1 = KalmanFilter(dim=5)\n",
|
||||
" g = 9.8\n",
|
||||
"\n",
|
||||
"f1.F = np.mat ([[1, dt, 0, 0, 0],\n",
|
||||
" [0, 1, 0, 0, 0],\n",
|
||||
" [0, 0, 1, dt, dt*dt*g],\n",
|
||||
" [0, 0, 0, 1, dt],\n",
|
||||
" [0, 0, 0, 0, 1]])\n",
|
||||
" f1.F = np.mat ([[1., dt, 0, 0, 0],\n",
|
||||
" [0, 1., 0, 0, 0],\n",
|
||||
" [0, 0, 1., dt, -dt*dt*g],\n",
|
||||
" [0, 0, 0, 1., dt],\n",
|
||||
" [0, 0, 0, 0, 1.]])\n",
|
||||
"\n",
|
||||
"f1.H = np.mat([[1,0,0,0,0],\n",
|
||||
" [0,0,0,0,0],\n",
|
||||
" [1,0,1,0,0],\n",
|
||||
" [0,0,0,0,0],\n",
|
||||
" [0,0,0,0,0]])\n",
|
||||
"f1.B = 0.\n",
|
||||
" f1.H = np.mat([[1,0,0,0,0],\n",
|
||||
" [0,0,0,0,0],\n",
|
||||
" [0,0,1,0,0],\n",
|
||||
" [0,0,0,0,0],\n",
|
||||
" [0,0,0,0,0]])\n",
|
||||
"\n",
|
||||
"f1.R = np.eye(5) * 1.\n",
|
||||
"f1.Q = np.zeros((5,5))\n",
|
||||
"f1.Q[4,4] = 0.1\n",
|
||||
"f1.x = np.mat([0,0,0,0,0]).T\n",
|
||||
"f1.P = np.eye(5) * 5.\n",
|
||||
"f1.u = np.mat([0,0,0,0,0]).T\n",
|
||||
"\n"
|
||||
"\n",
|
||||
" f1.R = np.eye(5) * 1.\n",
|
||||
" f1.Q = np.zeros((5,5))\n",
|
||||
" f1.Q[4,4] = 0.1\n",
|
||||
" f1.x = np.mat([0, 21.2 , 0, 20.7, -9.8]).T\n",
|
||||
" f1.P = np.eye(5) * 5.\n",
|
||||
" f1.B = 0.\n",
|
||||
" f1.u = 0\n",
|
||||
" \n",
|
||||
" return f1"
|
||||
],
|
||||
"language": "python",
|
||||
"metadata": {},
|
||||
"outputs": [],
|
||||
"prompt_number": 73
|
||||
"prompt_number": 170
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
"collapsed": false,
|
||||
"input": [
|
||||
"dt = 0.1\n",
|
||||
"f1 = ball_filter(dt)\n",
|
||||
"# initialize storage and other variables for the run\n",
|
||||
"count = 30\n",
|
||||
"xs, ys = [],[]\n",
|
||||
"pxs, pys = [],[]\n",
|
||||
"\n",
|
||||
"traj = BallTrajectory2D (30., angle_degrees=45.)\n",
|
||||
"\n",
|
||||
"for t in np.arange(0,0.4,dt):\n",
|
||||
"traj = BallTrajectory2D (30., angle_degrees=45., noise_scale=0.3)\n",
|
||||
"traj.update(0)\n",
|
||||
"x,y= (traj.x,traj.y)\n",
|
||||
"traj.update(dt)\n",
|
||||
"print (f1.x)\n",
|
||||
"print (traj.x - x, traj.y - y)\n",
|
||||
"log = True\n",
|
||||
"#print (f1.F*f1.x)\n",
|
||||
"for t in np.arange(dt,5,dt):\n",
|
||||
" traj.update(t)\n",
|
||||
" z = np.mat([traj.x, 0, traj.y, 0,0]).T\n",
|
||||
" if log: print (traj.x, traj.y)\n",
|
||||
"\n",
|
||||
" f1.predict ()\n",
|
||||
" if log: print (f1.x.T)\n",
|
||||
" \n",
|
||||
" #f1.x[4]=-9.8\n",
|
||||
" \n",
|
||||
" f1.update (z)\n",
|
||||
" if log: print (f1.x.T)\n",
|
||||
"\n",
|
||||
"\n",
|
||||
" xs.append (f1.x[0,0])\n",
|
||||
" ys.append (f1.x[2,0])\n",
|
||||
@@ -1439,16 +1456,189 @@
|
||||
"language": "python",
|
||||
"metadata": {},
|
||||
"outputs": [
|
||||
{
|
||||
"output_type": "stream",
|
||||
"stream": "stdout",
|
||||
"text": [
|
||||
"[[ 0. ]\n",
|
||||
" [ 21.2]\n",
|
||||
" [ 0. ]\n",
|
||||
" [ 20.7]\n",
|
||||
" [ -9.8]]\n",
|
||||
"2.26334154798 2.2701914807\n",
|
||||
"2.7486356737 1.99227097822\n",
|
||||
"[[ 2.12 21.2 3.0304 19.72 -9.8 ]]\n",
|
||||
"[[ 2.64472895 21.25195336 2.16251132 19.6432216 -9.71658223]]\n",
|
||||
"4.00471898834 3.77548778907\n",
|
||||
"[[ 4.76992429 21.25195336 5.07905854 18.67156338 -9.71658223]]\n",
|
||||
"[[ 4.40728351 21.01906479 4.44234009 18.35760646 -9.36803761]]\n",
|
||||
"6.67939142944 5.71113377806\n",
|
||||
"[[ 6.50918999 21.01906479 7.19616842 17.4208027 -9.36803761]]\n",
|
||||
"[[ 6.57184657 21.10323034 6.60307241 16.91399233 -8.79487404]]\n",
|
||||
"8.7006186025 7.65399749306\n",
|
||||
"[[ 8.6821696 21.10323034 9.1563693 16.03450493 -8.79487404]]\n",
|
||||
"[[ 8.68840872 21.11463517 8.5903118 15.46920598 -8.16329089]]\n",
|
||||
"10.7741338917 9.0855524088\n",
|
||||
"[[ 10.79987223 21.11463517 10.93723491 14.6528769 -8.16329089]]\n",
|
||||
"[[ 10.79129279 21.09747628 10.25646109 13.95990014 -7.44098872]]\n",
|
||||
"12.5014218437 10.9726682202\n",
|
||||
"[[ 12.90104042 21.09747628 12.381668 13.21580126 -7.44098872]]\n",
|
||||
"[[ 12.76815754 20.83559032 11.87913651 12.70112583 -6.98521569]]\n",
|
||||
"14.7386837611 12.3742790314\n",
|
||||
"[[ 14.85171657 20.83559032 13.83380023 12.00260426 -6.98521569]]\n",
|
||||
"[[ 14.81461232 20.76678774 13.33419469 11.46474553 -6.63369164]]\n",
|
||||
"17.3062844439 13.911438362\n",
|
||||
"[[ 16.8912911 20.76678774 15.13077103 10.80137637 -6.63369164]]\n",
|
||||
"[[ 17.02389252 20.99392907 14.73222341 10.32239088 -6.4478821 ]]\n",
|
||||
"18.5595673308 15.3828782525\n",
|
||||
"[[ 19.12328543 20.99392907 16.39635494 9.67760267 -6.4478821 ]]\n",
|
||||
"[[ 18.94991144 20.7210924 16.07943823 9.23089798 -6.38486712]]\n",
|
||||
"22.0627856661 16.4447654453\n",
|
||||
"[[ 21.02202068 20.7210924 17.628245 8.59241127 -6.38486712]]\n",
|
||||
"[[ 21.32785126 21.16337047 17.2713798 7.98750161 -6.41802682]]\n",
|
||||
"23.6303586575 17.1945292524\n",
|
||||
"[[ 23.4441883 21.16337047 18.69909659 7.34569893 -6.41802682]]\n",
|
||||
"[[ 23.49623645 21.23273566 18.2562726 6.44318999 -6.59337121]]\n",
|
||||
"25.5961104482 18.1753812749\n",
|
||||
"[[ 25.61951002 21.23273566 19.54674198 5.78385287 -6.59337121]]\n",
|
||||
"[[ 25.6132985 21.22507762 19.14723094 4.82358101 -6.8688087 ]]\n",
|
||||
"27.4769545972 19.4389444698\n",
|
||||
"[[ 27.73580626 21.22507762 20.3027323 4.13670014 -6.8688087 ]]\n",
|
||||
"[[ 27.67059765 21.15039996 20.05032567 3.44265248 -7.10848858]]\n",
|
||||
"30.0724069863 20.348544138\n",
|
||||
"[[ 29.78563765 21.15039996 21.0912228 2.73180362 -7.10848858]]\n",
|
||||
"[[ 29.85422175 21.22365422 20.87132005 2.06340731 -7.36298674]]\n",
|
||||
"31.9311062718 20.6213988152\n",
|
||||
"[[ 31.97658718 21.22365422 21.79923348 1.32710864 -7.36298674]]\n",
|
||||
"[[ 31.96625061 21.21331765 21.44381692 0.17156454 -7.82639727]]\n",
|
||||
"33.5827618634 21.4409160537\n",
|
||||
"[[ 34.08758237 21.21331765 22.2279603 -0.61107519 -7.82639727]]\n",
|
||||
"[[ 33.97841219 21.11074164 21.98563339 -1.43037209 -8.16354081]]\n",
|
||||
"35.7254947678 21.7649117661\n",
|
||||
"[[ 36.08948635 21.11074164 22.64262318 -2.24672617 -8.16354081]]\n",
|
||||
"[[ 36.01447654 21.04430138 22.36752568 -3.19257556 -8.55671087]]\n",
|
||||
"38.3247380297 22.8875572193\n",
|
||||
"[[ 38.11890668 21.04430138 22.88682579 -4.04824665 -8.55671087]]\n",
|
||||
"[[ 38.15938964 21.07820678 22.88705811 -4.04744762 -8.5563786 ]]\n",
|
||||
"40.2030744561 22.9801889478\n",
|
||||
"[[ 40.26721032 21.07820678 23.32083845 -4.90308548 -8.5563786 ]]\n",
|
||||
"[[ 40.25515225 21.06863132 23.21176316 -5.27407846 -8.70978083]]\n",
|
||||
"42.565696679 22.3666619174\n",
|
||||
"[[ 42.36201538 21.06863132 23.53791383 -6.14505654 -8.70978083]]\n",
|
||||
"[[ 42.39867745 21.09630619 23.16178094 -7.40098292 -9.22422372]]\n",
|
||||
"44.557567354 22.7491277508\n",
|
||||
"[[ 44.50830807 21.09630619 23.32565657 -8.32340529 -9.22422372]]\n",
|
||||
"[[ 44.51680959 21.10242071 23.14078376 -8.9268641 -9.46854847]]\n",
|
||||
"46.3895725412 22.6008802881\n",
|
||||
"[[ 46.62705166 21.10242071 23.1760151 -9.87371895 -9.46854847]]"
|
||||
]
|
||||
},
|
||||
{
|
||||
"output_type": "stream",
|
||||
"stream": "stdout",
|
||||
"text": [
|
||||
"\n",
|
||||
"[[ 46.58769608 21.07539374 22.99249509 -10.45821097 -9.70218804]]\n",
|
||||
"48.5150711204 22.4991528062\n",
|
||||
"[[ 48.69523545 21.07539374 22.89748842 -11.42842978 -9.70218804]]\n",
|
||||
"[[ 48.66652608 21.05653143 22.77132118 -11.82039523 -9.85681741]]\n",
|
||||
"50.4225553907 22.1793888942\n",
|
||||
"[[ 50.77217922 21.05653143 22.55524976 -12.80607697 -9.85681741]]\n",
|
||||
"[[ 50.71853752 21.02275275 22.43726881 -13.1639266 -9.99616068]]\n",
|
||||
"53.0049706805 21.9264343895\n",
|
||||
"[[ 52.82081279 21.02275275 22.10049989 -14.16354267 -9.99616068]]\n",
|
||||
"[[ 52.84805125 21.03922 22.04639838 -14.32401306 -10.05787085]]\n",
|
||||
"55.3693229502 21.9337473372\n",
|
||||
"[[ 54.95197325 21.03922 21.59966842 -15.32980014 -10.05787085]]\n",
|
||||
"[[ 55.01155298 21.07385474 21.70245549 -15.03103525 -9.94431145]]\n",
|
||||
"57.2711570098 21.6375507947\n",
|
||||
"[[ 57.11893845 21.07385474 21.17389448 -16.0254664 -9.94431145]]\n",
|
||||
"[[ 57.13993562 21.08560851 21.31513333 -15.62222811 -9.79266891]]\n",
|
||||
"59.3879641402 20.4827885565\n",
|
||||
"[[ 59.24849647 21.08560851 20.71259207 -16.601495 -9.79266891]]\n",
|
||||
"[[ 59.26710549 21.09565301 20.64324943 -16.7964186 -9.86527425]]\n",
|
||||
"61.9960949307 20.0575782531\n",
|
||||
"[[ 61.37667079 21.09565301 19.93040445 -17.78294603 -9.86527425]]\n",
|
||||
"[[ 61.45669717 21.13735641 19.9684444 -17.67741615 -9.82629618]]\n",
|
||||
"63.5711123555 19.0689011007\n",
|
||||
"[[ 63.57043281 21.13735641 19.16367981 -18.66004576 -9.82629618]]\n",
|
||||
"[[ 63.5705179 21.13739927 19.13555285 -18.73722166 -9.85459428]]\n",
|
||||
"65.7040430825 18.6137402341\n",
|
||||
"[[ 65.68425783 21.13739927 18.22758093 -19.72268109 -9.85459428]]\n",
|
||||
"[[ 65.68666108 21.13857067 18.34138222 -19.41322872 -9.74183131]]\n",
|
||||
"67.5859739926 17.4765687036\n",
|
||||
"[[ 67.80051815 21.13857067 17.35475882 -20.38741185 -9.74183131]]\n",
|
||||
"[[ 67.77521645 21.1266246 17.39043969 -20.29108832 -9.70691464]]\n",
|
||||
"69.5389299383 16.3783689115\n",
|
||||
"[[ 69.88787891 21.1266246 16.31260849 -21.26177978 -9.70691464]]\n",
|
||||
"[[ 69.84789143 21.10831866 16.33177222 -21.21034186 -9.68834947]]\n",
|
||||
"72.2665778502 15.6194793153\n",
|
||||
"[[ 71.95872329 21.10831866 15.16019628 -22.17917681 -9.68834947]]\n",
|
||||
"[[ 71.99302951 21.12356026 15.29346336 -21.8230672 -9.56027753]]\n",
|
||||
"74.1856915683 14.2784001999\n",
|
||||
"[[ 74.10538554 21.12356026 14.04806383 -22.77909495 -9.56027753]]\n",
|
||||
"[[ 74.11409437 21.12731848 14.11466207 -22.6017439 -9.49667835]]\n",
|
||||
"76.5446235912 12.5919197503\n",
|
||||
"[[ 76.22682622 21.12731848 12.78516216 -23.55141174 -9.49667835]]\n",
|
||||
"[[ 76.2603884 21.1413981 12.72944965 -23.69939013 -9.54962162]]\n",
|
||||
"78.5970476152 11.276271207\n",
|
||||
"[[ 78.37452821 21.1413981 11.29537355 -24.65435229 -9.54962162]]\n",
|
||||
"[[ 78.39742873 21.1507444 11.28987891 -24.66891852 -9.55482349]]\n",
|
||||
"80.3472304738 9.96696884346\n",
|
||||
"[[ 80.51250317 21.1507444 9.75935976 -25.62440087 -9.55482349]]\n",
|
||||
"[[ 80.49591755 21.14415423 9.81896924 -25.4666009 -9.498552 ]]\n",
|
||||
"82.9481878783 7.97042938381\n",
|
||||
"[[ 82.61033297 21.14415423 8.20316724 -26.4164561 -9.498552 ]]\n",
|
||||
"[[ 82.64341386 21.15696026 8.13643603 -26.59292723 -9.56141 ]]\n",
|
||||
"84.4092218333 6.54262320406\n",
|
||||
"[[ 84.75910988 21.15696026 6.41416149 -27.54906823 -9.56141 ]]\n",
|
||||
"[[ 84.72566395 21.14433794 6.45095511 -27.4518391 -9.52680824]]\n",
|
||||
"86.9369836228 4.51215660702\n",
|
||||
"[[ 86.84009774 21.14433794 4.63939841 -28.40451993 -9.52680824]]\n",
|
||||
"[[ 86.84914427 21.14766843 4.60298341 -28.50069798 -9.56101245]]\n",
|
||||
"89.3875714341 2.59503736107\n",
|
||||
"[[ 88.96391111 21.14766843 2.68989284 -29.45679923 -9.56101245]]\n",
|
||||
"[[ 89.00257238 21.16156129 2.66276255 -29.52842828 -9.58647271]]\n",
|
||||
"91.0603671621 0.628987906576\n",
|
||||
"[[ 91.11872851 21.16156129 0.64939404 -30.48707555 -9.58647271]]\n",
|
||||
"[[ 91.11352088 21.15973365 0.64356008 -30.5024743 -9.59194392]]\n",
|
||||
"93.7179498709 -1.8622424642\n",
|
||||
"[[ 93.22949425 21.15973365 -1.46667685 -31.46166869 -9.59194392]]\n",
|
||||
"[[ 93.27213323 21.17435647 -1.57973069 -31.76001977 -9.69791578]]\n",
|
||||
"95.1363823279 -3.574796398\n",
|
||||
"[[ 95.38956887 21.17435647 -3.80533692 -32.72981135 -9.69791578]]\n",
|
||||
"[[ 95.36793716 21.16710355 -3.73946247 -32.55598981 -9.63619034]]\n",
|
||||
"97.3626491592 -6.38476888704\n",
|
||||
"[[ 97.48464751 21.16710355 -6.05071479 -33.51960884 -9.63619034]]\n",
|
||||
"[[ 97.47444125 21.16375619 -6.14615215 -33.77141458 -9.72559263]]"
|
||||
]
|
||||
},
|
||||
{
|
||||
"output_type": "stream",
|
||||
"stream": "stdout",
|
||||
"text": [
|
||||
"\n",
|
||||
"99.4524189899 -8.50390011399\n",
|
||||
"[[ 99.59081687 21.16375619 -8.57018553 -34.74397384 -9.72559263]]\n",
|
||||
"[[ 99.57947486 21.16011583 -8.55125022 -34.6940174 -9.70785825]]\n",
|
||||
"101.738199663 -11.1574484491\n",
|
||||
"[[ 101.69548644 21.16011583 -11.06928186 -35.66480323 -9.70785825]]\n",
|
||||
"[[ 101.69891688 21.16119384 -11.09446593 -35.73124252 -9.73144158]]\n",
|
||||
"104.193513897 -13.8491569534\n",
|
||||
"[[ 103.81503627 21.16119384 -13.7139089 -36.70438668 -9.73144158]]\n",
|
||||
"[[ 103.84483694 21.17036668 -13.75253945 -36.80629632 -9.7676127 ]]\n"
|
||||
]
|
||||
},
|
||||
{
|
||||
"metadata": {},
|
||||
"output_type": "display_data",
|
||||
"png": "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\nAAAA9FivbZzLysqUk5OjnJwcbdy4sbceFhHk9/s7/H9flZ2dHeklRBV62qKnLXraoaUtejpDr2yc\nfT6fVqxYoeeee05r1qzRI4880hsPG1bPPvusbrzxRo0aNUrf/va3lZ+fr5EjR+q9997TiRMntHz5\nco0dO1aZmZlatGiRWltbJUn/+Mc/9PWvf11f/OIXddFFF+nf//3fdeTIkcD9/ulPf9JVV10lr9er\n8ePH65VXXgl87IorrtBrr70WOD711dx58+Zp8eLFmjVrlrxer6644godO3ZMkrR+/Xpde+21+uIX\nv6hvfetbqq2tDdxm6tSpuuyyy/T9739fV199tW688UYdP35cktTY2Ki77rpLmZmZGjdunH7zm990\neLwFCxYoNzdXXq9XCxYsCHzs1ltv1UUXXSRJuv766+X1erVkyRKr/AAAAL2uVzbOO3fuVEZGhpKT\nk5Wenq60tDRVVVX1xkOHVUJCgl5//XW9/PLLuvPOO3X77bfr97//vR577DH96U9/0ssvv6ytW7fq\n/fff11NPPSXp8x8iZs+erXfffVfvvvuuGhsbtXz58sB93nPPPSouLlZ1dbVeeOEFpaenBz4WExOj\nmJiYM67p+eef1+23365//OMf+p//+R+5XC69/fbbWrhwoR5//HF9+OGHGjNmjL7zne8EbnP11Vfr\nySef1OrVq1VeXi63260333xTkjRnzhzFx8drx44d+v3vf6/ly5dr+/btgdu++uqrWr16tbZs2aIX\nX3xR27ZtkySVlpaqurpakrR582ZVV1dr2bJlPSweGcyV2aKnLXraoqcdWtqipzO4euNBGhoa5PF4\nVFJSoqSkJHk8HtXV1SkzM7PL2/zzeIs+avxMcU0tcuqFyi6++GJ94QtfUHJysi699FIdPHhQb7/9\ntl566SUtXbpUaWlpkqQ777xTjz/+uObNm6eMjAxlZGQE7mPatGl66aWXAsexsbH66KOPdOTIkZAu\nk3Lddddp8uTJkqTRo0dLkp555hnl5+dr3Lhxkj5/pfjSSy+Vz+cLfB3Dhw/Xeeedp6SkJHm9XjU0\nNOjjjz/WX/7yF+3evVsJCQkaPny4pk6dqj/+8Y8aO3asJGnKlCkaNmyYJOnyyy/X7t27O72sIAAA\nQF/XKxvndnl5eZKkioqKTl85feL1Gu1tPK6PDn2mlhN+XXyuW/mXDjjjfU7+5TsmaysvHNft27R/\nDS6XS3FxcXK5XGptbdX+/fs1Z84cxcZ+/oL+iRMnApvo+vp6LVq0SP/7v/+rTz/9VC0tLYFNqCT9\n+te/1sqVK/Wzn/1MGRkZWrVqlUaOHBn0mi655JLTzu3fv19btmzRs88+GziXkJAQGNdoX3tcXFzg\nuKWlRQcOHJCkDutra2vTjBkzAsdJSUmBP8fHx6u5uTnotfYVzJXZoqctetqipx1a2qKnM/TKxtnj\n8ai+vj5wXF9fL4/Hc9rnbfrTH3RBokuXtx1VaqJbY76YpWFJXzzjfYey4Q0nv9+vYcOG6fHHH9eV\nV1552sf/+7//W3FxcXrjjTc0ePBgPfXUU3rxxRcDH7/qqqv07LPPyufz6Tvf+Y4eeeQR/fa3v5X0\n+Wa3fVb65Lnok7Vv1k92wQUX6Lvf/a7uueeebn0tw4YNk9vt1p49e846ItKVYG/X/p+g2v/FwDHH\nHHPMMcccc2x13P7n9jHSwsJChaJX3jnQ5/NpypQpKi0tVXNzs2bPnq3y8vIOn9PX3jnw2Wef1V//\n+lc9/vjjGjt2rNavX6/Nmzfrr3/9q0aMGKFXX31VP//5z3X++edr9+7d2rdvnyZOnKhvf/vbGjJk\niH7yk59o3759ysvL07nnnquysjL5/X6VlpYqNzdXCQkJgY3u448/LkmaOXOmxo0bp+9973t65pln\ntHDhQr399tsaPny4pM9HMIYOHXraL+G99dZbKiws1G9/+1tlZWWpoaFBlZWV+sY3vqF58+YpOztb\nEyZM0LRp07R9+3bNmzdP1113nfLy8nTbbbdp5MiRuu+++xQfH69t27Zp8ODBGjVq1GmPN23aNN16\n66264447Ao89atQo/fjHP1Zubm6XLZ36d9yusrIy8A8geo6etuhpi552aGmLnrYc/c6B8fHxKioq\nUn5+vgoKClRcXNwbDxtWp/6iXvtxTEyM5s2bp2uuuUa5ubkaPny4Zs+erU8++USSdN9992n79u0a\nPny47rzzTk2ZMiVwP+0b56ysLGVkZKi2trbDJvh73/uenn/+eU2aNEm1tbWdvprb2bnx48fr4Ycf\n1vz58zV8+HDddNNN2rlzZ6drP9VTTz2lhoYGjR8/XpdddpkeeughtbW1dfl4px7/13/9l+677z6N\nGjVKDz/88BmbAgAAOFmvvOIcjL72ijPs8HcMAAB6k6NfcQYAAAD6OjbOwFmc/IsF6Dl62qLine truncated
|
||||
"png": "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 truncated
|
||||
"text": [
|
||||
"<matplotlib.figure.Figure at 0x3b554d0>"
|
||||
"<matplotlib.figure.Figure at 0x46b2a50>"
|
||||
]
|
||||
}
|
||||
],
|
||||
"prompt_number": 76
|
||||
"prompt_number": 177
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
@@ -1462,10 +1652,13 @@
|
||||
{
|
||||
"cell_type": "code",
|
||||
"collapsed": false,
|
||||
"input": [],
|
||||
"input": [
|
||||
"%run?"
|
||||
],
|
||||
"language": "python",
|
||||
"metadata": {},
|
||||
"outputs": []
|
||||
"outputs": [],
|
||||
"prompt_number": 166
|
||||
},
|
||||
{
|
||||
"cell_type": "code",
|
||||
|
||||
Reference in new issue
Block a user