Merge branch 'master' of git://github.com/wilcobonestroo/Kalman-and-Bayesian-Filters-in-Python into wilcobonestroo-master

This commit is contained in:
Roger Labbe 2020-05-03 11:47:28 -07:00
commit 4308372241
20 changed files with 406 additions and 1193 deletions

View File

@ -259,9 +259,7 @@
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"scrolled": false
},
"metadata": {},
"outputs": [
{
"name": "stdout",
@ -387,9 +385,7 @@
{
"cell_type": "code",
"execution_count": 11,
"metadata": {
"scrolled": false
},
"metadata": {},
"outputs": [
{
"name": "stdout",
@ -706,9 +702,7 @@
{
"cell_type": "code",
"execution_count": 17,
"metadata": {
"scrolled": false
},
"metadata": {},
"outputs": [
{
"data": {
@ -886,9 +880,7 @@
{
"cell_type": "code",
"execution_count": 21,
"metadata": {
"scrolled": false
},
"metadata": {},
"outputs": [
{
"data": {
@ -979,9 +971,7 @@
{
"cell_type": "code",
"execution_count": 23,
"metadata": {
"scrolled": false
},
"metadata": {},
"outputs": [
{
"data": {
@ -1102,9 +1092,7 @@
{
"cell_type": "code",
"execution_count": 27,
"metadata": {
"scrolled": false
},
"metadata": {},
"outputs": [
{
"data": {
@ -1344,9 +1332,7 @@
{
"cell_type": "code",
"execution_count": 32,
"metadata": {
"scrolled": false
},
"metadata": {},
"outputs": [
{
"data": {
@ -1557,9 +1543,7 @@
{
"cell_type": "code",
"execution_count": 36,
"metadata": {
"scrolled": false
},
"metadata": {},
"outputs": [
{
"name": "stdout",
@ -1656,9 +1640,7 @@
{
"cell_type": "code",
"execution_count": 38,
"metadata": {
"scrolled": false
},
"metadata": {},
"outputs": [
{
"data": {
@ -1795,58 +1777,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.10"
},
"nbdime-conflicts": {
"local_diff": [
{
"diff": [
{
"diff": [
{
"diff": [
{
"key": 4,
"op": "addrange",
"valuelist": "10"
},
{
"key": 4,
"length": 1,
"op": "removerange"
}
],
"key": 0,
"op": "patch"
}
],
"key": "version",
"op": "patch"
}
],
"key": "language_info",
"op": "patch"
}
],
"remote_diff": [
{
"diff": [
{
"diff": [
{
"key": 0,
"length": 1,
"op": "removerange"
}
],
"key": "version",
"op": "patch"
}
],
"key": "language_info",
"op": "patch"
}
]
"version": "3.7.6"
},
"widgets": {
"application/vnd.jupyter.widget-state+json": {
@ -2822,5 +2753,5 @@
}
},
"nbformat": 4,
"nbformat_minor": 2
"nbformat_minor": 4
}

View File

@ -208,9 +208,7 @@
{
"cell_type": "code",
"execution_count": 4,
"metadata": {
"scrolled": false
},
"metadata": {},
"outputs": [
{
"data": {
@ -1577,9 +1575,7 @@
{
"cell_type": "code",
"execution_count": 36,
"metadata": {
"scrolled": false
},
"metadata": {},
"outputs": [
{
"name": "stdout",
@ -2144,58 +2140,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.10"
},
"nbdime-conflicts": {
"local_diff": [
{
"diff": [
{
"diff": [
{
"diff": [
{
"key": 4,
"op": "addrange",
"valuelist": "10"
},
{
"key": 4,
"length": 1,
"op": "removerange"
}
],
"key": 0,
"op": "patch"
}
],
"key": "version",
"op": "patch"
}
],
"key": "language_info",
"op": "patch"
}
],
"remote_diff": [
{
"diff": [
{
"diff": [
{
"key": 0,
"length": 1,
"op": "removerange"
}
],
"key": "version",
"op": "patch"
}
],
"key": "language_info",
"op": "patch"
}
]
"version": "3.7.6"
},
"widgets": {
"application/vnd.jupyter.widget-state+json": {
@ -2545,5 +2490,5 @@
}
},
"nbformat": 4,
"nbformat_minor": 2
"nbformat_minor": 4
}

View File

@ -322,9 +322,7 @@
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"scrolled": false
},
"metadata": {},
"outputs": [
{
"name": "stdout",
@ -529,9 +527,7 @@
{
"cell_type": "code",
"execution_count": 12,
"metadata": {
"scrolled": false
},
"metadata": {},
"outputs": [
{
"name": "stdout",
@ -694,9 +690,7 @@
{
"cell_type": "code",
"execution_count": 15,
"metadata": {
"scrolled": false
},
"metadata": {},
"outputs": [
{
"data": {
@ -773,9 +767,7 @@
{
"cell_type": "code",
"execution_count": 17,
"metadata": {
"scrolled": false
},
"metadata": {},
"outputs": [
{
"name": "stdout",
@ -1441,9 +1433,7 @@
{
"cell_type": "code",
"execution_count": 26,
"metadata": {
"scrolled": false
},
"metadata": {},
"outputs": [
{
"data": {
@ -2150,58 +2140,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.10"
},
"nbdime-conflicts": {
"local_diff": [
{
"diff": [
{
"diff": [
{
"diff": [
{
"key": 4,
"op": "addrange",
"valuelist": "10"
},
{
"key": 4,
"length": 1,
"op": "removerange"
}
],
"key": 0,
"op": "patch"
}
],
"key": "version",
"op": "patch"
}
],
"key": "language_info",
"op": "patch"
}
],
"remote_diff": [
{
"diff": [
{
"diff": [
{
"key": 0,
"length": 1,
"op": "removerange"
}
],
"key": "version",
"op": "patch"
}
],
"key": "language_info",
"op": "patch"
}
]
"version": "3.7.6"
},
"widgets": {
"application/vnd.jupyter.widget-state+json": {
@ -4050,5 +3989,5 @@
}
},
"nbformat": 4,
"nbformat_minor": 2
"nbformat_minor": 4
}

View File

@ -1880,58 +1880,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.10"
},
"nbdime-conflicts": {
"local_diff": [
{
"diff": [
{
"diff": [
{
"diff": [
{
"key": 4,
"op": "addrange",
"valuelist": "10"
},
{
"key": 4,
"length": 1,
"op": "removerange"
}
],
"key": 0,
"op": "patch"
}
],
"key": "version",
"op": "patch"
}
],
"key": "language_info",
"op": "patch"
}
],
"remote_diff": [
{
"diff": [
{
"diff": [
{
"key": 0,
"length": 1,
"op": "removerange"
}
],
"key": "version",
"op": "patch"
}
],
"key": "language_info",
"op": "patch"
}
]
"version": "3.7.6"
},
"widgets": {
"application/vnd.jupyter.widget-state+json": {
@ -2378,5 +2327,5 @@
}
},
"nbformat": 4,
"nbformat_minor": 2
"nbformat_minor": 4
}

View File

@ -830,10 +830,8 @@
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {
"scrolled": false
},
"execution_count": 17,
"metadata": {},
"outputs": [
{
"data": {
@ -1420,10 +1418,8 @@
},
{
"cell_type": "code",
"execution_count": 31,
"metadata": {
"scrolled": false
},
"execution_count": 30,
"metadata": {},
"outputs": [
{
"data": {
@ -1470,10 +1466,8 @@
},
{
"cell_type": "code",
"execution_count": 32,
"metadata": {
"scrolled": false
},
"execution_count": 31,
"metadata": {},
"outputs": [
{
"data": {
@ -1833,10 +1827,8 @@
},
{
"cell_type": "code",
"execution_count": 38,
"metadata": {
"scrolled": false
},
"execution_count": 37,
"metadata": {},
"outputs": [
{
"data": {
@ -2378,10 +2370,8 @@
},
{
"cell_type": "code",
"execution_count": 45,
"metadata": {
"scrolled": false
},
"execution_count": 44,
"metadata": {},
"outputs": [
{
"data": {
@ -2432,10 +2422,8 @@
},
{
"cell_type": "code",
"execution_count": 46,
"metadata": {
"scrolled": false
},
"execution_count": 45,
"metadata": {},
"outputs": [
{
"data": {
@ -2688,10 +2676,8 @@
},
{
"cell_type": "code",
"execution_count": 53,
"metadata": {
"scrolled": false
},
"execution_count": 52,
"metadata": {},
"outputs": [
{
"data": {
@ -3159,58 +3145,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.10"
},
"nbdime-conflicts": {
"local_diff": [
{
"diff": [
{
"diff": [
{
"diff": [
{
"key": 4,
"op": "addrange",
"valuelist": "10"
},
{
"key": 4,
"length": 1,
"op": "removerange"
}
],
"key": 0,
"op": "patch"
}
],
"key": "version",
"op": "patch"
}
],
"key": "language_info",
"op": "patch"
}
],
"remote_diff": [
{
"diff": [
{
"diff": [
{
"key": 0,
"length": 1,
"op": "removerange"
}
],
"key": "version",
"op": "patch"
}
],
"key": "language_info",
"op": "patch"
}
]
"version": "3.7.6"
},
"widgets": {
"application/vnd.jupyter.widget-state+json": {
@ -3851,5 +3786,5 @@
}
},
"nbformat": 4,
"nbformat_minor": 2
"nbformat_minor": 4
}

View File

@ -1668,60 +1668,9 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.10"
},
"nbdime-conflicts": {
"local_diff": [
{
"diff": [
{
"diff": [
{
"diff": [
{
"key": 4,
"op": "addrange",
"valuelist": "10"
},
{
"key": 4,
"length": 1,
"op": "removerange"
}
],
"key": 0,
"op": "patch"
}
],
"key": "version",
"op": "patch"
}
],
"key": "language_info",
"op": "patch"
}
],
"remote_diff": [
{
"diff": [
{
"diff": [
{
"key": 0,
"length": 1,
"op": "removerange"
}
],
"key": "version",
"op": "patch"
}
],
"key": "language_info",
"op": "patch"
}
]
"version": "3.7.6"
}
},
"nbformat": 4,
"nbformat_minor": 1
"nbformat_minor": 4
}

View File

@ -2698,9 +2698,7 @@
{
"cell_type": "code",
"execution_count": 56,
"metadata": {
"scrolled": false
},
"metadata": {},
"outputs": [
{
"data": {
@ -2894,9 +2892,7 @@
{
"cell_type": "code",
"execution_count": 59,
"metadata": {
"scrolled": false
},
"metadata": {},
"outputs": [
{
"name": "stdout",
@ -3982,58 +3978,7 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.10"
},
"nbdime-conflicts": {
"local_diff": [
{
"diff": [
{
"diff": [
{
"diff": [
{
"key": 4,
"op": "addrange",
"valuelist": "10"
},
{
"key": 4,
"length": 1,
"op": "removerange"
}
],
"key": 0,
"op": "patch"
}
],
"key": "version",
"op": "patch"
}
],
"key": "language_info",
"op": "patch"
}
],
"remote_diff": [
{
"diff": [
{
"diff": [
{
"key": 0,
"length": 1,
"op": "removerange"
}
],
"key": "version",
"op": "patch"
}
],
"key": "language_info",
"op": "patch"
}
]
"version": "3.7.6"
},
"widgets": {
"state": {},
@ -4041,5 +3986,5 @@
}
},
"nbformat": 4,
"nbformat_minor": 1
"nbformat_minor": 4
}

View File

@ -706,60 +706,9 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.10"
},
"nbdime-conflicts": {
"local_diff": [
{
"diff": [
{
"diff": [
{
"diff": [
{
"key": 4,
"op": "addrange",
"valuelist": "10"
},
{
"key": 4,
"length": 1,
"op": "removerange"
}
],
"key": 0,
"op": "patch"
}
],
"key": "version",
"op": "patch"
}
],
"key": "language_info",
"op": "patch"
}
],
"remote_diff": [
{
"diff": [
{
"diff": [
{
"key": 0,
"length": 1,
"op": "removerange"
}
],
"key": "version",
"op": "patch"
}
],
"key": "language_info",
"op": "patch"
}
]
"version": "3.7.6"
}
},
"nbformat": 4,
"nbformat_minor": 1
"nbformat_minor": 4
}

View File

@ -76,9 +76,7 @@
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"scrolled": false
},
"metadata": {},
"outputs": [
{
"data": {
@ -171,9 +169,7 @@
{
"cell_type": "code",
"execution_count": 5,
"metadata": {
"scrolled": false
},
"metadata": {},
"outputs": [
{
"data": {
@ -216,9 +212,7 @@
{
"cell_type": "code",
"execution_count": 6,
"metadata": {
"scrolled": false
},
"metadata": {},
"outputs": [
{
"name": "stdout",
@ -416,9 +410,7 @@
{
"cell_type": "code",
"execution_count": 11,
"metadata": {
"scrolled": false
},
"metadata": {},
"outputs": [
{
"data": {
@ -466,9 +458,7 @@
{
"cell_type": "code",
"execution_count": 12,
"metadata": {
"scrolled": false
},
"metadata": {},
"outputs": [
{
"data": {
@ -514,9 +504,7 @@
{
"cell_type": "code",
"execution_count": 13,
"metadata": {
"scrolled": false
},
"metadata": {},
"outputs": [
{
"data": {
@ -564,9 +552,7 @@
{
"cell_type": "code",
"execution_count": 14,
"metadata": {
"scrolled": false
},
"metadata": {},
"outputs": [
{
"name": "stdout",
@ -879,9 +865,7 @@
{
"cell_type": "code",
"execution_count": 16,
"metadata": {
"scrolled": false
},
"metadata": {},
"outputs": [
{
"data": {
@ -936,9 +920,7 @@
{
"cell_type": "code",
"execution_count": 17,
"metadata": {
"scrolled": false
},
"metadata": {},
"outputs": [],
"source": [
"def f_cv(x, dt):\n",
@ -985,9 +967,7 @@
{
"cell_type": "code",
"execution_count": 18,
"metadata": {
"scrolled": false
},
"metadata": {},
"outputs": [
{
"name": "stdout",
@ -1056,9 +1036,7 @@
{
"cell_type": "code",
"execution_count": 19,
"metadata": {
"scrolled": false
},
"metadata": {},
"outputs": [
{
"data": {
@ -1103,9 +1081,7 @@
{
"cell_type": "code",
"execution_count": 20,
"metadata": {
"scrolled": false
},
"metadata": {},
"outputs": [],
"source": [
"def f_radar(x, dt):\n",
@ -1138,9 +1114,7 @@
{
"cell_type": "code",
"execution_count": 21,
"metadata": {
"scrolled": false
},
"metadata": {},
"outputs": [],
"source": [
"def h_radar(x):\n",
@ -1165,9 +1139,7 @@
{
"cell_type": "code",
"execution_count": 22,
"metadata": {
"scrolled": false
},
"metadata": {},
"outputs": [],
"source": [
"from numpy.linalg import norm\n",
@ -1327,9 +1299,7 @@
{
"cell_type": "code",
"execution_count": 24,
"metadata": {
"scrolled": false
},
"metadata": {},
"outputs": [
{
"name": "stdout",
@ -1427,9 +1397,7 @@
{
"cell_type": "code",
"execution_count": 26,
"metadata": {
"scrolled": false
},
"metadata": {},
"outputs": [
{
"name": "stdout",
@ -1500,9 +1468,7 @@
{
"cell_type": "code",
"execution_count": 27,
"metadata": {
"scrolled": false
},
"metadata": {},
"outputs": [
{
"data": {
@ -1580,9 +1546,7 @@
{
"cell_type": "code",
"execution_count": 29,
"metadata": {
"scrolled": false
},
"metadata": {},
"outputs": [
{
"data": {
@ -1656,9 +1620,7 @@
{
"cell_type": "code",
"execution_count": 30,
"metadata": {
"scrolled": false
},
"metadata": {},
"outputs": [
{
"data": {
@ -1834,9 +1796,7 @@
{
"cell_type": "code",
"execution_count": 36,
"metadata": {
"scrolled": false
},
"metadata": {},
"outputs": [
{
"data": {
@ -1879,9 +1839,7 @@
{
"cell_type": "code",
"execution_count": 37,
"metadata": {
"scrolled": false
},
"metadata": {},
"outputs": [
{
"data": {
@ -1931,9 +1889,7 @@
{
"cell_type": "code",
"execution_count": 38,
"metadata": {
"scrolled": false
},
"metadata": {},
"outputs": [
{
"data": {
@ -1971,9 +1927,7 @@
{
"cell_type": "code",
"execution_count": 39,
"metadata": {
"scrolled": false
},
"metadata": {},
"outputs": [
{
"data": {
@ -2197,9 +2151,7 @@
{
"cell_type": "code",
"execution_count": 42,
"metadata": {
"scrolled": false
},
"metadata": {},
"outputs": [
{
"data": {
@ -2246,9 +2198,7 @@
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": true
},
"metadata": {},
"source": [
"### Predict Step\n",
"\n",
@ -2285,9 +2235,7 @@
},
{
"cell_type": "markdown",
"metadata": {
"scrolled": false
},
"metadata": {},
"source": [
"The update step converts the sigmas into measurement space via the function `h(x)`.\n",
"\n",
@ -2375,9 +2323,7 @@
{
"cell_type": "code",
"execution_count": 43,
"metadata": {
"scrolled": true
},
"metadata": {},
"outputs": [
{
"data": {
@ -2466,9 +2412,7 @@
{
"cell_type": "code",
"execution_count": 44,
"metadata": {
"scrolled": false
},
"metadata": {},
"outputs": [
{
"name": "stdout",
@ -2535,9 +2479,7 @@
{
"cell_type": "code",
"execution_count": 45,
"metadata": {
"scrolled": false
},
"metadata": {},
"outputs": [
{
"name": "stdout",
@ -3098,9 +3040,7 @@
{
"cell_type": "code",
"execution_count": 56,
"metadata": {
"scrolled": false
},
"metadata": {},
"outputs": [
{
"data": {
@ -3185,9 +3125,7 @@
{
"cell_type": "code",
"execution_count": 58,
"metadata": {
"scrolled": false
},
"metadata": {},
"outputs": [
{
"data": {
@ -3225,9 +3163,7 @@
{
"cell_type": "code",
"execution_count": 59,
"metadata": {
"scrolled": false
},
"metadata": {},
"outputs": [
{
"data": {
@ -3310,60 +3246,9 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.10"
},
"nbdime-conflicts": {
"local_diff": [
{
"diff": [
{
"diff": [
{
"diff": [
{
"key": 4,
"op": "addrange",
"valuelist": "10"
},
{
"key": 4,
"length": 1,
"op": "removerange"
}
],
"key": 0,
"op": "patch"
}
],
"key": "version",
"op": "patch"
}
],
"key": "language_info",
"op": "patch"
}
],
"remote_diff": [
{
"diff": [
{
"diff": [
{
"key": 0,
"length": 1,
"op": "removerange"
}
],
"key": "version",
"op": "patch"
}
],
"key": "language_info",
"op": "patch"
}
]
"version": "3.7.6"
}
},
"nbformat": 4,
"nbformat_minor": 1
"nbformat_minor": 4
}

View File

@ -1019,9 +1019,7 @@
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": true
},
"metadata": {},
"source": [
"Now we need to write that as a Python function. For example we might write:"
]
@ -1051,9 +1049,7 @@
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": true
},
"metadata": {},
"source": [
"We also need to define a function that converts the system state into a measurement."
]
@ -1092,9 +1088,7 @@
},
{
"cell_type": "markdown",
"metadata": {
"collapsed": true
},
"metadata": {},
"source": [
"### Implementation\n",
"\n",
@ -1297,9 +1291,7 @@
{
"cell_type": "code",
"execution_count": 20,
"metadata": {
"scrolled": false
},
"metadata": {},
"outputs": [
{
"data": {
@ -1384,9 +1376,7 @@
{
"cell_type": "code",
"execution_count": 22,
"metadata": {
"scrolled": false
},
"metadata": {},
"outputs": [
{
"data": {
@ -1423,9 +1413,7 @@
{
"cell_type": "code",
"execution_count": 23,
"metadata": {
"scrolled": false
},
"metadata": {},
"outputs": [
{
"data": {
@ -1462,9 +1450,7 @@
{
"cell_type": "code",
"execution_count": 24,
"metadata": {
"scrolled": false
},
"metadata": {},
"outputs": [
{
"data": {
@ -1612,60 +1598,9 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.10"
},
"nbdime-conflicts": {
"local_diff": [
{
"diff": [
{
"diff": [
{
"diff": [
{
"key": 4,
"op": "addrange",
"valuelist": "10"
},
{
"key": 4,
"length": 1,
"op": "removerange"
}
],
"key": 0,
"op": "patch"
}
],
"key": "version",
"op": "patch"
}
],
"key": "language_info",
"op": "patch"
}
],
"remote_diff": [
{
"diff": [
{
"diff": [
{
"key": 0,
"length": 1,
"op": "removerange"
}
],
"key": "version",
"op": "patch"
}
],
"key": "language_info",
"op": "patch"
}
]
"version": "3.7.6"
}
},
"nbformat": 4,
"nbformat_minor": 1
"nbformat_minor": 4
}

View File

@ -691,9 +691,7 @@
{
"cell_type": "code",
"execution_count": 17,
"metadata": {
"scrolled": false
},
"metadata": {},
"outputs": [
{
"name": "stdout",
@ -877,9 +875,7 @@
{
"cell_type": "code",
"execution_count": 19,
"metadata": {
"scrolled": false
},
"metadata": {},
"outputs": [
{
"name": "stdout",
@ -1098,9 +1094,7 @@
{
"cell_type": "code",
"execution_count": 23,
"metadata": {
"scrolled": false
},
"metadata": {},
"outputs": [
{
"name": "stdout",
@ -1429,9 +1423,7 @@
{
"cell_type": "code",
"execution_count": 32,
"metadata": {
"scrolled": false
},
"metadata": {},
"outputs": [
{
"data": {
@ -1546,60 +1538,9 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.10"
},
"nbdime-conflicts": {
"local_diff": [
{
"diff": [
{
"diff": [
{
"diff": [
{
"key": 4,
"op": "addrange",
"valuelist": "10"
},
{
"key": 4,
"length": 1,
"op": "removerange"
}
],
"key": 0,
"op": "patch"
}
],
"key": "version",
"op": "patch"
}
],
"key": "language_info",
"op": "patch"
}
],
"remote_diff": [
{
"diff": [
{
"diff": [
{
"key": 0,
"length": 1,
"op": "removerange"
}
],
"key": "version",
"op": "patch"
}
],
"key": "language_info",
"op": "patch"
}
]
"version": "3.7.6"
}
},
"nbformat": 4,
"nbformat_minor": 1
"nbformat_minor": 4
}

View File

@ -610,60 +610,9 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.10"
},
"nbdime-conflicts": {
"local_diff": [
{
"diff": [
{
"diff": [
{
"diff": [
{
"key": 4,
"op": "addrange",
"valuelist": "10"
},
{
"key": 4,
"length": 1,
"op": "removerange"
}
],
"key": 0,
"op": "patch"
}
],
"key": "version",
"op": "patch"
}
],
"key": "language_info",
"op": "patch"
}
],
"remote_diff": [
{
"diff": [
{
"diff": [
{
"key": 0,
"length": 1,
"op": "removerange"
}
],
"key": "version",
"op": "patch"
}
],
"key": "language_info",
"op": "patch"
}
]
"version": "3.7.6"
}
},
"nbformat": 4,
"nbformat_minor": 1
"nbformat_minor": 4
}

View File

@ -337,9 +337,7 @@
{
"cell_type": "code",
"execution_count": 8,
"metadata": {
"scrolled": false
},
"metadata": {},
"outputs": [
{
"data": {
@ -548,9 +546,7 @@
{
"cell_type": "code",
"execution_count": 13,
"metadata": {
"scrolled": false
},
"metadata": {},
"outputs": [
{
"data": {
@ -647,9 +643,7 @@
{
"cell_type": "code",
"execution_count": 14,
"metadata": {
"scrolled": false
},
"metadata": {},
"outputs": [
{
"data": {
@ -697,9 +691,7 @@
{
"cell_type": "code",
"execution_count": 15,
"metadata": {
"scrolled": false
},
"metadata": {},
"outputs": [
{
"data": {
@ -969,9 +961,7 @@
{
"cell_type": "code",
"execution_count": 20,
"metadata": {
"scrolled": false
},
"metadata": {},
"outputs": [
{
"data": {
@ -1208,9 +1198,7 @@
{
"cell_type": "code",
"execution_count": 22,
"metadata": {
"scrolled": false
},
"metadata": {},
"outputs": [
{
"data": {
@ -1294,9 +1282,7 @@
{
"cell_type": "code",
"execution_count": 24,
"metadata": {
"scrolled": false
},
"metadata": {},
"outputs": [
{
"data": {
@ -1888,9 +1874,7 @@
{
"cell_type": "code",
"execution_count": 34,
"metadata": {
"scrolled": false
},
"metadata": {},
"outputs": [
{
"data": {
@ -2041,60 +2025,9 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.10"
},
"nbdime-conflicts": {
"local_diff": [
{
"diff": [
{
"diff": [
{
"diff": [
{
"key": 4,
"op": "addrange",
"valuelist": "10"
},
{
"key": 4,
"length": 1,
"op": "removerange"
}
],
"key": 0,
"op": "patch"
}
],
"key": "version",
"op": "patch"
}
],
"key": "language_info",
"op": "patch"
}
],
"remote_diff": [
{
"diff": [
{
"diff": [
{
"key": 0,
"length": 1,
"op": "removerange"
}
],
"key": "version",
"op": "patch"
}
],
"key": "language_info",
"op": "patch"
}
]
"version": "3.7.6"
}
},
"nbformat": 4,
"nbformat_minor": 1
"nbformat_minor": 4
}

View File

@ -511,9 +511,9 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.10"
"version": "3.7.6"
}
},
"nbformat": 4,
"nbformat_minor": 1
"nbformat_minor": 4
}

View File

@ -110,9 +110,9 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.10"
"version": "3.7.6"
}
},
"nbformat": 4,
"nbformat_minor": 1
"nbformat_minor": 4
}

View File

@ -152,60 +152,9 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.10"
},
"nbdime-conflicts": {
"local_diff": [
{
"diff": [
{
"diff": [
{
"diff": [
{
"key": 4,
"op": "addrange",
"valuelist": "10"
},
{
"key": 4,
"length": 1,
"op": "removerange"
}
],
"key": 0,
"op": "patch"
}
],
"key": "version",
"op": "patch"
}
],
"key": "language_info",
"op": "patch"
}
],
"remote_diff": [
{
"diff": [
{
"diff": [
{
"key": 0,
"length": 1,
"op": "removerange"
}
],
"key": "version",
"op": "patch"
}
],
"key": "language_info",
"op": "patch"
}
]
"version": "3.7.6"
}
},
"nbformat": 4,
"nbformat_minor": 1
"nbformat_minor": 4
}

View File

@ -536,60 +536,9 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.10"
},
"nbdime-conflicts": {
"local_diff": [
{
"diff": [
{
"diff": [
{
"diff": [
{
"key": 4,
"op": "addrange",
"valuelist": "10"
},
{
"key": 4,
"length": 1,
"op": "removerange"
}
],
"key": 0,
"op": "patch"
}
],
"key": "version",
"op": "patch"
}
],
"key": "language_info",
"op": "patch"
}
],
"remote_diff": [
{
"diff": [
{
"diff": [
{
"key": 0,
"length": 1,
"op": "removerange"
}
],
"key": "version",
"op": "patch"
}
],
"key": "language_info",
"op": "patch"
}
]
"version": "3.7.6"
}
},
"nbformat": 4,
"nbformat_minor": 1
"nbformat_minor": 4
}

View File

@ -788,60 +788,9 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.10"
},
"nbdime-conflicts": {
"local_diff": [
{
"diff": [
{
"diff": [
{
"diff": [
{
"key": 4,
"op": "addrange",
"valuelist": "10"
},
{
"key": 4,
"length": 1,
"op": "removerange"
}
],
"key": 0,
"op": "patch"
}
],
"key": "version",
"op": "patch"
}
],
"key": "language_info",
"op": "patch"
}
],
"remote_diff": [
{
"diff": [
{
"diff": [
{
"key": 0,
"length": 1,
"op": "removerange"
}
],
"key": "version",
"op": "patch"
}
],
"key": "language_info",
"op": "patch"
}
]
"version": "3.7.6"
}
},
"nbformat": 4,
"nbformat_minor": 1
"nbformat_minor": 4
}

View File

@ -109,60 +109,9 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.7.13.6.5"
},
"nbdime-conflicts": {
"local_diff": [
{
"diff": [
{
"diff": [
{
"diff": [
{
"key": 4,
"op": "addrange",
"valuelist": "10"
},
{
"key": 4,
"length": 1,
"op": "removerange"
}
],
"key": 0,
"op": "patch"
}
],
"key": "version",
"op": "patch"
}
],
"key": "language_info",
"op": "patch"
}
],
"remote_diff": [
{
"diff": [
{
"diff": [
{
"key": 0,
"length": 1,
"op": "removerange"
}
],
"key": "version",
"op": "patch"
}
],
"key": "language_info",
"op": "patch"
}
]
"version": "3.7.6"
}
},
"nbformat": 4,
"nbformat_minor": 1
"nbformat_minor": 4
}

View File

@ -18,6 +18,289 @@
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<style>\n",
"@import url('http://fonts.googleapis.com/css?family=Source+Code+Pro');\n",
"@import url('http://fonts.googleapis.com/css?family=Lora');\n",
"\n",
".CodeMirror pre {\n",
" font-family: 'Source Code Pro', Consolas, monocco, monospace;\n",
"}\n",
" div.cell{\n",
" //width: 950px;\n",
" margin-left: 0% !important;\n",
" margin-right: auto;\n",
" }\n",
" div.text_cell_render{\n",
" font-family: 'Lora';\n",
" line-height: 125%;\n",
" font-size: 100%;\n",
" text-align: justify;\n",
" text-justify:inter-word;\n",
" }\n",
" div.text_cell code {\n",
" background: transparent;\n",
" color: #000000;\n",
" font-weight: 400;\n",
" font-size: 11pt;\n",
" font-family: 'Source Code Pro', Consolas, monocco, monospace;\n",
" }\n",
" h1 {\n",
" font-family: 'Open sans',verdana,arial,sans-serif;\n",
"\t}\n",
"\n",
" div.input_area {\n",
" background: #F6F6F9;\n",
" border: 1px solid #586e75;\n",
" }\n",
"\n",
" .text_cell_render h1 {\n",
" font-weight: 200;\n",
" font-size: 30pt;\n",
" line-height: 100%;\n",
" color:#c76c0c;\n",
" margin-bottom: 0.5em;\n",
" margin-top: 1em;\n",
" display: block;\n",
" white-space: wrap;\n",
" text-align: left;\n",
" }\n",
" h2 {\n",
" font-family: 'Open sans',verdana,arial,sans-serif;\n",
" text-align: left;\n",
" }\n",
" .text_cell_render h2 {\n",
" font-weight: 200;\n",
" font-size: 16pt;\n",
" font-style: italic;\n",
" line-height: 100%;\n",
" color:#c76c0c;\n",
" margin-bottom: 0.5em;\n",
" margin-top: 1.5em;\n",
" display: block;\n",
" white-space: wrap;\n",
" text-align: left;\n",
" }\n",
" h3 {\n",
" font-family: 'Open sans',verdana,arial,sans-serif;\n",
" }\n",
" .text_cell_render h3 {\n",
" font-weight: 200;\n",
" font-size: 14pt;\n",
" line-height: 100%;\n",
" color:#d77c0c;\n",
" margin-bottom: 0.5em;\n",
" margin-top: 2em;\n",
" display: block;\n",
" white-space: wrap;\n",
" text-align: left;\n",
" }\n",
" h4 {\n",
" font-family: 'Open sans',verdana,arial,sans-serif;\n",
" }\n",
" .text_cell_render h4 {\n",
" font-weight: 100;\n",
" font-size: 14pt;\n",
" color:#d77c0c;\n",
" margin-bottom: 0.5em;\n",
" margin-top: 0.5em;\n",
" display: block;\n",
" white-space: nowrap;\n",
" }\n",
" h5 {\n",
" font-family: 'Open sans',verdana,arial,sans-serif;\n",
" }\n",
"\n",
" .text_cell_render h5 {\n",
" font-weight: 200;\n",
" font-style: normal;\n",
" color: #1d3b84;\n",
" font-size: 16pt;\n",
" margin-bottom: 0em;\n",
" margin-top: 0.5em;\n",
" display: block;\n",
" white-space: nowrap;\n",
" }\n",
" div.output_subarea.output_text.output_pyout {\n",
" overflow-x: auto;\n",
" overflow-y: visible;\n",
" max-height: 5000000px;\n",
" }\n",
" div.output_subarea.output_stream.output_stdout.output_text {\n",
" overflow-x: auto;\n",
" overflow-y: visible;\n",
" max-height: 5000000px;\n",
" }\n",
" div.output_wrapper{\n",
" margin-top:0.2em;\n",
" margin-bottom:0.2em;\n",
"}\n",
"\n",
" code{\n",
" font-size: 6pt;\n",
"\n",
" }\n",
" .rendered_html code{\n",
" background-color: transparent;\n",
" }\n",
" ul{\n",
" margin: 2em;\n",
" }\n",
" ul li{\n",
" padding-left: 0.5em;\n",
" margin-bottom: 0.5em;\n",
" margin-top: 0.5em;\n",
" }\n",
" ul li li{\n",
" padding-left: 0.2em;\n",
" margin-bottom: 0.2em;\n",
" margin-top: 0.2em;\n",
" }\n",
" ol{\n",
" margin: 2em;\n",
" }\n",
" ol li{\n",
" padding-left: 0.5em;\n",
" margin-bottom: 0.5em;\n",
" margin-top: 0.5em;\n",
" }\n",
" ul li{\n",
" padding-left: 0.5em;\n",
" margin-bottom: 0.5em;\n",
" margin-top: 0.2em;\n",
" }\n",
" a:link{\n",
" color:#447adb;\n",
" }\n",
" a:visited{\n",
" color: #1d3b84;\n",
" }\n",
" a:hover{\n",
" color: #1d3b84;\n",
" }\n",
" a:focus{\n",
" color:#447adb;\n",
" }\n",
" a:active{\n",
" font-weight: bold;\n",
" color:#447adb;\n",
" }\n",
" .rendered_html :link {\n",
" text-decoration: underline;\n",
" }\n",
" .rendered_html :hover {\n",
" text-decoration: none;\n",
" }\n",
" .rendered_html :visited {\n",
" text-decoration: none;\n",
" }\n",
" .rendered_html :focus {\n",
" text-decoration: none;\n",
" }\n",
" .rendered_html :active {\n",
" text-decoration: none;\n",
" }\n",
" .warning{\n",
" color: rgb( 240, 20, 20 )\n",
" }\n",
" hr {\n",
" color: #f3f3f3;\n",
" background-color: #f3f3f3;\n",
" height: 1px;\n",
" }\n",
" blockquote{\n",
" display:block;\n",
" background: #fcfcfc;\n",
" border-left: 5px solid #c76c0c;\n",
" font-family: 'Open sans',verdana,arial,sans-serif;\n",
" width:680px;\n",
" padding: 10px 10px 10px 10px;\n",
" text-align:justify;\n",
" text-justify:inter-word;\n",
" }\n",
" blockquote p {\n",
" margin-bottom: 0;\n",
" line-height: 125%;\n",
" font-size: 100%;\n",
" }\n",
"</style>\n",
"<script>\n",
" MathJax.Hub.Config({\n",
" TeX: {\n",
" extensions: [\"AMSmath.js\"],\n",
" equationNumbers: { autoNumber: \"AMS\", useLabelIds: true}\n",
" },\n",
" tex2jax: {\n",
" inlineMath: [ ['$','$'], [\"\\\\(\",\"\\\\)\"] ],\n",
" displayMath: [ ['$$','$$'], [\"\\\\[\",\"\\\\]\"] ]\n",
" },\n",
" displayAlign: 'center', // Change this to 'center' to center equations.\n",
" \"HTML-CSS\": {\n",
" scale: 95,\n",
" availableFonts: [],\n",
" preferredFont:null,\n",
" webFont: \"TeX\",\n",
" styles: {'.MathJax_Display': {\"margin\": 4}}\n",
" },\n",
" \"fast-preview\": {\n",
" \"disabled\": false\n",
" }\n",
" });\n",
"</script>\n"
],
"text/plain": [
"<IPython.core.display.HTML object>"
]
},
"execution_count": 1,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"#format the book\n",
"from __future__ import division, print_function\n",
"%matplotlib inline\n",
"from book_format import load_style\n",
"load_style()"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": true,
"jupyter": {
"outputs_hidden": true
}
},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": true,
"jupyter": {
"outputs_hidden": true
}
},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": true,
"jupyter": {
"outputs_hidden": true
}
},
"outputs": [],
"source": []
}
@ -38,60 +321,9 @@
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.10"
},
"nbdime-conflicts": {
"local_diff": [
{
"diff": [
{
"diff": [
{
"diff": [
{
"key": 4,
"op": "addrange",
"valuelist": "10"
},
{
"key": 4,
"length": 1,
"op": "removerange"
}
],
"key": 0,
"op": "patch"
}
],
"key": "version",
"op": "patch"
}
],
"key": "language_info",
"op": "patch"
}
],
"remote_diff": [
{
"diff": [
{
"diff": [
{
"key": 0,
"length": 1,
"op": "removerange"
}
],
"key": "version",
"op": "patch"
}
],
"key": "language_info",
"op": "patch"
}
]
"version": "3.7.6"
}
},
"nbformat": 4,
"nbformat_minor": 1
"nbformat_minor": 4
}