Got rid of section numbering, as it was messing up online nbviewer.

This commit is contained in:
Roger Labbe 2014-07-06 22:34:34 -07:00
parent 292c551b9e
commit 37fab5f35e
13 changed files with 2505 additions and 2414 deletions

View File

@ -1,7 +1,7 @@
{
"metadata": {
"name": "",
"signature": "sha256:e85b556b7979c2e385fb28768abbe1f3b234b9f3f9d9d9981bba5a945cc7d551"
"signature": "sha256:0cee74bbc347583f138d62e7fd98e2e82f11b90e2398c10fbe7f66c865143a76"
},
"nbformat": 3,
"nbformat_minor": 0,
@ -25,11 +25,7 @@
"from __future__ import division, print_function\n",
"import matplotlib.pyplot as plt\n",
"import book_format\n",
"book_format.load_style()\n",
"\n",
"#%install_ext secnum.py\n",
"#%load_ext secnum\n",
"#%secnum"
"book_format.load_style()"
],
"language": "python",
"metadata": {},
@ -246,13 +242,13 @@
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 2,
"prompt_number": 1,
"text": [
"<IPython.core.display.HTML at 0x1e888d0>"
"<IPython.core.display.HTML at 0x2ae6710>"
]
}
],
"prompt_number": 2
"prompt_number": 1
},
{
"cell_type": "heading",

View File

@ -1,7 +1,7 @@
{
"metadata": {
"name": "",
"signature": "sha256:0429c90c9b36cc68cd59fe76a34a2102793651fe7412e585c4ea6398f50fd99a"
"signature": "sha256:aff9b578dbba090922a2bed55d3d82911a7c3fc265cd40e9f17e68bbab2ce8e5"
},
"nbformat": 3,
"nbformat_minor": 0,
@ -25,11 +25,7 @@
"from __future__ import division, print_function\n",
"import matplotlib.pyplot as plt\n",
"import book_format\n",
"book_format.load_style()\n",
"\n",
"#%install_ext secnum.py\n",
"#%load_ext secnum\n",
"#%secnum"
"book_format.load_style()"
],
"language": "python",
"metadata": {},

View File

@ -1,7 +1,7 @@
{
"metadata": {
"name": "",
"signature": "sha256:cd6116a16a3f1c69eb33c20e75304e2535541d84c9849c2e98cdfccb2c84b043"
"signature": "sha256:851817f6127dcb57f996a34cf3bafc84f994f38c764af97eb71a8442b62cae41"
},
"nbformat": 3,
"nbformat_minor": 0,
@ -25,10 +25,7 @@
"from __future__ import division, print_function\n",
"import matplotlib.pyplot as plt\n",
"import book_format\n",
"book_format.load_style()\n",
"%install_ext https://raw.github.com/dpsanders/ipython_extensions/master/section_numbering/secnum.py\n",
"%load_ext secnum\n",
"%secnum"
"book_format.load_style()"
],
"language": "python",
"metadata": {},

File diff suppressed because one or more lines are too long

View File

@ -1,7 +1,7 @@
{
"metadata": {
"name": "",
"signature": "sha256:c8c5ef2a9d75930ce887514f19e5ab0d95859f408b5bcf5d2547bb57b8d0ef6d"
"signature": "sha256:b896371b827d48a658ba791bdaf8bed2d0c3878ddeea9731b9cd40ec8f9df021"
},
"nbformat": 3,
"nbformat_minor": 0,
@ -25,10 +25,7 @@
"from __future__ import division, print_function\n",
"import matplotlib.pyplot as plt\n",
"import book_format\n",
"book_format.load_style()\n",
"%install_ext https://raw.github.com/dpsanders/ipython_extensions/master/section_numbering/secnum.py\n",
"%load_ext secnum\n",
"%secnum"
"book_format.load_style()"
],
"language": "python",
"metadata": {},

View File

@ -25,10 +25,7 @@
"from __future__ import division, print_function\n",
"import matplotlib.pyplot as plt\n",
"import book_format\n",
"book_format.load_style()\n",
"%install_ext https://raw.github.com/dpsanders/ipython_extensions/master/section_numbering/secnum.py\n",
"%load_ext secnum\n",
"%secnum"
"book_format.load_style()"
],
"language": "python",
"metadata": {},

View File

@ -1,7 +1,7 @@
{
"metadata": {
"name": "",
"signature": "sha256:9099cd7daae7d707a0f40a82136404f387af52df47c58d57a63f06db7c28b2bc"
"signature": "sha256:fdd9588156d15653acb028f0f53de8dea2e5576bfa2c820eb3ee2128eda73c13"
},
"nbformat": 3,
"nbformat_minor": 0,
@ -25,10 +25,7 @@
"from __future__ import division, print_function\n",
"import matplotlib.pyplot as plt\n",
"import book_format\n",
"book_format.load_style()\n",
"%install_ext https://raw.github.com/dpsanders/ipython_extensions/master/section_numbering/secnum.py\n",
"%load_ext secnum\n",
"%secnum"
"book_format.load_style()"
],
"language": "python",
"metadata": {},

