Changes to condense material.

Lots of small changes to try to get page count down. I'm not liking
this.
This commit is contained in:
Roger Labbe committed 2015-04-20 17:14:51 -07:00
1 parent dda63fb329
commit 8bae16b811
10 files changed
+963 -931

No files matched your search

Binary file not shown.

Before

Width:  |  Height:  |  Size: 690 KiB

After

Width:  |  Height:  |  Size: 501 KiB

+544 -317
View File
@@ -1,324 +1,551 @@
{
"metadata": {
"name": "",
"signature": "sha256:67b73f8366759bb2837043e5a461a7ce4ff077967115f36e8017eaa1318f1c0f"
},
"nbformat": 3,
"nbformat_minor": 0,
"worksheets": [
"cells": [
{
"cells": [
"cell_type": "code",
"execution_count": 17,
"metadata": {
"collapsed": false
},
"outputs": [
{
"cell_type": "code",
"collapsed": false,
"input": [
"from __future__ import division, print_function\n",
"%matplotlib inline\n",
"import sys\n",
"sys.path.insert(0,'..') # allow us to format the book\n",
"sys.path.insert(0,'../code') \n",
"# use same formatting as rest of book so that the plots are\n",
"# consistant with that look and feel.\n",
"import book_format\n",
"book_format.load_style(directory='..')"
],
"language": "python",
"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=Vollkorn');\n",
"@import url('http://fonts.googleapis.com/css?family=Arimo');\n",
"\n",
" div.cell{\n",
" width: 850px;\n",
" margin-left: 0% !important;\n",
" margin-right: auto;\n",
" }\n",
" div.text_cell code {\n",
" background: transparent;\n",
" color: #000000;\n",
" font-weight: 600;\n",
" font-size: 11pt;\n",
" font-style: bold;\n",
" font-family: 'Source Code Pro', Consolas, monocco, monospace;\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",
" .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: 16pt;\n",
" font-style: italic;\n",
" line-height: 100%;\n",
" color:#c76c0c;\n",
" margin-bottom: 0.5em;\n",
" margin-top: 1.5em;\n",
" display: inline;\n",
" white-space: wrap;\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: nowrap;\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",
" .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.text_cell_render{\n",
" font-family: 'Arimo',verdana,arial,sans-serif;\n",
" line-height: 125%;\n",
" font-size: 120%;\n",
" width:740px;\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: 50000px;\n",
" }\n",
" div.output_subarea.output_stream.output_stdout.output_text {\n",
" overflow-x: auto;\n",
" overflow-y: scroll;\n",
" max-height: 50000px;\n",
" }\n",
" div.output_wrapper{\n",
" margin-top:0.2em;\n",
" margin-bottom:0.2em;\n",
"}\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",
" scale:85,\n",
" styles: {'.MathJax_Display': {\"margin\": 4}}\n",
" }\n",
" });\n",
"</script>\n"
],
"text/plain": [
"<IPython.core.display.HTML object>"
]
},
"execution_count": 17,
"metadata": {},
"outputs": [
{
"html": [
"<style>\n",
"@import url('http://fonts.googleapis.com/css?family=Source+Code+Pro');\n",
"@import url('http://fonts.googleapis.com/css?family=Vollkorn');\n",
"@import url('http://fonts.googleapis.com/css?family=Arimo');\n",
"\n",
" div.cell{\n",
" width: 850px;\n",
" margin-left: 0% !important;\n",
" margin-right: auto;\n",
" }\n",
" div.text_cell code {\n",
" background: transparent;\n",
" color: #000000;\n",
" font-weight: 600;\n",
" font-size: 11pt;\n",
" font-style: bold;\n",
" font-family: 'Source Code Pro', Consolas, monocco, monospace;\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",
" .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: 'Arimo',verdana,arial,sans-serif;\n",
" line-height: 135%;\n",
" font-size: 125%;\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: 50000px;\n",
" }\n",
" div.output_subarea.output_stream.output_stdout.output_text {\n",
" overflow-x: auto;\n",
" overflow-y: scroll;\n",
" max-height: 50000px;\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": "pyout",
"prompt_number": 3,
"text": [
"<IPython.core.display.HTML at 0x7fc8b024ce80>"
]
}
],
"prompt_number": 3
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"from gif_animate import animate\n",
"from stats import gaussian\n",
"\n",
"def plt_g (mu, variance):\n",
" xs = np.arange(2,8,0.05)\n",
" ys = [gaussian (x, mu, variance) for x in xs]\n",
" plt.plot (xs, ys)\n",
" plt.ylim((0,1))\n",
"\n",
"\n",
"mu = 2\n",
"sigma = 0.6\n",
"def ganimate(frame):\n",
" global mu, sigma\n",
" if frame < 25:\n",
" mu += .2\n",
" elif frame == 25:\n",
" mu = 5\n",
" elif frame < 37:\n",
" sigma -= 0.05\n",
" else:\n",
" sigma += 0.05\n",
" \n",
" plt.cla()\n",
" plt_g(mu,sigma)\n",
"\n",
"animate('04_gaussian_animate.gif', ganimate, frames=80, interval=50)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "display_data",
"png": "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\nq1FeXg5fX1/Ex8e3PSNYUVGhcdanUCiwe/du/P73v8eECRNgZGSEmJgYrFmz5v69CyIiorvQrYEx\ny5cvx/Lly7W2bdy4sd02e3t7bNu27d4qIyIius84dygREQmLIUhERMJiCBIRkbAYgkREJCyGIBER\nCYshSEREwmIIEhGRsBiCREQkLIYgEREJiyFIRETCYggSEZGwGIJERCQshiAREQmLIUhERMJiCBIR\nkbAYgkREJCyGIBERCYshSEREwmIIEhGRsBiCREQkLIYgEREJiyFIRETCYggSEZGwGIJERCQshiAR\nEQmLIUhERMJiCBIRkbAYgkREJCyGIBERCYshSEREwmIIEhGRsBiCREQkLIYgEREJiyFIRETCYggS\nEZGwGIJERCQshiAREQmLIUhERMJiCBIRkbAYgkREJCyGIBERCYshSEREwmIIEhGRsBiCREQkLIYg\nEREJiyFIRETCYggSEZGwGIJERCQshiAREQmLIUhERMJiCBIRkbAYgkREJCyGIBERCYshSEREwmII\nEhGRsBiCREQkLIYgEREJiyFIRETCYggSEZGwGIJERCQshiAREQmLIUhERMJiCBIRkbAYgkREJCyG\nIBERCYshSEREwupWCK5btw7u7u4wMjJCUFAQUlJSuvXiZ8+ehZmZGczMzO6pSCIiovuhyxDcunUr\nVqxYgVdeeQVZWVkICwvD1KlTUVpa2ul+LS0tWLBgASIjI6FQKHqsYCIiop7SZQiuWbMGS5YswdKl\nS+Ht7Y33338fDg4OWL9+faf7rVq1Cv7+/pg7dy4kSeqxgomIiHpKpyHY0tKCzMxMxMTEaGyPiYlB\nampqh/vt2bMHe/bswQcffMAAJCKiPku3s8Zr165BpVLBzs5OY7utrS0qKiq07lNWVoann34aO3bs\ngLGxcbcLycjI6HbfgY7H4v/wWGji8dDE46GJx+Nnnp6e3e7b46NDH3/8cSxfvhzBwcE9/dJEREQ9\nqtMzQWtra+jo6KCyslJje2VlJRwcHLTuk5iYiOTkZLz++usAAEmSoFaroaenh/Xr1+M3v/mN1v2C\ngoLupv4B5Zff4ngseCxux+OhicdDE4+Hppqamm737TQE9fX1ERgYiP3792P27Nlt2xMSEjB37lyt\n+5w+fVrj3zt27MBf//pXpKenw9HRsduFERER3W+dhiAArFy5Eo8//jhCQkIQFhaGjz76CBLine truncated
"text": [
"<matplotlib.figure.Figure at 0x7fc8aff6f9e8>"
]
}
],
"prompt_number": 4
},
{
"cell_type": "code",
"collapsed": false,
"input": [],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 2
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<img src='04_gaussian_animate.gif'>"
]
"output_type": "execute_result"
}
],
"metadata": {}
"source": [
"from __future__ import division, print_function\n",
"%matplotlib inline\n",
"import sys\n",
"sys.path.insert(0,'..') # allow us to format the book\n",
"sys.path.insert(0,'../code') \n",
"# use same formatting as rest of book so that the plots are\n",
"# consistant with that look and feel.\n",
"import book_format\n",
"book_format.load_style(directory='..')"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {
"collapsed": false,
"scrolled": true
},
"outputs": [
{
"data": {
"image/png": [
"iVBORw0KGgoAAAANSUhEUgAAAaIAAAEWCAYAAAAkUJMMAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\n",
"AAALEgAACxIB0t1+/AAAIABJREFUeJzt3XtUlOedB/DvzHC/CsLAAMP9fhcQFfGSBElIjLUbNZet\n",
"rTa7adwmG5PN2ZSsbZLVJG3dYxtTNWmao0nabk36R9ImxKj1BoIRROQi90EuwgwXlZtcZ979w8qG\n",
"Og4YYR5gvp9zPCc8PM/M75HId973fd7nlUmSJIGIiEgQuegCiIjIsjGIiIhIKAYREREJxSAiIiKh\n",
"GERERCQUg4iIiIRiEBERkVATBtGpU6ewZs0a+Pn5QS6X44MPPpjwRcvKyrBixQo4ODjAz88P27dv\n",
"n5JiiYho7pkwiPr7+xEfH4+33noL9vb2kMlkJvv39PRg1apVUKlUKCoqwltvvYWdO3di165dU1Y0\n",
"ERHNHbI72VnB2dkZe/bswfe///3b9tm3bx+ys7Oh0+lga2sLAHj99dexb98+tLS03H3FREQ0p0z5\n",
"NaKCggIsW7ZsLIQAIDMzE62trWhsbJzqtyMiolluyoNIq9XCy8trXNvNr7Va7VS/HRERzXJWU/2C\n",
"E11D+qbu7u6pfnsiIpphXF1dTX5/yo+IvL29bzny0el0Y98jIiL6pikPoiVLliA3NxdDQ0NjbUeO\n",
"HIGvry8CAgKm+u2IiGiWm/DUXH9/P2prawEABoMBjY2NKCkpwfz586FWq5GdnY3CwkIcPXoUAPDE\n",
"E0/gtddew6ZNm7Bt2zZUV1fjF7/4BV599VWT7zPRodtcUlRUBABISUkRXIn5ce6WN3dLnTdg2XO/\n",
"k0svEx4RFRYWIikpCUlJSRgcHMQrr7yCpKQkvPLKKwBuLEDQaDRj/V1cXHDkyBG0trYiJSUFzz77\n",
"LF588UU8//zz32IqREQ01014RLRy5UoYDIbbfn///v23tMXGxuLkyZN3VxkREVkE7jVHRERCMYiI\n",
"iEgoBhEREQnFICIiIqEYREREJBSDiIiIhGIQERGRUAwiIiISikFERERCMYiIiEgoBhEREQnFICIi\n",
"IqEYREREJBSDiIiIhGIQERGRUAwiIiISikFERERCMYiIiEgoBhEREQnFICIiIqEYREREJBSDiIiI\n",
"hGIQERGRUAwiIiISikFERERCMYiIiEgoBhEREQnFICIiIqEYREREJBSDiIiIhGIQERGRUAwiIiIS\n",
"ikFERERCMYiIiEgoBhEREQnFICIiIqEYREREJNSkgmjv3r0ICgqCvb09UlJSkJeXZ7J/Tk4OFi9e\n",
"DBcXF3h6emLt2rWora2dkoKJiGhumTCIDh48iK1bt2Lbtm0oKSlBWloasrKy0NzcbLR/XV0d1q5d\n",
"i5UrV6KkpARHjx7F4OAgHnzwwSkvnoiIZr8Jg2jXrl3YvHkznnzySURERGD37t1QqVTYt2+f0f4l\n",
"JSUwGAx48803ERwcjISEBLz00kuor6/HlStXpnwCREQ0u5kMouHhYRQXFyMzM3Nce2ZmJvLz842O\n",
"Wbp0KZycnPDee+9Br9ejt7cXBw4cQGpqKtzd3aeuciIimhNMBlFnZyf0ej28vLzGtSuVSmi1WqNj\n",
"VCoVcnJysG3bNtjZ2WHevHmoqKjAX//616mrmoiI5gyrqX5BjUaDtWvXYvPmzXjiiSfQ09ODn/3s\n",
"Z9iwYQOOHTsGmUxmdFxRUdFUlzLjWeKcb+LcLY+lzhuwzLmHhYVNuq/JIPLw8IBCoYBOpxvXrtPp\n",
"oFKpjI559913oVar8Ytf/GKs7fe//z3UajUKCgqQlpY26eKIiGjuMxlENjY2SE5OxuHDh/HII4+M\n",
"tR85cgTr1683OkaSJMjl48/43fzaYDDc9r1SUlImXfRsd/PTkSXN+SbO3fLmbqnzBix77t3d3ZPu\n",
"O+GquRdeeAEHDhzA+++/j8rKSjz33HPQarV4+umnAQDZ2dnIyMgY679mzRoUFxdj+/btqK2tRXFx\n",
"MTZv3gx/f38kJyd/i+kQEdFcNuE1og0bNqCrqws7duxAW1sb4uLikJOTA7VaDQDQarXQaDRj/dPT\n",
"03Hw4EH8/Oc/xy9/+Us4ODhgyZIlOHToEOzt7advJkRENCtNarHCli1bsGXLFqPf279//y1t69at\n",
"w7p16+6uMiIisgjca46IiIRiEBERkVAMIiIiEopBREREQjGIiIhIKAYREREJxSAiIiKhGERERCQU\n",
"g4iIiIRiEBERkVAMIiIiEopBREREQjGIiIhIKAYREREJxSAiIiKhGERERCQUg4iIiIRiEBERkVAM\n",
"IiIiEopBREREQjGIiIhIKAYREREJxSAiIiKhGERERCQUg4iIiIRiEBERkVAMIiIiEopBREREQjGI\n",
"iIhIKAYREREJxSAiIiKhGERERCQUg4iIiIRiEBERkVAMIiIiEopBREREQjGIiIhIqEkF0d69exEU\n",
"FAR7e3ukpKQgLy9vwjG//vWvERkZCTs7O/j4+CA7O/uuiyUiornHaqIOBw8exNatW7Fv3z6kp6dj\n",
"z549yMrKwsWLF6FWq42OeeGFF/DFF1/gf/7nfxAXF4fu7m60tbVNefFERDT7TRhEu3btwubNm/Hk\n",
"k08CAHbv3o1Dhw5h3759eOONN27pX11djd/85jcoKytDRETEWHtCQsIUlk1ERHOFyVNzw8PDKC4u\n",
"RmZm5rj2zMxM5OfnGx3z2WefITg4GDk5OQgODkZQUBA2bdqEjo6OqauaiIjmDJNHRJ2dndDr9fDy\n",
"8hrXrlQqodVqjY7RaDRobGzExx9/jA8//BAA8OKLL+Lhhx9GQUEBZDKZ0XFFRUXfpv5ZzRLnfBPn\n",
"bnksdd6AZc49LCxs0n0nPDV3pwwGA4aGhvDRRx8hNDQUAPDRRx8hIiICRUVFWLhw4VS/JRERzWIm\n",
"g8jDwwMKhQI6nW5cu06ng0qlMjpGpVLByspqLIQAIDQ0FAqFAk1NTbcNopSUlDutfda6+enIkuZ8\n",
"E+dueXO31HkDlj337u7uSfc1eY3IxsYGycnJOHz48Lj2I0eOIC0tzeiY9PR0jI6OQqPRjLVpNBro\n",
"9XoEBARMujAiIrIME95H9MILL+DAgQN4//33UVlZieeeew5arRZPP/00ACA7OxsZGRlj/TMyMpCU\n",
"lIQf/vCHKCkpwfnz5/HDH/4QixcvtshPBUREZNqE14g2bNiArq4u7NixA21tbYiLi0NOTs7YPURa\n",
"rXbc0Y9MJsPnn3+Of//3f8fy5cthb2+PzMxM7Nq1a/pmQUREs9akFits2bIFW7ZsMfq9/fv339Lm\n",
"7e2Njz/++O4qIyIii8C95oiISCgGERERCcUgIiIioRhEREQkFIOIiIiEYhAREZFQDCIiIhKKQURE\n",
"REIxiIiISCgGERERCcUgIiIioRhEREQkFIOIiIiEYhAREZFQDCIiIhKKQUREREIxiIiISCgGERER\n",
"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\n",
"AAAASUVORK5CYII=\n"
],
"text/plain": [
"<matplotlib.figure.Figure at 0x7fc3f902ea58>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import numpy as np\n",
"import matplotlib.pyplot as plt\n",
"from gif_animate import animate\n",
"from stats import gaussian\n",
"import matplotlib.pylab as pylab\n",
"from matplotlib import animation\n",
"\n",
"\n",
"def plt_g (mu, variance):\n",
" xs = np.arange(2,8,0.05)\n",
" ys = [gaussian (x, mu, variance) for x in xs]\n",
" plt.plot (xs, ys)\n",
" plt.ylim((0,1))\n",
"\n",
"\n",
"mu = 2\n",
"sigma = 0.6\n",
"def ganimate(frame):\n",
" global mu, sigma\n",
" if frame < 25:\n",
" mu += .2\n",
" elif frame == 25:\n",
" mu = 5\n",
" elif frame < 37:\n",
" sigma -= 0.05\n",
" else:\n",
" sigma += 0.05\n",
"\n",
" plt.cla()\n",
" plt_g(mu,sigma)\n",
"\n",
"animate('04_gaussian_animate.gif', ganimate, \n",
" frames=80, interval=50, figsize=(6,4))"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": []
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"<img src='04_gaussian_animate.gif'>"
]
}
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.4.2"
}
},
"nbformat": 4,
"nbformat_minor": 0
}