From 3ffcbcb32663708303bd536891d02cee85e2db0f Mon Sep 17 00:00:00 2001 From: Roger Labbe Date: Mon, 1 Sep 2014 17:34:21 -0700 Subject: [PATCH] Fixed instructions for reading book. Some links were broken. Text was poor. --- Appendix_Installation.ipynb | 17 ++++++++++++++++- README.md | 24 ++++++++++++++++-------- 2 files changed, 32 insertions(+), 9 deletions(-) diff --git a/Appendix_Installation.ipynb b/Appendix_Installation.ipynb index a4f07e7..461d6b1 100644 --- a/Appendix_Installation.ipynb +++ b/Appendix_Installation.ipynb @@ -1,7 +1,7 @@ { "metadata": { "name": "", - "signature": "sha256:94cdbf5aba5058e918ef751741531fdbb50c0a1518b12ef801adad9cd69e0c58" + "signature": "sha256:aaedbb5dd7c16f3a7777036a6bb62b1f9c7641915224d83029f51ffbefc1d48e" }, "nbformat": 3, "nbformat_minor": 0, @@ -255,6 +255,21 @@ } ], "prompt_number": 1 + }, + { + "cell_type": "heading", + "level": 2, + "metadata": {}, + "source": [ + "This book is written in IPython Notebook, a browser based interactive Python environment that mixes Python, text, and math. I choose it because of the interactive features - I found Kalman filtering nearly impossible to learn until I started working in an interactive environment. It is difficult to form an intuition of the effect of many of the parameters that you can tune until you can change them rapidly and immediately see the output. An interactive environment also allows you to play 'what if' scenarios out. \"What if I set $\\mathbf{Q}$ to zero?\" It is trivial to find out with Ipython Notebook.\n", + "\n", + "Another reason I choose it is because I find that a typical textbook leaves many things opaque. For example, there might be a beautiful plot next to some pseudocode. That plot was produced by software, but software that is not available to me as a reader. I want everything that went into producing this book to be available to the reader. How do you plot a covariance ellipse? You won't know if you read most books. With IPython Notebook all you have to do is look at the source code.\n", + "\n", + "A downside to this format is that you have to install IPython onto your machine if you want the book's interactive features. This is normally not an onerous burden as if you are interested in programming in Python you should already have Python installed on your system. \n", + "\n", + "Still, I know I have not downloaded some IPython Notebooks that are of interest to me. There is the free nbviewer.org site which will statically render a notebook that is hosted elsewhere. My book is hosted on github, so you can always read my book for free by going to \n", + "\n" + ] } ], "metadata": {} diff --git a/README.md b/README.md index e2a1207..61ea532 100644 --- a/README.md +++ b/README.md @@ -1,9 +1,22 @@ Introductory textbook for Kalman filters and Bayesian filters. All code is written in Python, and the book itself is written in Ipython Notebook so that you can run and modify the code in the book in place, seeing the results inside the book. What better way to learn? -Reading the book + +Reading Online +-- +The quickest way to read the book is to read it online. The book is written as a collection of IPython Notebooks, an interactive, browser based system that allows you to combine text, Python, and math into your brower. The website http://nbviewer.org provides an IPython Notebook server that renders notebooks stored at github (or elsewhere). The rendering is done in real time when you load the book. If you read my book today, and then I make a change tomorrow, when you go back tomorrow you will see that change. + +You may access this book via nbviewer at any by using this address: +[*Static Version of Book*](http://nbviewer.ipython.org/github/rlabbe/Kalman-and-Bayesian-Filters-in-Python/blob/master/Introduction.ipynb) + +I periodically generate a PDF of the book from the Notebooks. I do not do this for every check in, so the PDF will usually lag the content in github and on nbviewer.org. However, I do generate it whenever I make a substantial change. + +[*PDF Version of the book*](https://github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python/blob/master/Kalman_and_Bayesian_Filters_in_Python.pdf) + + +Downloading the book ----- -There are multiple ways to read this book. However, it is intended to be interactive and I recommend using it in that form. If you install IPython on your computer and then clone this book you will be able to run all of the code in the book yourself. You can perform experiments, see how filters react to different data, see how different filters react to the same data, and so on. I find this sort of immediate feedback both vital and invigorating. You do not have to wonder "what happens if". Try it and see! +However, this book is intended to be interactive and I recommend using it in that form. If you install IPython on your computer and then clone this book you will be able to run all of the code in the book yourself. You can perform experiments, see how filters react to different data, see how different filters react to the same data, and so on. I find this sort of immediate feedback both vital and invigorating. You do not have to wonder "what happens if". Try it and see! The github pages for this project are at http://rlabbe.github.io/Kalman-and-Bayesian-Filters-in-Python/ You can clone it to your hard drive with the command @@ -13,14 +26,9 @@ Navigate to the directory, and run IPython notebook with the command ipython notebook -If you do not want to do that you can read this book online. the website [nbviewer]http://nbviewer.org provides an IPython Notebook server that renders a notebook stored at github (or elsewhere). The rendering is done in real time when you load the book. If you read my book today, and then I make a change tomorrow, when you go back tomorrow you will see that change. +If you need more instructions they are available in the static version of the book. Follow the link above, and read the installation appendix. -You may access this book via nbviewer at any by using this address: -http://nbviewer.ipython.org/github/rlabbe/Kalman-Filters-and-Random-Signals-in-Python/blob/master/Introduction.ipynb - -Finally, you may generate output in a variety of formats. I will not cover how to do that, other than to point you to [IPython nbconvert](http://ipython.org/ipython-doc/rel-1.0.0/interactive/nbconvert.html). You can convert this book into static HTML pages, latex, or PDF. While I don't recommend it particularly, it is useful for those that don't want to program and/or are working offline. - ### Version 0.0 - not ready for public consumption. In development.