Commit Graph
100 Commits
Author SHA1 Message Date
Roger Labbe d15845bde8 I reversed the explanation of product/sum for Gaussians, saying the
sum is proportional and the product is Normal. Of course the reverse
is true.
2017-06-12 09:35:55 -07:00
Roger Labbe 529585a4c8 Issue #144 - update variable est/prediction names
I erroneously named the prediction of x x_est, which is confusing at best.

There were also issues with plotsize. The %matplotlib notebook magic
is resetting the size of the plots. Not sure if this has something to do
with some of my plotting code or not. Anyway, I wrote a context manager
to reset the plot size after exiting interactive mode.
2017-06-12 09:30:27 -07:00
Roger Labbe 000122a3ab Merge pull request #155 from jeffrimko/master
Minor typo fixes.
2017-06-12 08:17:54 -07:00
Roger Labbe 0a66218980 Merge pull request #153 from senden9/patch-2
Fix formation in heading in README.md
2017-06-12 08:16:06 -07:00
Roger Labbe 7fda1ccd01 Merge pull request #150 from dschuler/master
Add 'Estimates' to legend

I added a comment header to the plotting routine, and renamed `retval` to `lines` (I prefer meaningful names whenever possible.
2017-06-12 08:15:43 -07:00
Roger Labbe e16af3c383 Create book_plots.py 2017-06-12 08:14:39 -07:00
Roger Labbe e6f91acf79 Merge pull request #149 from alexwal/patch-1
Fixed continuous Bayes' Rule formula
2017-06-12 08:05:54 -07:00
Roger Labbe 04f8235c43 I was multiply the noise generated by randn() by dt, which makes
no sense.
2017-05-11 13:27:05 -07:00
Roger Labbe d2f247da20 I dropped two square terms in the derivation for the sum of
Gaussians; the remaining math was correct.
2017-05-11 13:24:35 -07:00
Roger Labbe 99193f7e26 this was just in text, but I used self.W[i], and it should have been
self.Wc[i].
2017-05-11 13:20:37 -07:00
Roger Labbe e82f2184d8 Merge pull request #136 from asmwarrior/patch-1
Update 03-Gaussians.ipynb
2017-05-11 13:18:26 -07:00
Roger Labbe 5a0e84f5fc Merge pull request #142 from horaceheaven/horaceheaven-patch
Fix readme typo
2017-05-11 13:18:00 -07:00
Roger Labbe 171b8649c2 Merge pull request #143 from horaceheaven/patch-1
Fix: 'to' missing from sentence
2017-05-11 13:16:32 -07:00
Roger Labbe 3d288d60d6 The base python installation has a file code.py; this causes
problems when trying to import files from the code subdirectory.

I also tried to rearange some code so that book_format does not need
to be imported if you are not running in a Jupyter Notebook.
2017-05-11 13:13:17 -07:00
Roger Labbe 3639394a12 Slight rewording for clarity. 2017-01-18 12:24:57 -08:00
Roger Labbe c97186c8b4 Fixed PDF generation re %matplotlib magic
Fixed the scripts that comment out the matplotlib magic.
It was commenting out all of the magics - the first one, and
ones in markdown cells. It should only comment out the ones
in code cells, and leave the first one.
2017-01-18 12:23:06 -08:00
Roger Labbe 91e9e08377 Removed #reset from magic
I was using comment to detect which %matplotlib inline to comment
out to generate the PDF but it generates a UsageError. I need to make
my script smarter instead. The problem is that I don't want to remove
the first inline definition
2017-01-18 10:59:43 -08:00
Roger Labbe f0e78c7037 Merge branch 'master' of https://github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python 2017-01-18 09:21:43 -08:00
Roger Labbe 6bafbd490e I switched the weight gain guess back to 1 (the corrct value - of
course the filter would find the right answer. Leaving at -1 shows
that the filter works well even when the initial estimate is incorrect.
2017-01-18 09:20:15 -08:00
Roger Labbe ebb8bceeab Add SpaceX reference to readme 2017-01-16 08:33:18 -08:00
Roger Labbe 6dc3dbaef9 Text had ```Python (capitalized), which renders fine in the local
notebook, nbviewer, and elsewhere, but not on github for some reason.
2017-01-14 15:11:32 -08:00
Roger Labbe 8463014958 Disable interactive plots for PDF.
nbconvert cannot output interactive plots to PDF. I wrote code
to remove all of the %matplotlib notebook magic, rerun the notebooks,
and then create the PDF.
2017-01-14 13:15:24 -08:00
Roger Labbe e2405b23d5 Merge branch 'master' of https://github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python 2017-01-14 09:05:11 -08:00
Roger Labbe fbd2655dc3 Typo fix. 2017-01-14 09:05:00 -08:00
Roger Labbe b161c6d35c Merge pull request #130 from senden9/patch-1
Fix typo in README.md
2017-01-14 09:03:52 -08:00
Roger Labbe c3c5616eac Merge pull request #129 from marcae777/master
Fixed formula in Kalman Filter Math
2017-01-14 09:03:35 -08:00
Roger Labbe 9c8b113259 Merge pull request #128 from MattHeard/master
Correct minor typo
2017-01-14 09:02:21 -08:00
Roger Labbe e4b05feabf Merge pull request #126 from sauravrt/master
Chapter 7 Fix LTI system theory equation for phi(t)
2017-01-14 09:01:38 -08:00
Roger Labbe 360eccb371 Minor spelling correction. 2016-12-09 12:24:37 -08:00
Roger Labbe 5bac8fbbbc Fixed formatting to generate book.
Some tables had two header specifications for 3 columns. Rendered
in the browswer, but not in latex. Not sure how that happened,
I don't think I changed that code and the pdf used to build.
2016-11-08 06:55:31 -08:00
Roger Labbe bfdc23fa77 Checked in a temporary test file by mistake 2016-11-02 08:39:38 -07:00
Roger Labbe 83f6795f72 Wording changes. 2016-11-02 08:38:18 -07:00
Roger Labbe 55d73b21de Improved installation instructions. 2016-09-25 12:46:23 -07:00
Roger Labbe 4b93469205 correction: lets to let's.
grammar is our friend.
2016-09-25 12:36:14 -07:00
Roger Labbe ae45efc403 Updated binder instructions.
It is not experimental, it is the best way to use online. Also,
removed the mention of sagemath, that is too complicated to use.
2016-09-25 11:43:49 -07:00
Roger Labbe c2548702d9 Some work on HTML conversion.
Not happy with the output yet. The advantage of HTML output is
interactive plots are displayed in the output, whereas they are
not in the PDF output.
2016-09-25 11:31:48 -07:00
Roger Labbe dbdf3541f2 Updated to specify Jupyter, not ipython. 2016-09-25 11:30:01 -07:00
Roger Labbe e289a2841f Minor word smithing. 2016-09-25 10:10:53 -07:00
Roger Labbe 91e603c592 Merge branch 'master' of https://github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python 2016-09-23 12:49:37 -07:00
Roger Labbe 0b358aca26 Merge pull request #123 from ASunday47/patch-2
Update 07-Kalman-Filter-Math.ipynb
2016-09-23 12:49:25 -07:00
Roger Labbe 30874bae62 Issue #122.
Description of ellipse shape was incorrect.

While I was changing this, I also alterted the plots to make them
more readalbe.
2016-09-23 12:08:39 -07:00
Roger Labbe b88a05d307 Merge pull request #119 from SonienTaegi/patch-1
mkf_internal.py : Fix duplicated parameter in plt.scatter(...)
2016-09-20 11:23:12 -07:00
Roger Labbe 81ab95d5a9 Slighly improved discussion of UKF weights.
I wrongly stated that weights must sum to one. they don't.
I clarified this, but did not explain *why* Merwe weights are so large,
and/or negative. this needs to be improved.
2016-09-20 07:40:27 -07:00
Roger Labbe 2743b78db5 Removed temporary files and test code.
I made some changes while testing the plotting change in the last checkin,
and it inadvertantly got checked in.
2016-09-20 06:56:44 -07:00
Roger Labbe 96749eb378 Fixed interactive plots for PDF.
the plots generated by interactive plots (%matplotlib notebook) do
not show up in the PDF. This has meant that I haven't been able to
update the PDF since febuary. I switched the default plotting
mechanism to noninteractive.
2016-09-20 06:49:15 -07:00
Roger Labbe 97f3f64efb Fixed plots to work in PDF
The interactive plots do not display in the generated PDF. I have
fixed this so we can generate the PDF again.
2016-09-12 20:04:53 -07:00
Roger Labbe b28158e6dd Last checkin ran with %matplotlib inline.
That was test code, it should be %matplotlib notebook
2016-09-12 18:15:08 -07:00
Roger Labbe 68b2ee27f9 Reran cells to generate plots 2016-09-12 18:12:11 -07:00
Roger Labbe 681e19ba47 Issue #117. Invalid shortened URL. 2016-09-12 18:07:14 -07:00
Roger Labbe 32848496e7 Merge branch 'master' of https://github.com/rlabbe/Kalman-and-Bayesian-Filters-in-Python 2016-09-12 17:39:30 -07:00
Roger Labbe b330aacc4b Issue #115. Wording error.
'measuremet' was used; it should have been 'velocity'.
2016-09-12 17:37:50 -07:00
Roger Labbe c246aa0acb Bug where animation not cleared between frames 2016-09-12 17:36:30 -07:00
Roger Labbe 9d95bd0714 Merge pull request #116 from esvhd/nb05_typo_fix
Fixed two typos in notebook 5 Multivariate Gaussians.
2016-09-12 17:34:10 -07:00
Roger Labbe 19deda37ee Issue #112 interactive_gh uses global data
interactive_gh() uses zs, which is global data, so if you run
another cell that assigns to z, then drag the sliders without
rerunning the cell that uses interactive_gh(), you get the
reassigned zs value.
2016-08-28 15:19:37 -07:00
Roger Labbe 2128710f41 Normalized with Preface.
The README contains text esssentially identical to the preface. However,
there were some notable differences, which I have fixed.
2016-08-28 14:42:02 -07:00
Roger Labbe 7b6151e1e4 Reran cells.
Many of the plots were not generated, which makes the chapter
unreadable on github.
2016-08-28 12:54:50 -07:00
Roger Labbe e9145dbc62 Deleted obsolete file particle_filter.py 2016-08-28 12:48:47 -07:00
Roger Labbe afab63ec2f Issue #103. Completed unfinished section.
The first section of the README was incomplete.
2016-08-28 12:23:33 -07:00
Roger Labbe 0ce8792340 Reran cells - checked in version had no plots. 2016-08-28 11:45:22 -07:00
Roger Labbe cab54e11d6 Issue #95. Incorrect notation for process model.
I used the Fundaental matrix F when I should have used the
system dynamics matrix A.
2016-08-28 11:00:45 -07:00
Roger Labbe d31721aa0f Discrete_bayes_sim() wasn't displaying the graphs because plt.show()
was missing from the end of the function.
2016-08-28 08:12:03 -07:00
Roger Labbe 6914c3be77 Merge pull request #113 from neonquill/fix_typos_05
Fix a couple of typos found in Chapter 5.
2016-08-28 07:45:42 -07:00
Roger Labbe 044063363c Merge pull request #111 from neonquill/fix_train_filter
Fix train example in 02-Discrete-Bayes.
2016-08-27 08:09:41 -07:00
Roger Labbe a6cba51c0b Merge pull request #110 from Qx5/patch-1
Missing transpose in text
2016-08-27 08:01:35 -07:00
Roger Labbe 4328c397d4 Merge pull request #109 from esvhd/nb4-fix
Added missing closing bracket.
2016-08-27 07:59:15 -07:00
Roger Labbe 489084aa8f Merge pull request #102 from plusk01/lesson01_fixes
Lesson 01 Content Fixes
2016-08-27 07:58:35 -07:00
Roger Labbe 45cf59df72 Deleted reference to 6x9 version 2016-07-07 21:14:03 -07:00
Roger Labbe 5017434494 Updated link to PDF 2016-07-07 21:12:32 -07:00
Roger Labbe 6986b66f87 Merge pull request #104 from asfaltboy/patch-1
Simple grammar correction from context
2016-07-07 19:33:43 -07:00
Roger Labbe 4669507d7a Fixed computation of epoch
Section changed the time delta from 2 seconds to 1, but did not
note that in the text.
2016-06-25 15:40:53 -07:00
Roger Labbe 5fcdf5af47 Minto typos.
Courtesy of email from James Kim.
2016-06-22 19:53:33 -07:00
Roger Labbe b370e9a9a4 Typo fix.
lubkoll offered a commit, but I got a conflict and it was easier to
make the change myself.
2016-06-16 12:38:08 -07:00
Roger Labbe 0239608ab2 Issue #101. Missing plots in chapter. 2016-06-16 12:35:47 -07:00
Roger Labbe be073785c9 Revert "Merge pull request #99 from lubkoll/master"
This reverts commit 4b17de67a9, reversing
changes made to 5559d2e03f.
2016-05-25 10:48:47 -07:00
Roger Labbe 4b17de67a9 Merge pull request #99 from lubkoll/master
Fix typos in chapter 08
2016-05-25 08:39:15 -07:00
Roger Labbe 5559d2e03f Merge pull request #98 from lubkoll/master
Fix typos in chapter 04
2016-05-25 07:13:28 -07:00
Roger Labbe 510e720559 I used terms better suited to radars (elevation angle instead
of bearing, for example).
2016-05-19 18:39:26 -07:00
Roger Labbe a79153205b Issue 87. Example was linear.
I provided  a linear example for what was supposed to be a
nonlinear example.
2016-05-19 18:37:46 -07:00
Roger Labbe d89e35bbdf Fixed latex raising ^*
It works in mathjax, but the pdf convertor cannot handle it. Changing
it to ^{*} works.
2016-04-23 04:30:03 -07:00
Roger Labbe dafb047c4c Updated imports to use nondeprecated libraries 2016-04-23 04:29:31 -07:00
Roger Labbe e34c916de5 Issue #94. Eqn used x instead of \bar x.
This is in the IMM Estimate section as described in the github issue.
2016-04-23 03:41:18 -07:00
Roger Labbe a15fca8d9a Issue #94 Incorrect index in pseudocode
We are looping over j, but I used i as the index.
2016-04-23 03:33:32 -07:00
Roger Labbe 69cf5aebce I require that the cholesky return an upper triangular matrix,
but did not explain this in the text.
2016-03-26 10:09:51 -07:00
Roger Labbe 8fa2cf615c Regenerated a figure. 2016-03-26 09:38:51 -07:00
Roger Labbe ba980de88f Typos. github issue #93. 2016-03-26 09:37:37 -07:00
Roger Labbe 57b420f919 Fixed equation for Gaussian mean.
Used incorrect subscript for variance in the numerator.
2016-03-26 09:27:43 -07:00
Roger Labbe f7ee853583 Added example for 1D state vector.
I got a question about it, so tried to add an example to clarify it.
2016-03-26 09:16:10 -07:00
Roger Labbe b492c258d2 Issue #88.
Misidentified the process matrices as being x, P, when they are
F, Q.
2016-03-15 17:03:05 -07:00
Roger Labbe 38996b6d24 Merge pull request #90 from Gluttton/master
Unscented Kalman Filter: using "state sigmas" instead of "prior sigmas" in the cross-covariance equation at the predict step
2016-03-15 17:00:54 -07:00
Roger Labbe c32ca48542 Moved legends inside of plot.
The %matplotlib notebook back end does not account for things being
drown outside of the plot, and they end up getting partially or
fully cut off.
2016-03-07 07:16:59 -08:00
Roger Labbe 6f1fd2f16f Updated to use absolute imports
I used to add .\code to the path, which was an absurd hack.
Now all code is imported with import code.foo.
2016-03-06 12:02:13 -08:00
Roger Labbe fa62edccc4 Merge pull request #84 from Gluttton/master
Unscented Kalman Filter: using "state estimate" instead of "mean estimate" in the covariance equation at the predict step
2016-03-06 09:01:34 -08:00
Roger Labbe f16b43c3b4 Reran with seaborn installed
I ran several notebooks after reinstalling anaconda but I hadn't
reinstalled seaborn, so the plots didn't have the right look.
2016-03-06 08:54:19 -08:00
Roger Labbe fb21cf6313 Making book work in Python 2.7 2016-03-06 08:18:27 -08:00
Roger Labbe f62fb8bbe8 Reran with tight_layout for interactive plots
This is just so everything looks nice in nbviewer. I added
plt.tight_layout() to the interactive_plot context manager,
which makes plots fill the output cell better.
2016-02-28 09:46:06 -08:00
Roger Labbe 2594d8905c Added animated filtering
Rewrote some of the chapter examples to use animated plots. Makes
it so much easier to see how the filter is performing.
2016-02-28 08:35:51 -08:00
Roger Labbe a647f96388 Made plots interactive 2016-02-27 21:40:21 -08:00
Roger Labbe ef67326af6 Change plots to interactive plots 2016-02-27 20:52:36 -08:00
Roger Labbe f3358f44d6 Switched to interactive plotting. 2016-02-27 20:04:40 -08:00
Roger Labbe 590af94807 Switching to interactive plots 2016-02-27 18:55:34 -08:00