View File

@ -25,10 +25,7 @@
"from __future__ import division, print_function\n",
"import matplotlib.pyplot as plt\n",
"import book_format\n",
"book_format.load_style()\n",
"%install_ext https://raw.github.com/dpsanders/ipython_extensions/master/section_numbering/secnum.py\n",
"%load_ext secnum\n",
"%secnum"
"book_format.load_style()"
],
"language": "python",
"metadata": {},

View File

@ -1,7 +1,7 @@
{
"metadata": {
"name": "",
"signature": "sha256:a99c80ee33c889d337e7c98906135c5be7203be21423375ba59d0399563d8508"
"signature": "sha256:f0360fc9458bd40069073ce91309aab5fcae24de06b9e4ddd9a1b31f7c2e3b96"
},
"nbformat": 3,
"nbformat_minor": 0,
@ -25,101 +25,227 @@
"from __future__ import division, print_function\n",
"import matplotlib.pyplot as plt\n",
"import book_format\n",
"book_format.load_style()\n",
"%install_ext https://raw.github.com/dpsanders/ipython_extensions/master/section_numbering/secnum.py\n",
"%load_ext secnum\n",
"%secnum"
"book_format.load_style()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"Installed secnum.py. To use it, type:\n",
" %load_ext secnum\n"
]
},
{
"javascript": [
"console.log(\"Section numbering...\");\n",
"\n",
"function number_sections(threshold) {\n",
"\n",
" var h1_number = 0;\n",
" var h2_number = 0;\n",
"\n",
" if (threshold === undefined) {\n",
" threshold = 2; // does nothing so far\n",
" }\n",
"\n",
" var cells = IPython.notebook.get_cells();\n",
" \n",
" for (var i=0; i < cells.length; i++) {\n",
"\n",
" var cell = cells[i];\n",
" if (cell.cell_type !== 'heading') continue;\n",
" \n",
" var level = cell.level;\n",
" if (level > threshold) continue;\n",
" \n",
" if (level === 1) {\n",
" \n",
" h1_number ++;\n",
" var h1_element = cell.element.find('h1');\n",
" var h1_html = h1_element.html();\n",
" \n",
" console.log(\"h1_html: \" + h1_html);\n",
"\n",
" var patt = /^[0-9]+\\.\\s(.*)/; // section number at start of string\n",
" var title = h1_html.match(patt); // just the title\n",
"\n",
" if (title != null) { \n",
" h1_element.html(h1_number + \". \" + title[1]);\n",
" }\n",
" else {\n",
" h1_element.html(h1_number + \". \" + h1_html);\n",
" }\n",
" \n",
" h2_number = 0;\n",
" \n",
"html": [
"<style>\n",
" div.cell{\n",
" width: 850px;\n",
" margin-left: 0% !important;\n",
" margin-right: auto;\n",
" }\n",
" \n",
" if (level === 2) {\n",
" \n",
" h2_number ++;\n",
" \n",
" var h2_element = cell.element.find('h2');\n",
" var h2_html = h2_element.html();\n",
"\n",
" console.log(\"h2_html: \" + h2_html);\n",
"\n",
" \n",
" var patt = /^[0-9]+\\.[0-9]+\\.\\s/;\n",
" var result = h2_html.match(patt);\n",
"\n",
" if (result != null) {\n",
" h2_html = h2_html.replace(result, \"\");\n",
" }\n",
"\n",
" h2_element.html(h1_number + \".\" + h2_number + \". \" + h2_html);\n",
" \n",
" div.text_cell code {\n",
" background: #F6F6F9;\n",
" color: #0000FF;\n",
" }\n",
" h1 {\n",
" font-family: 'Open sans',verdana,arial,sans-serif;\n",
"\t}\n",
"\t\n",
" div.input_area {\n",
" background: #F6F6F9;\n",
" border: 1px solid #586e75;\n",
" }\n",
" \n",
" }\n",
" \n",
"}\n",
"\n",
"number_sections();\n",
"\n",
"// $([IPython.evnts]).on('create.Cell', number_sections);\n",
"\n",
"$([IPython.events]).on('selected_cell_type_changed.Notebook', number_sections);\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",
" } \n",
" h2 {\n",
" font-family: 'Open sans',verdana,arial,sans-serif;\n",
" }\n",
" .text_cell_render h2 {\n",
" font-weight: 200;\n",
" font-size: 20pt;\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: nowrap;\n",
" } \n",
" h3 {\n",
" font-family: 'Open sans',verdana,arial,sans-serif;\n",
" }\n",
" .text_cell_render h3 {\n",
" font-weight: 300;\n",
" font-size: 18pt;\n",
" line-height: 100%;\n",
" color:#d77c0c;\n",
" margin-bottom: 0.5em;\n",
" margin-top: 2em;\n",
" display: block;\n",
" white-space: nowrap;\n",
" }\n",
" h4 {\n",
" font-family: 'Open sans',verdana,arial,sans-serif;\n",
" }\n",
" .text_cell_render h4 {\n",
" font-weight: 300;\n",
" font-size: 16pt;\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",
" .text_cell_render h5 {\n",
" font-weight: 300;\n",
" font-style: normal;\n",
" color: #1d3b84;\n",
" font-size: 16pt;\n",
" margin-bottom: 0em;\n",
" margin-top: 1.5em;\n",
" display: block;\n",
" white-space: nowrap;\n",
" }\n",
" div.text_cell_render{\n",
" font-family: 'Open sans',verdana,arial,sans-serif;\n",
" line-height: 135%;\n",
" font-size: 110%;\n",
" width:750px;\n",
" margin-left:auto;\n",
" margin-right:auto;\n",
" text-align:justify;\n",
" text-justify:inter-word;\n",
" }\n",
" div.output_subarea.output_text.output_pyout {\n",
" overflow-x: auto;\n",
" overflow-y: scroll;\n",
" max-height: 300px;\n",
" }\n",
" div.output_subarea.output_stream.output_stdout.output_text {\n",
" overflow-x: auto;\n",
" overflow-y: scroll;\n",
" max-height: 300px;\n",
" }\n",
" code{\n",
" font-size: 70%;\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",
" font-weight: bold;\n",
" color:#447adb;\n",
" }\n",
" a:visited{\n",
" font-weight: bold;\n",
" color: #1d3b84;\n",
" }\n",
" a:hover{\n",
" font-weight: bold;\n",
" color: #1d3b84;\n",
" }\n",
" a:focus{\n",
" font-weight: bold;\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",
" },\n",
" tex2jax: {\n",
" inlineMath: [ ['$','$'], [\"\\\\(\",\"\\\\)\"] ],\n",
" displayMath: [ ['$$','$$'], [\"\\\\[\",\"\\\\]\"] ]\n",
" },\n",
" displayAlign: 'center', // Change this to 'center' to center equations.\n",
" \"HTML-CSS\": {\n",
" styles: {'.MathJax_Display': {\"margin\": 4}}\n",
" }\n",
" });\n",
"</script>\n"
],
"metadata": {},
"output_type": "display_data"
"output_type": "pyout",
"prompt_number": 1,
"text": [
"<IPython.core.display.HTML at 0x2c2dbd0>"
]
}
],
"prompt_number": 1

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1,7 +1,7 @@
{
"metadata": {
"name": "",
"signature": "sha256:54ea380f616e75260be91fea63e27687b7f7fe4dfd03d6185542e4746e737014"
"signature": "sha256:aafd54977b9468ecacb1b47f102ef8a264ea28ee72954534f82cea6db7302f93"
},
"nbformat": 3,
"nbformat_minor": 0,
@ -25,10 +25,7 @@
"from __future__ import division, print_function\n",
"import matplotlib.pyplot as plt\n",
"import book_format\n",
"book_format.load_style()\n",
"%install_ext https://raw.github.com/dpsanders/ipython_extensions/master/section_numbering/secnum.py\n",
"%load_ext secnum\n",
"%secnum"
"book_format.load_style()"
],
"language": "python",
"metadata": {},

View File

@ -28,7 +28,7 @@
"Introduction to the Kalman filter. Explanation of the idea behind this book.\n",
"Yes, it is more or less the preface restated. will edit and delete one or the other.\n",
"\n",
"[**Chapter 0: Signals and Noise**](Nada)\n",
"[**Chapter 0: Signals and Noise**](http://nbviewer.ipython.org/urls/raw.github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python/master/Signals_and_Noise.ipynb)\n",
"\n",
"A brief introduction to signals and noise. Nomenclature and sample code.\n",
"\n",
@ -39,7 +39,7 @@
"Intuitive introduction to the g-h filter, which is a family of filters that includes the Kalman filter. Not filler - once you understand this chapter you will understand the concepts behind the Kalman filter. \n",
"\n",
"\n",
"[**Chapter 2: The Discrete Bayes Filter**](http://nbviewer.ipython.org/urls/raw.github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python/master/histogram_filter.ipynb)\n",
"[**Chapter 2: The Discrete Bayes Filter**](http://nbviewer.ipython.org/urls/raw.github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python/master/discrete_bayes.ipynb)\n",
"\n",
"Introduces the Discrete Bayes Filter. From this you will learn the probabilistic reasoning that underpins the Kalman filter in an easy to digest form.\n",
" \n",
@ -64,7 +64,7 @@
"We gotten about as far as we can without forming a strong mathematical foundation. This chapter is optional, especially the first time, but if you intend to write robust, numerically stable filters, or to read the literature, you will need to know this.\n",
" \n",
"\n",
"[**Chapter 7: Designing Kalman Filters**](not implemented)\n",
"[**Chapter 7: Designing Kalman Filters**](http://nbviewer.ipython.org/urls/raw.github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python/master/Designing_Kalman_Filters.ipynb)\n",
"\n",
"Building on material in Chapter 5, walks you through the design of several Kalman filters. Discusses, but does not solve issues like numerical stability.\n",
" \n",