j1-template 2022.4.10 → 2022.5.0.rc0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/_includes/themes/j1/modules/navigator/procedures/topsearch.proc +6 -6
- data/assets/data/fab.html +1 -1
- data/assets/data/panel.html +1 -1
- data/assets/themes/j1/adapter/js/attic.js +18 -3
- data/assets/themes/j1/adapter/js/navigator.js +19 -85
- data/assets/themes/j1/adapter/js/themer.js +5 -0
- data/assets/themes/j1/core/css/themes/unodark/bootstrap.css +23 -26
- data/assets/themes/j1/core/css/themes/unodark/bootstrap.min.css +1 -1
- data/assets/themes/j1/core/css/themes/unolight/bootstrap.css +7 -7
- data/assets/themes/j1/core/css/themes/unolight/bootstrap.min.css +2 -2
- data/assets/themes/j1/core/css/vendor.css +5 -1
- data/assets/themes/j1/core/css/vendor.min.css +1 -1
- data/assets/themes/j1/modules/backstretch/js/backstretch.js +3 -1
- data/assets/themes/j1/modules/backstretch/js/backstretch.min.js +1 -1
- data/lib/j1/commands/generate.rb +12 -1
- data/lib/j1/patches/rubygems/eventmachine-1.2.7-x64-mingw32/lib/3.0/fastfilereaderext.so +0 -0
- data/lib/j1/patches/rubygems/eventmachine-1.2.7-x64-mingw32/lib/3.0/rubyeventmachine.so +0 -0
- data/lib/j1/patches/rubygems/eventmachine-1.2.7-x64-mingw32/lib/3.1/fastfilereaderext.so +0 -0
- data/lib/j1/patches/rubygems/eventmachine-1.2.7-x64-mingw32/lib/3.1/rubyeventmachine.so +0 -0
- data/lib/j1/version.rb +1 -1
- data/lib/starter_web/Gemfile +270 -223
- data/lib/starter_web/_config.yml +6 -9
- data/lib/starter_web/_data/modules/attics.yml +13 -4
- data/lib/starter_web/_data/modules/defaults/attics.yml +1 -1
- data/lib/starter_web/_data/modules/defaults/navigator.yml +3 -3
- data/lib/starter_web/_data/modules/defaults/themer.yml +1 -1
- data/lib/starter_web/_data/modules/navigator.yml +3 -3
- data/lib/starter_web/_data/modules/navigator_menu.yml +238 -157
- data/lib/starter_web/_includes/_attributes.asciidoc +575 -0
- data/lib/starter_web/_includes/attributes.asciidoc +41 -40
- data/lib/starter_web/_plugins/lunr_index.rb +1 -1
- data/lib/starter_web/assets/images/{modules/icons → icons}/asciidoc/logo-512x512.png +0 -0
- data/lib/starter_web/assets/images/{modules/icons → icons}/bokeh/bokeh-32x32.ico +0 -0
- data/lib/starter_web/assets/images/{modules/icons → icons}/bokeh/bokeh.ico +0 -0
- data/lib/starter_web/assets/images/{modules/icons → icons}/bokeh/logo-160x160.png +0 -0
- data/lib/starter_web/assets/images/{modules/icons → icons}/bootstrap/bootstrap-solid-32x32.png +0 -0
- data/lib/starter_web/assets/images/{modules/icons → icons}/bootstrap/bs-docs-masthead-pattern.png +0 -0
- data/lib/starter_web/assets/images/{modules/icons → icons}/bootstrap/scalable/bootstrap-outline.svg +0 -0
- data/lib/starter_web/assets/images/{modules/icons → icons}/bootstrap/scalable/bootstrap-punchout.svg +0 -0
- data/lib/starter_web/assets/images/{modules/icons → icons}/bootstrap/scalable/bootstrap-solid.svg +0 -0
- data/lib/starter_web/assets/images/{modules/icons → icons}/components/angular.ui.png +0 -0
- data/lib/starter_web/assets/images/{modules/icons → icons}/components/angularjs.png +0 -0
- data/lib/starter_web/assets/images/{modules/icons → icons}/components/aws.png +0 -0
- data/lib/starter_web/assets/images/{modules/icons → icons}/components/bootstrap.png +0 -0
- data/lib/starter_web/assets/images/{modules/icons → icons}/components/c9.png +0 -0
- data/lib/starter_web/assets/images/{modules/icons → icons}/components/chai.png +0 -0
- data/lib/starter_web/assets/images/{modules/icons → icons}/components/emmet.png +0 -0
- data/lib/starter_web/assets/images/{modules/icons → icons}/components/express.png +0 -0
- data/lib/starter_web/assets/images/{modules/icons → icons}/components/git.png +0 -0
- data/lib/starter_web/assets/images/{modules/icons → icons}/components/github.png +0 -0
- data/lib/starter_web/assets/images/{modules/icons → icons}/components/gulp.png +0 -0
- data/lib/starter_web/assets/images/{modules/icons → icons}/components/heroku.png +0 -0
- data/lib/starter_web/assets/images/{modules/icons → icons}/components/htmlcss-1.png +0 -0
- data/lib/starter_web/assets/images/{modules/icons → icons}/components/htmlcss-2.png +0 -0
- data/lib/starter_web/assets/images/{modules/icons → icons}/components/jasmine.png +0 -0
- data/lib/starter_web/assets/images/{modules/icons → icons}/components/javascript.png +0 -0
- data/lib/starter_web/assets/images/{modules/icons → icons}/components/jquery.png +0 -0
- data/lib/starter_web/assets/images/{modules/icons → icons}/components/kanban.png +0 -0
- data/lib/starter_web/assets/images/{modules/icons → icons}/components/leanux.png +0 -0
- data/lib/starter_web/assets/images/{modules/icons → icons}/components/linkedin.png +0 -0
- data/lib/starter_web/assets/images/{modules/icons → icons}/components/mean.png +0 -0
- data/lib/starter_web/assets/images/{modules/icons → icons}/components/mongodb.png +0 -0
- data/lib/starter_web/assets/images/{modules/icons → icons}/components/node.png +0 -0
- data/lib/starter_web/assets/images/{modules/icons → icons}/components/postgresql.png +0 -0
- data/lib/starter_web/assets/images/{modules/icons → icons}/components/protractor.png +0 -0
- data/lib/starter_web/assets/images/{modules/icons → icons}/components/rails.png +0 -0
- data/lib/starter_web/assets/images/{modules/icons → icons}/components/ruby.png +0 -0
- data/lib/starter_web/assets/images/{modules/icons → icons}/components/sass.png +0 -0
- data/lib/starter_web/assets/images/{modules/icons → icons}/components/scrum.png +0 -0
- data/lib/starter_web/assets/images/{modules/icons → icons}/components/twitter.png +0 -0
- data/lib/starter_web/assets/images/{modules/icons → icons}/github/avatar-icon.png +0 -0
- data/lib/starter_web/assets/images/icons/hyvor-talk/hyvor-logo.24x24.png +0 -0
- data/lib/starter_web/assets/images/icons/hyvor-talk/hyvor-logo.512x512.png +0 -0
- data/lib/starter_web/assets/images/icons/hyvor-talk/hyvore-talk.ico +0 -0
- data/lib/starter_web/assets/images/icons/hyvor-talk/scalable/hyvor-logo.svg +81 -0
- data/lib/starter_web/assets/images/{modules/icons → icons}/j1/favicon.ico +0 -0
- data/lib/starter_web/assets/images/{modules/icons → icons}/j1/j1-256x256.gif +0 -0
- data/lib/starter_web/assets/images/{modules/icons → icons}/j1/j1-256x256.png +0 -0
- data/lib/starter_web/assets/images/{modules/icons → icons}/j1/j1-32x32.ico +0 -0
- data/lib/starter_web/assets/images/{modules/icons → icons}/j1/j1-512x512.png +0 -0
- data/lib/starter_web/assets/images/{modules/icons → icons}/j1/j1-64x64.png +0 -0
- data/lib/starter_web/assets/images/{modules/icons → icons}/j1/j1.ico +0 -0
- data/lib/starter_web/assets/images/{modules/icons → icons}/j1/scalable/j1.svg +0 -0
- data/lib/starter_web/assets/images/{modules/icons → icons}/jupyter/jupyter-32x32.ico +0 -0
- data/lib/starter_web/assets/images/{modules/icons → icons}/jupyter/jupyter.ico +0 -0
- data/lib/starter_web/assets/images/{modules/icons → icons}/jupyter/logo.png +0 -0
- data/lib/starter_web/assets/images/{modules/icons → icons}/os/centos/centos-icon.png +0 -0
- data/lib/starter_web/assets/images/{modules/icons → icons}/os/centos/centos.ico +0 -0
- data/lib/starter_web/assets/images/{modules/icons → icons}/os/suse/suse.gif +0 -0
- data/lib/starter_web/assets/images/{modules/icons → icons}/os/suse/suse.ico +0 -0
- data/lib/starter_web/assets/images/{modules/icons → icons}/os/suse/suse.png +0 -0
- data/lib/starter_web/assets/images/{modules/icons → icons}/os/ubuntu/cof_black_hex.png +0 -0
- data/lib/starter_web/assets/images/{modules/icons → icons}/os/ubuntu/cof_orange_hex.png +0 -0
- data/lib/starter_web/assets/images/{modules/icons → icons}/os/ubuntu/cof_white-black_hex.png +0 -0
- data/lib/starter_web/assets/images/{modules/icons → icons}/os/ubuntu/cof_white-orange_hex.png +0 -0
- data/lib/starter_web/assets/images/{modules/icons → icons}/os/ubuntu/ubuntu.ico +0 -0
- data/lib/starter_web/assets/images/{modules/icons → icons}/os/windows/windows.png +0 -0
- data/lib/starter_web/assets/images/{modules/icons → icons}/os/windows/windows_flags_color.ico +0 -0
- data/lib/starter_web/assets/images/{modules/icons → icons}/os/windows/windows_hdd.ico +0 -0
- data/lib/starter_web/assets/images/{modules/icons → icons}/os/windows/windows_store.ico +0 -0
- data/lib/starter_web/assets/images/{modules/icons → icons}/social/amazon.png +0 -0
- data/lib/starter_web/assets/images/{modules/icons → icons}/social/behance.png +0 -0
- data/lib/starter_web/assets/images/{modules/icons → icons}/social/blogger.png +0 -0
- data/lib/starter_web/assets/images/{modules/icons → icons}/social/deviantart.png +0 -0
- data/lib/starter_web/assets/images/{modules/icons → icons}/social/dribbble.png +0 -0
- data/lib/starter_web/assets/images/{modules/icons → icons}/social/dropbox.png +0 -0
- data/lib/starter_web/assets/images/{modules/icons → icons}/social/evernote.png +0 -0
- data/lib/starter_web/assets/images/{modules/icons → icons}/social/facebook.png +0 -0
- data/lib/starter_web/assets/images/{modules/icons → icons}/social/forrst.png +0 -0
- data/lib/starter_web/assets/images/{modules/icons → icons}/social/github.png +0 -0
- data/lib/starter_web/assets/images/{modules/icons → icons}/social/googleplus.png +0 -0
- data/lib/starter_web/assets/images/{modules/icons → icons}/social/instagram.png +0 -0
- data/lib/starter_web/assets/images/{modules/icons → icons}/social/jolicloud.png +0 -0
- data/lib/starter_web/assets/images/{modules/icons → icons}/social/last-fm.png +0 -0
- data/lib/starter_web/assets/images/{modules/icons → icons}/social/linkedin.png +0 -0
- data/lib/starter_web/assets/images/{modules/icons → icons}/social/picasa.png +0 -0
- data/lib/starter_web/assets/images/{modules/icons → icons}/social/pintrest.png +0 -0
- data/lib/starter_web/assets/images/{modules/icons → icons}/social/rss.png +0 -0
- data/lib/starter_web/assets/images/{modules/icons → icons}/social/skype.png +0 -0
- data/lib/starter_web/assets/images/{modules/icons → icons}/social/spotify.png +0 -0
- data/lib/starter_web/assets/images/{modules/icons → icons}/social/stumbleupon.png +0 -0
- data/lib/starter_web/assets/images/{modules/icons → icons}/social/tumblr.png +0 -0
- data/lib/starter_web/assets/images/{modules/icons → icons}/social/twitter.png +0 -0
- data/lib/starter_web/assets/images/{modules/icons → icons}/social/vimeo.png +0 -0
- data/lib/starter_web/assets/images/{modules/icons → icons}/social/vk.png +0 -0
- data/lib/starter_web/assets/images/{modules/icons → icons}/social/wordpress.png +0 -0
- data/lib/starter_web/assets/images/{modules/icons → icons}/social/xing.png +0 -0
- data/lib/starter_web/assets/images/{modules/icons → icons}/social/yahoo.png +0 -0
- data/lib/starter_web/assets/images/{modules/icons → icons}/social/youtube.png +0 -0
- data/lib/starter_web/assets/images/modules/attics/1920x1280/alexander-redl.jpg +0 -0
- data/lib/starter_web/assets/images/modules/attics/1920x1280/harpal-singh.jpg +0 -0
- data/lib/starter_web/assets/images/modules/attics/1920x1280/john-schnobrich-2.jpg +0 -0
- data/lib/starter_web/assets/images/modules/attics/alexander-redl.jpg +0 -0
- data/lib/starter_web/assets/images/modules/attics/harpal-singh.jpg +0 -0
- data/lib/starter_web/collections/posts/public/featured/_posts/2021-01-01-about-cookies.adoc +2 -2
- data/lib/starter_web/collections/posts/public/featured/_posts/2021-02-01-site-generators.adoc +3 -2
- data/lib/starter_web/collections/posts/public/featured/_posts/{2022-02-28-about-j1.adoc → 2022-02-01-about-j1.adoc} +2 -3
- data/lib/starter_web/collections/posts/public/featured/_posts/_includes/attributes.asciidoc +2 -2
- data/lib/starter_web/index.html +6 -2
- data/lib/starter_web/package.json +2 -2
- data/lib/starter_web/pages/public/features/general.adoc +0 -1
- data/lib/starter_web/pages/public/features/template.adoc +4 -5
- data/lib/starter_web/pages/public/jupyter/examples/distributed/j1-common-used-widgets.adoc +1 -1
- data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_circular_times_table.html +747 -747
- data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_climate_change_forecast.html +1250 -1250
- data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_docs_example_dynamic.html +186 -186
- data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_interactive_widgets.html +512 -512
- data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_nbi_widgets.html +629 -629
- data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_nbi_widgets_bar_chart.html +95 -95
- data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_nbi_widgets_hist_chart.html +93 -93
- data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_nbi_widgets_line_chart.html +96 -96
- data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_nbi_widgets_question_multiple_choice.html +70 -70
- data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_nbi_widgets_question_short_answer.html +156 -156
- data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_nbi_widgets_scatter_chart.html +95 -95
- data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_nbi_widgets_scatter_drag_chart.html +93 -93
- data/lib/starter_web/pages/public/jupyter/notebooks/textbooks/j1_odes_in_python.html +955 -955
- data/lib/starter_web/pages/public/learn/_roundtrip/100_present_images.adoc +313 -0
- data/lib/starter_web/pages/public/learn/_roundtrip/100_present_videos.adoc +281 -0
- data/lib/starter_web/pages/public/learn/_roundtrip/200_typography.adoc +253 -0
- data/lib/starter_web/pages/public/learn/_roundtrip/300_icon_fonts.adoc +579 -0
- data/lib/starter_web/pages/public/learn/_roundtrip/400_asciidoc_extensions.adoc +719 -0
- data/lib/starter_web/pages/public/learn/_roundtrip/410_bs_modals_extentions.adoc +91 -0
- data/lib/starter_web/pages/public/learn/_roundtrip/420_responsive_tables_extensions.adoc +420 -0
- data/lib/starter_web/pages/public/learn/_roundtrip/500_themes.adoc +250 -0
- data/lib/starter_web/pages/public/learn/_roundtrip/600_quicksearch.adoc +425 -0
- data/lib/starter_web/pages/public/learn/_roundtrip/_includes/attributes.asciidoc +118 -0
- data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/100_gistblock.asciidoc +28 -0
- data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/410_bottom_info.asciidoc +14 -0
- data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/410_bottom_left_warning.asciidoc +11 -0
- data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/410_bottom_right_danger.asciidoc +11 -0
- data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/410_central_success.asciidoc +11 -0
- data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/410_full_height_left_info.asciidoc +11 -0
- data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/410_full_height_right_success.asciidoc +11 -0
- data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/410_table_bs_modal_examples.asciidoc +47 -0
- data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/410_top_info.asciidoc +11 -0
- data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/410_top_left_info.asciidoc +11 -0
- data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/410_top_right_success.asciidoc +11 -0
- data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/419_advanced_modals_demo.asciidoc +337 -0
- data/lib/starter_web/pages/public/learn/_roundtrip/_includes/documents/tables/bs_modal_examples.asciidoc +47 -0
- data/lib/starter_web/pages/public/learn/_roundtrip/_includes/google-ad.js +130 -0
- data/lib/starter_web/pages/public/learn/roundtrip/100_present_images.adoc +1 -1
- data/lib/starter_web/pages/public/learn/roundtrip/300_icon_fonts.adoc +2 -1
- data/lib/starter_web/pages/public/learn/roundtrip/400_asciidoc_extensions.adoc +0 -28
- data/lib/starter_web/pages/public/learn/roundtrip/500_themes.adoc +1 -1
- data/lib/starter_web/pages/public/learn/roundtrip/_includes/attributes.asciidoc +6 -6
- data/lib/starter_web/pages/public/panels/intro_panel/_includes/attributes.asciidoc +5 -5
- data/lib/starter_web/pages/public/previewer/preview_bootstrap_theme.adoc +3 -3
- data/lib/starter_web/pages/public/se/se-fake.adoc +44 -0
- data/lib/starter_web/utilsrv/_defaults/package.json +1 -1
- data/lib/starter_web/utilsrv/package.json +1 -1
- metadata +179 -149
- data/assets/data/twa_v1.json +0 -7039
- data/lib/starter_web/collections/posts/public/featured/_posts/2021-01-01-about-cookies.ads.asciidoc +0 -196
- data/lib/starter_web/collections/posts/public/featured/_posts/2021-01-01-about-cookies.comments.asciidoc +0 -182
@@ -1,186 +1,186 @@
|
|
1
|
-
<div class="cell text_cell">
|
2
|
-
<button class="js-nbinteract-widget">
|
3
|
-
Loading widgets...
|
4
|
-
</button>
|
5
|
-
</div>
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
<div class="cell border-box-sizing text_cell rendered"><div class="inner_cell">
|
10
|
-
<div class="text_cell_render border-box-sizing rendered_html">
|
11
|
-
<h4 id="Resources">Resources<a class="anchor-link" href="#Resources">¶</a></h4>
|
12
|
-
</div>
|
13
|
-
</div>
|
14
|
-
</div>
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
<div class="
|
19
|
-
cell border-box-sizing code_cell rendered">
|
20
|
-
<div class="input">
|
21
|
-
|
22
|
-
<div class="inner_cell">
|
23
|
-
<div class="input_area">
|
24
|
-
<div class=" highlight hl-ipython3"><pre><span></span><span class="kn">import</span> <span class="nn">warnings</span>
|
25
|
-
<span class="n">warnings</span><span class="o">.</span><span class="n">filterwarnings</span><span class="p">(</span><span class="s2">"ignore"</span><span class="p">)</span>
|
26
|
-
|
27
|
-
<span class="c1">### General Purpose</span>
|
28
|
-
<span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
|
29
|
-
<span class="kn">from</span> <span class="nn">matplotlib</span> <span class="kn">import</span> <span class="n">pyplot</span> <span class="k">as</span> <span class="n">plt</span>
|
30
|
-
<span class="kn">from</span> <span class="nn">scipy.integrate</span> <span class="kn">import</span> <span class="n">odeint</span>
|
31
|
-
|
32
|
-
<span class="c1">### Jupyter Specifics</span>
|
33
|
-
<span class="kn">from</span> <span class="nn">IPython.display</span> <span class="kn">import</span> <span class="n">HTML</span>
|
34
|
-
<span class="kn">from</span> <span class="nn">ipywidgets.widgets</span> <span class="kn">import</span> <span class="n">interact</span><span class="p">,</span> <span class="n">IntSlider</span><span class="p">,</span> <span class="n">FloatSlider</span><span class="p">,</span> <span class="n">Layout</span>
|
35
|
-
|
36
|
-
<span class="o">%</span><span class="k">matplotlib</span> inline
|
37
|
-
|
38
|
-
<span class="n">style</span> <span class="o">=</span> <span class="p">{</span><span class="s1">'description_width'</span><span class="p">:</span> <span class="s1">'150px'</span><span class="p">}</span>
|
39
|
-
<span class="n">slider_layout</span> <span class="o">=</span> <span class="n">Layout</span><span class="p">(</span><span class="n">width</span><span class="o">=</span><span class="s1">'99%'</span><span class="p">)</span>
|
40
|
-
</pre></div>
|
41
|
-
|
42
|
-
</div>
|
43
|
-
</div>
|
44
|
-
</div>
|
45
|
-
|
46
|
-
</div>
|
47
|
-
<div class="cell border-box-sizing text_cell rendered"><div class="inner_cell">
|
48
|
-
<div class="text_cell_render border-box-sizing rendered_html">
|
49
|
-
<h4 id="Calculation">Calculation<a class="anchor-link" href="#Calculation">¶</a></h4>
|
50
|
-
</div>
|
51
|
-
</div>
|
52
|
-
</div>
|
53
|
-
|
54
|
-
|
55
|
-
|
56
|
-
<div class="
|
57
|
-
cell border-box-sizing code_cell rendered">
|
58
|
-
<div class="input">
|
59
|
-
|
60
|
-
<div class="inner_cell">
|
61
|
-
<div class="input_area">
|
62
|
-
<div class=" highlight hl-ipython3"><pre><span></span><span class="k">def</span> <span class="nf">main</span><span class="p">(</span><span class="n">rabbits_birthrate</span><span class="p">,</span> <span class="n">rabbits_deathrate</span><span class="p">,</span> <span class="n">foxes_birthrate</span><span class="p">,</span>
|
63
|
-
<span class="n">foxes_deathrate</span><span class="p">,</span> <span class="n">initial_rabbits</span><span class="p">,</span> <span class="n">foxes_inicial</span><span class="p">,</span> <span class="n">days</span><span class="p">):</span>
|
64
|
-
|
65
|
-
<span class="k">def</span> <span class="nf">function</span><span class="p">(</span><span class="n">s</span><span class="p">,</span> <span class="n">t</span><span class="p">):</span>
|
66
|
-
<span class="n">x</span><span class="p">,</span> <span class="n">y</span> <span class="o">=</span> <span class="n">s</span>
|
67
|
-
<span class="n">dydt</span> <span class="o">=</span> <span class="p">[</span>
|
68
|
-
<span class="n">rabbits_birthrate</span> <span class="o">*</span> <span class="n">x</span> <span class="o">-</span> <span class="n">rabbits_deathrate</span> <span class="o">*</span> <span class="n">x</span> <span class="o">*</span> <span class="n">y</span><span class="p">,</span> <span class="c1"># dx/dy -> Change in Rabbits</span>
|
69
|
-
<span class="n">foxes_birthrate</span> <span class="o">*</span> <span class="n">x</span> <span class="o">*</span> <span class="n">y</span> <span class="o">-</span> <span class="n">foxes_deathrate</span> <span class="o">*</span> <span class="n">y</span> <span class="c1"># dy/dt -> Change in Foxes</span>
|
70
|
-
<span class="p">]</span>
|
71
|
-
|
72
|
-
<span class="k">return</span> <span class="n">dydt</span>
|
73
|
-
|
74
|
-
<span class="n">time</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">arange</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="n">days</span><span class="p">,</span> <span class="mf">0.01</span><span class="p">)</span>
|
75
|
-
<span class="n">initial_conditions</span> <span class="o">=</span> <span class="p">[</span><span class="n">initial_rabbits</span><span class="p">,</span> <span class="n">foxes_inicial</span><span class="p">]</span>
|
76
|
-
<span class="n">solution</span> <span class="o">=</span> <span class="n">odeint</span><span class="p">(</span><span class="n">function</span><span class="p">,</span> <span class="n">initial_conditions</span><span class="p">,</span> <span class="n">time</span><span class="p">)</span>
|
77
|
-
|
78
|
-
<span class="c1">#Graphic details</span>
|
79
|
-
<span class="n">fig</span><span class="p">,</span> <span class="n">axes</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">subplots</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="n">figsize</span><span class="o">=</span><span class="p">(</span><span class="mi">15</span><span class="p">,</span> <span class="mi">10</span><span class="p">))</span>
|
80
|
-
|
81
|
-
<span class="n">ax</span> <span class="o">=</span> <span class="n">axes</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
|
82
|
-
|
83
|
-
<span class="n">ax</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">time</span><span class="p">,</span> <span class="n">solution</span><span class="p">[:,</span> <span class="mi">0</span><span class="p">],</span> <span class="n">label</span><span class="o">=</span><span class="s1">'Rabbits(t)'</span><span class="p">)</span>
|
84
|
-
<span class="n">ax</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">time</span><span class="p">,</span> <span class="n">solution</span><span class="p">[:,</span> <span class="mi">1</span><span class="p">],</span> <span class="n">label</span><span class="o">=</span><span class="s1">'Foxes(t)'</span><span class="p">)</span>
|
85
|
-
|
86
|
-
<span class="k">if</span> <span class="n">days</span> <span class="o"><=</span> <span class="mi">30</span><span class="p">:</span>
|
87
|
-
<span class="n">step</span> <span class="o">=</span> <span class="mi">1</span>
|
88
|
-
<span class="n">rotation</span> <span class="o">=</span> <span class="s2">"horizontal"</span>
|
89
|
-
<span class="k">elif</span> <span class="n">days</span> <span class="o"><=</span> <span class="mi">150</span><span class="p">:</span>
|
90
|
-
<span class="n">step</span> <span class="o">=</span> <span class="mi">5</span>
|
91
|
-
<span class="n">rotation</span> <span class="o">=</span> <span class="s2">"vertical"</span>
|
92
|
-
<span class="k">else</span><span class="p">:</span>
|
93
|
-
<span class="n">step</span> <span class="o">=</span> <span class="mi">10</span>
|
94
|
-
<span class="n">rotation</span> <span class="o">=</span> <span class="s2">"vertical"</span>
|
95
|
-
|
96
|
-
<span class="n">ax</span><span class="o">.</span><span class="n">set_xticklabels</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">arange</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="n">days</span> <span class="o">+</span> <span class="mi">1</span><span class="p">,</span> <span class="n">step</span><span class="p">,</span> <span class="n">dtype</span><span class="o">=</span><span class="nb">int</span><span class="p">),</span> <span class="n">rotation</span><span class="o">=</span><span class="n">rotation</span><span class="p">)</span>
|
97
|
-
<span class="n">ax</span><span class="o">.</span><span class="n">set_xticks</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">arange</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="n">days</span> <span class="o">+</span> <span class="mi">1</span><span class="p">,</span> <span class="n">step</span><span class="p">))</span>
|
98
|
-
|
99
|
-
<span class="n">ax</span><span class="o">.</span><span class="n">set_xlim</span><span class="p">([</span><span class="mi">0</span><span class="p">,</span> <span class="n">days</span><span class="p">])</span>
|
100
|
-
<span class="n">ax</span><span class="o">.</span><span class="n">set_ylim</span><span class="p">([</span><span class="mi">0</span><span class="p">,</span> <span class="nb">max</span><span class="p">(</span><span class="nb">max</span><span class="p">(</span><span class="n">solution</span><span class="p">[:,</span> <span class="mi">0</span><span class="p">]),</span> <span class="nb">max</span><span class="p">(</span><span class="n">solution</span><span class="p">[:,</span> <span class="mi">1</span><span class="p">]))</span> <span class="o">*</span> <span class="mf">1.05</span><span class="p">])</span>
|
101
|
-
<span class="n">ax</span><span class="o">.</span><span class="n">set_xlabel</span><span class="p">(</span><span class="s1">'Time'</span><span class="p">)</span>
|
102
|
-
<span class="n">ax</span><span class="o">.</span><span class="n">set_ylabel</span><span class="p">(</span><span class="s1">'Population'</span><span class="p">)</span>
|
103
|
-
<span class="n">ax</span><span class="o">.</span><span class="n">legend</span><span class="p">(</span><span class="n">loc</span><span class="o">=</span><span class="s1">'best'</span><span class="p">)</span>
|
104
|
-
<span class="n">ax</span><span class="o">.</span><span class="n">grid</span><span class="p">()</span>
|
105
|
-
|
106
|
-
|
107
|
-
<span class="n">ax</span> <span class="o">=</span> <span class="n">axes</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span>
|
108
|
-
|
109
|
-
<span class="n">ax</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">solution</span><span class="p">[:,</span> <span class="mi">0</span><span class="p">],</span> <span class="n">solution</span><span class="p">[:,</span> <span class="mi">1</span><span class="p">],</span> <span class="n">label</span><span class="o">=</span><span class="s1">'Foxes vs Rabbits'</span><span class="p">)</span>
|
110
|
-
|
111
|
-
<span class="n">ax</span><span class="o">.</span><span class="n">set_xlim</span><span class="p">([</span><span class="mi">0</span><span class="p">,</span> <span class="nb">max</span><span class="p">(</span><span class="n">solution</span><span class="p">[:,</span> <span class="mi">0</span><span class="p">])</span> <span class="o">*</span> <span class="mf">1.05</span><span class="p">])</span>
|
112
|
-
<span class="n">ax</span><span class="o">.</span><span class="n">set_ylim</span><span class="p">([</span><span class="mi">0</span><span class="p">,</span> <span class="nb">max</span><span class="p">(</span><span class="n">solution</span><span class="p">[:,</span> <span class="mi">1</span><span class="p">])</span> <span class="o">*</span> <span class="mf">1.05</span><span class="p">])</span>
|
113
|
-
<span class="n">ax</span><span class="o">.</span><span class="n">set_xlabel</span><span class="p">(</span><span class="s1">'Rabbits'</span><span class="p">)</span>
|
114
|
-
<span class="n">ax</span><span class="o">.</span><span class="n">set_ylabel</span><span class="p">(</span><span class="s1">'Foxes'</span><span class="p">)</span>
|
115
|
-
<span class="n">ax</span><span class="o">.</span><span class="n">legend</span><span class="p">(</span><span class="n">loc</span><span class="o">=</span><span class="s1">'best'</span><span class="p">)</span>
|
116
|
-
<span class="n">ax</span><span class="o">.</span><span class="n">grid</span><span class="p">()</span>
|
117
|
-
|
118
|
-
<span class="n">plt</span><span class="o">.</span><span class="n">tight_layout</span><span class="p">()</span>
|
119
|
-
<span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span>
|
120
|
-
</pre></div>
|
121
|
-
|
122
|
-
</div>
|
123
|
-
</div>
|
124
|
-
</div>
|
125
|
-
|
126
|
-
</div>
|
127
|
-
<div class="cell border-box-sizing text_cell rendered"><div class="inner_cell">
|
128
|
-
<div class="text_cell_render border-box-sizing rendered_html">
|
129
|
-
<h4 id="Evaluation">Evaluation<a class="anchor-link" href="#Evaluation">¶</a></h4>
|
130
|
-
</div>
|
131
|
-
</div>
|
132
|
-
</div>
|
133
|
-
|
134
|
-
|
135
|
-
|
136
|
-
<div class="
|
137
|
-
cell border-box-sizing code_cell rendered">
|
138
|
-
<div class="input">
|
139
|
-
|
140
|
-
<div class="inner_cell">
|
141
|
-
<div class="input_area">
|
142
|
-
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">interact</span><span class="p">(</span><span class="n">main</span><span class="p">,</span>
|
143
|
-
<span class="n">rabbits_birthrate</span><span class="o">=</span><span class="n">FloatSlider</span><span class="p">(</span><span class="nb">min</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="nb">max</span><span class="o">=</span><span class="mi">25</span><span class="p">,</span> <span class="n">step</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">value</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span>
|
144
|
-
<span class="n">description</span><span class="o">=</span><span class="s1">'Birth Rate/Rabbits'</span><span class="p">,</span> <span class="n">style</span><span class="o">=</span><span class="n">style</span><span class="p">,</span> <span class="n">layout</span><span class="o">=</span><span class="n">slider_layout</span><span class="p">),</span>
|
145
|
-
<span class="n">rabbits_deathrate</span><span class="o">=</span><span class="n">FloatSlider</span><span class="p">(</span><span class="nb">min</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="nb">max</span><span class="o">=</span><span class="mi">25</span><span class="p">,</span> <span class="n">step</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">value</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span>
|
146
|
-
<span class="n">description</span><span class="o">=</span><span class="s1">'Death Rate/Rabbits'</span><span class="p">,</span> <span class="n">style</span><span class="o">=</span><span class="n">style</span><span class="p">,</span> <span class="n">layout</span><span class="o">=</span><span class="n">slider_layout</span><span class="p">),</span>
|
147
|
-
<span class="n">foxes_birthrate</span><span class="o">=</span><span class="n">FloatSlider</span><span class="p">(</span><span class="nb">min</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span> <span class="nb">max</span><span class="o">=</span><span class="mi">25</span><span class="p">,</span> <span class="n">step</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">value</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span>
|
148
|
-
<span class="n">description</span><span class="o">=</span><span class="s1">'Birth Rate/Foxes'</span><span class="p">,</span> <span class="n">style</span><span class="o">=</span><span class="n">style</span><span class="p">,</span> <span class="n">layout</span><span class="o">=</span><span class="n">slider_layout</span><span class="p">),</span>
|
149
|
-
<span class="n">foxes_deathrate</span><span class="o">=</span><span class="n">FloatSlider</span><span class="p">(</span><span class="nb">min</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span> <span class="nb">max</span><span class="o">=</span><span class="mi">25</span><span class="p">,</span> <span class="n">step</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">value</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span>
|
150
|
-
<span class="n">description</span><span class="o">=</span><span class="s1">'Death Rate/Foxes'</span><span class="p">,</span> <span class="n">style</span><span class="o">=</span><span class="n">style</span><span class="p">,</span> <span class="n">layout</span><span class="o">=</span><span class="n">slider_layout</span><span class="p">),</span>
|
151
|
-
<span class="n">initial_rabbits</span><span class="o">=</span><span class="n">FloatSlider</span><span class="p">(</span><span class="nb">min</span><span class="o">=</span><span class="mi">2</span> <span class="p">,</span> <span class="nb">max</span><span class="o">=</span><span class="mi">100</span><span class="p">,</span> <span class="n">step</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">value</span><span class="o">=</span><span class="mi">2</span><span class="p">,</span>
|
152
|
-
<span class="n">description</span><span class="o">=</span><span class="s1">'Initial Rabbits'</span><span class="p">,</span> <span class="n">style</span><span class="o">=</span><span class="n">style</span><span class="p">,</span> <span class="n">layout</span><span class="o">=</span><span class="n">slider_layout</span><span class="p">),</span>
|
153
|
-
<span class="n">foxes_inicial</span><span class="o">=</span><span class="n">FloatSlider</span><span class="p">(</span><span class="nb">min</span><span class="o">=</span><span class="mi">1</span> <span class="p">,</span> <span class="nb">max</span><span class="o">=</span><span class="mi">100</span><span class="p">,</span> <span class="n">step</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">value</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span>
|
154
|
-
<span class="n">description</span><span class="o">=</span><span class="s1">'Initial Foxes'</span><span class="p">,</span> <span class="n">style</span><span class="o">=</span><span class="n">style</span><span class="p">,</span> <span class="n">layout</span><span class="o">=</span><span class="n">slider_layout</span><span class="p">),</span>
|
155
|
-
<span class="n">days</span><span class="o">=</span><span class="n">FloatSlider</span><span class="p">(</span><span class="nb">min</span><span class="o">=</span><span class="mi">15</span><span class="p">,</span> <span class="nb">max</span><span class="o">=</span><span class="mi">365</span> <span class="p">,</span> <span class="n">step</span><span class="o">=</span><span class="mi">10</span><span class="p">,</span> <span class="n">value</span><span class="o">=</span><span class="mi">15</span><span class="p">,</span>
|
156
|
-
<span class="n">description</span><span class="o">=</span><span class="s1">'Number of Days'</span><span class="p">,</span> <span class="n">style</span><span class="o">=</span><span class="n">style</span><span class="p">,</span> <span class="n">layout</span><span class="o">=</span><span class="n">slider_layout</span><span class="p">),</span>
|
157
|
-
<span class="p">);</span>
|
158
|
-
</pre></div>
|
159
|
-
|
160
|
-
</div>
|
161
|
-
</div>
|
162
|
-
</div>
|
163
|
-
|
164
|
-
<div class="output_wrapper">
|
165
|
-
<div class="output">
|
166
|
-
|
167
|
-
|
168
|
-
<div class="output_area">
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
173
|
-
|
174
|
-
<div class="output_subarea output_widget_view ">
|
175
|
-
<button class="js-nbinteract-widget">
|
176
|
-
Loading widgets...
|
177
|
-
</button>
|
178
|
-
</div>
|
179
|
-
|
180
|
-
</div>
|
181
|
-
|
182
|
-
</div>
|
183
|
-
</div>
|
184
|
-
|
185
|
-
</div>
|
186
|
-
|
1
|
+
<div class="cell text_cell">
|
2
|
+
<button class="js-nbinteract-widget">
|
3
|
+
Loading widgets...
|
4
|
+
</button>
|
5
|
+
</div>
|
6
|
+
|
7
|
+
|
8
|
+
|
9
|
+
<div class="cell border-box-sizing text_cell rendered"><div class="inner_cell">
|
10
|
+
<div class="text_cell_render border-box-sizing rendered_html">
|
11
|
+
<h4 id="Resources">Resources<a class="anchor-link" href="#Resources">¶</a></h4>
|
12
|
+
</div>
|
13
|
+
</div>
|
14
|
+
</div>
|
15
|
+
|
16
|
+
|
17
|
+
|
18
|
+
<div class="
|
19
|
+
cell border-box-sizing code_cell rendered">
|
20
|
+
<div class="input">
|
21
|
+
|
22
|
+
<div class="inner_cell">
|
23
|
+
<div class="input_area">
|
24
|
+
<div class=" highlight hl-ipython3"><pre><span></span><span class="kn">import</span> <span class="nn">warnings</span>
|
25
|
+
<span class="n">warnings</span><span class="o">.</span><span class="n">filterwarnings</span><span class="p">(</span><span class="s2">"ignore"</span><span class="p">)</span>
|
26
|
+
|
27
|
+
<span class="c1">### General Purpose</span>
|
28
|
+
<span class="kn">import</span> <span class="nn">numpy</span> <span class="k">as</span> <span class="nn">np</span>
|
29
|
+
<span class="kn">from</span> <span class="nn">matplotlib</span> <span class="kn">import</span> <span class="n">pyplot</span> <span class="k">as</span> <span class="n">plt</span>
|
30
|
+
<span class="kn">from</span> <span class="nn">scipy.integrate</span> <span class="kn">import</span> <span class="n">odeint</span>
|
31
|
+
|
32
|
+
<span class="c1">### Jupyter Specifics</span>
|
33
|
+
<span class="kn">from</span> <span class="nn">IPython.display</span> <span class="kn">import</span> <span class="n">HTML</span>
|
34
|
+
<span class="kn">from</span> <span class="nn">ipywidgets.widgets</span> <span class="kn">import</span> <span class="n">interact</span><span class="p">,</span> <span class="n">IntSlider</span><span class="p">,</span> <span class="n">FloatSlider</span><span class="p">,</span> <span class="n">Layout</span>
|
35
|
+
|
36
|
+
<span class="o">%</span><span class="k">matplotlib</span> inline
|
37
|
+
|
38
|
+
<span class="n">style</span> <span class="o">=</span> <span class="p">{</span><span class="s1">'description_width'</span><span class="p">:</span> <span class="s1">'150px'</span><span class="p">}</span>
|
39
|
+
<span class="n">slider_layout</span> <span class="o">=</span> <span class="n">Layout</span><span class="p">(</span><span class="n">width</span><span class="o">=</span><span class="s1">'99%'</span><span class="p">)</span>
|
40
|
+
</pre></div>
|
41
|
+
|
42
|
+
</div>
|
43
|
+
</div>
|
44
|
+
</div>
|
45
|
+
|
46
|
+
</div>
|
47
|
+
<div class="cell border-box-sizing text_cell rendered"><div class="inner_cell">
|
48
|
+
<div class="text_cell_render border-box-sizing rendered_html">
|
49
|
+
<h4 id="Calculation">Calculation<a class="anchor-link" href="#Calculation">¶</a></h4>
|
50
|
+
</div>
|
51
|
+
</div>
|
52
|
+
</div>
|
53
|
+
|
54
|
+
|
55
|
+
|
56
|
+
<div class="
|
57
|
+
cell border-box-sizing code_cell rendered">
|
58
|
+
<div class="input">
|
59
|
+
|
60
|
+
<div class="inner_cell">
|
61
|
+
<div class="input_area">
|
62
|
+
<div class=" highlight hl-ipython3"><pre><span></span><span class="k">def</span> <span class="nf">main</span><span class="p">(</span><span class="n">rabbits_birthrate</span><span class="p">,</span> <span class="n">rabbits_deathrate</span><span class="p">,</span> <span class="n">foxes_birthrate</span><span class="p">,</span>
|
63
|
+
<span class="n">foxes_deathrate</span><span class="p">,</span> <span class="n">initial_rabbits</span><span class="p">,</span> <span class="n">foxes_inicial</span><span class="p">,</span> <span class="n">days</span><span class="p">):</span>
|
64
|
+
|
65
|
+
<span class="k">def</span> <span class="nf">function</span><span class="p">(</span><span class="n">s</span><span class="p">,</span> <span class="n">t</span><span class="p">):</span>
|
66
|
+
<span class="n">x</span><span class="p">,</span> <span class="n">y</span> <span class="o">=</span> <span class="n">s</span>
|
67
|
+
<span class="n">dydt</span> <span class="o">=</span> <span class="p">[</span>
|
68
|
+
<span class="n">rabbits_birthrate</span> <span class="o">*</span> <span class="n">x</span> <span class="o">-</span> <span class="n">rabbits_deathrate</span> <span class="o">*</span> <span class="n">x</span> <span class="o">*</span> <span class="n">y</span><span class="p">,</span> <span class="c1"># dx/dy -> Change in Rabbits</span>
|
69
|
+
<span class="n">foxes_birthrate</span> <span class="o">*</span> <span class="n">x</span> <span class="o">*</span> <span class="n">y</span> <span class="o">-</span> <span class="n">foxes_deathrate</span> <span class="o">*</span> <span class="n">y</span> <span class="c1"># dy/dt -> Change in Foxes</span>
|
70
|
+
<span class="p">]</span>
|
71
|
+
|
72
|
+
<span class="k">return</span> <span class="n">dydt</span>
|
73
|
+
|
74
|
+
<span class="n">time</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">arange</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="n">days</span><span class="p">,</span> <span class="mf">0.01</span><span class="p">)</span>
|
75
|
+
<span class="n">initial_conditions</span> <span class="o">=</span> <span class="p">[</span><span class="n">initial_rabbits</span><span class="p">,</span> <span class="n">foxes_inicial</span><span class="p">]</span>
|
76
|
+
<span class="n">solution</span> <span class="o">=</span> <span class="n">odeint</span><span class="p">(</span><span class="n">function</span><span class="p">,</span> <span class="n">initial_conditions</span><span class="p">,</span> <span class="n">time</span><span class="p">)</span>
|
77
|
+
|
78
|
+
<span class="c1">#Graphic details</span>
|
79
|
+
<span class="n">fig</span><span class="p">,</span> <span class="n">axes</span> <span class="o">=</span> <span class="n">plt</span><span class="o">.</span><span class="n">subplots</span><span class="p">(</span><span class="mi">1</span><span class="p">,</span> <span class="mi">2</span><span class="p">,</span> <span class="n">figsize</span><span class="o">=</span><span class="p">(</span><span class="mi">15</span><span class="p">,</span> <span class="mi">10</span><span class="p">))</span>
|
80
|
+
|
81
|
+
<span class="n">ax</span> <span class="o">=</span> <span class="n">axes</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
|
82
|
+
|
83
|
+
<span class="n">ax</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">time</span><span class="p">,</span> <span class="n">solution</span><span class="p">[:,</span> <span class="mi">0</span><span class="p">],</span> <span class="n">label</span><span class="o">=</span><span class="s1">'Rabbits(t)'</span><span class="p">)</span>
|
84
|
+
<span class="n">ax</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">time</span><span class="p">,</span> <span class="n">solution</span><span class="p">[:,</span> <span class="mi">1</span><span class="p">],</span> <span class="n">label</span><span class="o">=</span><span class="s1">'Foxes(t)'</span><span class="p">)</span>
|
85
|
+
|
86
|
+
<span class="k">if</span> <span class="n">days</span> <span class="o"><=</span> <span class="mi">30</span><span class="p">:</span>
|
87
|
+
<span class="n">step</span> <span class="o">=</span> <span class="mi">1</span>
|
88
|
+
<span class="n">rotation</span> <span class="o">=</span> <span class="s2">"horizontal"</span>
|
89
|
+
<span class="k">elif</span> <span class="n">days</span> <span class="o"><=</span> <span class="mi">150</span><span class="p">:</span>
|
90
|
+
<span class="n">step</span> <span class="o">=</span> <span class="mi">5</span>
|
91
|
+
<span class="n">rotation</span> <span class="o">=</span> <span class="s2">"vertical"</span>
|
92
|
+
<span class="k">else</span><span class="p">:</span>
|
93
|
+
<span class="n">step</span> <span class="o">=</span> <span class="mi">10</span>
|
94
|
+
<span class="n">rotation</span> <span class="o">=</span> <span class="s2">"vertical"</span>
|
95
|
+
|
96
|
+
<span class="n">ax</span><span class="o">.</span><span class="n">set_xticklabels</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">arange</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="n">days</span> <span class="o">+</span> <span class="mi">1</span><span class="p">,</span> <span class="n">step</span><span class="p">,</span> <span class="n">dtype</span><span class="o">=</span><span class="nb">int</span><span class="p">),</span> <span class="n">rotation</span><span class="o">=</span><span class="n">rotation</span><span class="p">)</span>
|
97
|
+
<span class="n">ax</span><span class="o">.</span><span class="n">set_xticks</span><span class="p">(</span><span class="n">np</span><span class="o">.</span><span class="n">arange</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span> <span class="n">days</span> <span class="o">+</span> <span class="mi">1</span><span class="p">,</span> <span class="n">step</span><span class="p">))</span>
|
98
|
+
|
99
|
+
<span class="n">ax</span><span class="o">.</span><span class="n">set_xlim</span><span class="p">([</span><span class="mi">0</span><span class="p">,</span> <span class="n">days</span><span class="p">])</span>
|
100
|
+
<span class="n">ax</span><span class="o">.</span><span class="n">set_ylim</span><span class="p">([</span><span class="mi">0</span><span class="p">,</span> <span class="nb">max</span><span class="p">(</span><span class="nb">max</span><span class="p">(</span><span class="n">solution</span><span class="p">[:,</span> <span class="mi">0</span><span class="p">]),</span> <span class="nb">max</span><span class="p">(</span><span class="n">solution</span><span class="p">[:,</span> <span class="mi">1</span><span class="p">]))</span> <span class="o">*</span> <span class="mf">1.05</span><span class="p">])</span>
|
101
|
+
<span class="n">ax</span><span class="o">.</span><span class="n">set_xlabel</span><span class="p">(</span><span class="s1">'Time'</span><span class="p">)</span>
|
102
|
+
<span class="n">ax</span><span class="o">.</span><span class="n">set_ylabel</span><span class="p">(</span><span class="s1">'Population'</span><span class="p">)</span>
|
103
|
+
<span class="n">ax</span><span class="o">.</span><span class="n">legend</span><span class="p">(</span><span class="n">loc</span><span class="o">=</span><span class="s1">'best'</span><span class="p">)</span>
|
104
|
+
<span class="n">ax</span><span class="o">.</span><span class="n">grid</span><span class="p">()</span>
|
105
|
+
|
106
|
+
|
107
|
+
<span class="n">ax</span> <span class="o">=</span> <span class="n">axes</span><span class="p">[</span><span class="mi">1</span><span class="p">]</span>
|
108
|
+
|
109
|
+
<span class="n">ax</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">solution</span><span class="p">[:,</span> <span class="mi">0</span><span class="p">],</span> <span class="n">solution</span><span class="p">[:,</span> <span class="mi">1</span><span class="p">],</span> <span class="n">label</span><span class="o">=</span><span class="s1">'Foxes vs Rabbits'</span><span class="p">)</span>
|
110
|
+
|
111
|
+
<span class="n">ax</span><span class="o">.</span><span class="n">set_xlim</span><span class="p">([</span><span class="mi">0</span><span class="p">,</span> <span class="nb">max</span><span class="p">(</span><span class="n">solution</span><span class="p">[:,</span> <span class="mi">0</span><span class="p">])</span> <span class="o">*</span> <span class="mf">1.05</span><span class="p">])</span>
|
112
|
+
<span class="n">ax</span><span class="o">.</span><span class="n">set_ylim</span><span class="p">([</span><span class="mi">0</span><span class="p">,</span> <span class="nb">max</span><span class="p">(</span><span class="n">solution</span><span class="p">[:,</span> <span class="mi">1</span><span class="p">])</span> <span class="o">*</span> <span class="mf">1.05</span><span class="p">])</span>
|
113
|
+
<span class="n">ax</span><span class="o">.</span><span class="n">set_xlabel</span><span class="p">(</span><span class="s1">'Rabbits'</span><span class="p">)</span>
|
114
|
+
<span class="n">ax</span><span class="o">.</span><span class="n">set_ylabel</span><span class="p">(</span><span class="s1">'Foxes'</span><span class="p">)</span>
|
115
|
+
<span class="n">ax</span><span class="o">.</span><span class="n">legend</span><span class="p">(</span><span class="n">loc</span><span class="o">=</span><span class="s1">'best'</span><span class="p">)</span>
|
116
|
+
<span class="n">ax</span><span class="o">.</span><span class="n">grid</span><span class="p">()</span>
|
117
|
+
|
118
|
+
<span class="n">plt</span><span class="o">.</span><span class="n">tight_layout</span><span class="p">()</span>
|
119
|
+
<span class="n">plt</span><span class="o">.</span><span class="n">show</span><span class="p">()</span>
|
120
|
+
</pre></div>
|
121
|
+
|
122
|
+
</div>
|
123
|
+
</div>
|
124
|
+
</div>
|
125
|
+
|
126
|
+
</div>
|
127
|
+
<div class="cell border-box-sizing text_cell rendered"><div class="inner_cell">
|
128
|
+
<div class="text_cell_render border-box-sizing rendered_html">
|
129
|
+
<h4 id="Evaluation">Evaluation<a class="anchor-link" href="#Evaluation">¶</a></h4>
|
130
|
+
</div>
|
131
|
+
</div>
|
132
|
+
</div>
|
133
|
+
|
134
|
+
|
135
|
+
|
136
|
+
<div class="
|
137
|
+
cell border-box-sizing code_cell rendered">
|
138
|
+
<div class="input">
|
139
|
+
|
140
|
+
<div class="inner_cell">
|
141
|
+
<div class="input_area">
|
142
|
+
<div class=" highlight hl-ipython3"><pre><span></span><span class="n">interact</span><span class="p">(</span><span class="n">main</span><span class="p">,</span>
|
143
|
+
<span class="n">rabbits_birthrate</span><span class="o">=</span><span class="n">FloatSlider</span><span class="p">(</span><span class="nb">min</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="nb">max</span><span class="o">=</span><span class="mi">25</span><span class="p">,</span> <span class="n">step</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">value</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span>
|
144
|
+
<span class="n">description</span><span class="o">=</span><span class="s1">'Birth Rate/Rabbits'</span><span class="p">,</span> <span class="n">style</span><span class="o">=</span><span class="n">style</span><span class="p">,</span> <span class="n">layout</span><span class="o">=</span><span class="n">slider_layout</span><span class="p">),</span>
|
145
|
+
<span class="n">rabbits_deathrate</span><span class="o">=</span><span class="n">FloatSlider</span><span class="p">(</span><span class="nb">min</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="nb">max</span><span class="o">=</span><span class="mi">25</span><span class="p">,</span> <span class="n">step</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">value</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span>
|
146
|
+
<span class="n">description</span><span class="o">=</span><span class="s1">'Death Rate/Rabbits'</span><span class="p">,</span> <span class="n">style</span><span class="o">=</span><span class="n">style</span><span class="p">,</span> <span class="n">layout</span><span class="o">=</span><span class="n">slider_layout</span><span class="p">),</span>
|
147
|
+
<span class="n">foxes_birthrate</span><span class="o">=</span><span class="n">FloatSlider</span><span class="p">(</span><span class="nb">min</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span> <span class="nb">max</span><span class="o">=</span><span class="mi">25</span><span class="p">,</span> <span class="n">step</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">value</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span>
|
148
|
+
<span class="n">description</span><span class="o">=</span><span class="s1">'Birth Rate/Foxes'</span><span class="p">,</span> <span class="n">style</span><span class="o">=</span><span class="n">style</span><span class="p">,</span> <span class="n">layout</span><span class="o">=</span><span class="n">slider_layout</span><span class="p">),</span>
|
149
|
+
<span class="n">foxes_deathrate</span><span class="o">=</span><span class="n">FloatSlider</span><span class="p">(</span><span class="nb">min</span><span class="o">=</span><span class="mi">0</span><span class="p">,</span> <span class="nb">max</span><span class="o">=</span><span class="mi">25</span><span class="p">,</span> <span class="n">step</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">value</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span>
|
150
|
+
<span class="n">description</span><span class="o">=</span><span class="s1">'Death Rate/Foxes'</span><span class="p">,</span> <span class="n">style</span><span class="o">=</span><span class="n">style</span><span class="p">,</span> <span class="n">layout</span><span class="o">=</span><span class="n">slider_layout</span><span class="p">),</span>
|
151
|
+
<span class="n">initial_rabbits</span><span class="o">=</span><span class="n">FloatSlider</span><span class="p">(</span><span class="nb">min</span><span class="o">=</span><span class="mi">2</span> <span class="p">,</span> <span class="nb">max</span><span class="o">=</span><span class="mi">100</span><span class="p">,</span> <span class="n">step</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">value</span><span class="o">=</span><span class="mi">2</span><span class="p">,</span>
|
152
|
+
<span class="n">description</span><span class="o">=</span><span class="s1">'Initial Rabbits'</span><span class="p">,</span> <span class="n">style</span><span class="o">=</span><span class="n">style</span><span class="p">,</span> <span class="n">layout</span><span class="o">=</span><span class="n">slider_layout</span><span class="p">),</span>
|
153
|
+
<span class="n">foxes_inicial</span><span class="o">=</span><span class="n">FloatSlider</span><span class="p">(</span><span class="nb">min</span><span class="o">=</span><span class="mi">1</span> <span class="p">,</span> <span class="nb">max</span><span class="o">=</span><span class="mi">100</span><span class="p">,</span> <span class="n">step</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span> <span class="n">value</span><span class="o">=</span><span class="mi">1</span><span class="p">,</span>
|
154
|
+
<span class="n">description</span><span class="o">=</span><span class="s1">'Initial Foxes'</span><span class="p">,</span> <span class="n">style</span><span class="o">=</span><span class="n">style</span><span class="p">,</span> <span class="n">layout</span><span class="o">=</span><span class="n">slider_layout</span><span class="p">),</span>
|
155
|
+
<span class="n">days</span><span class="o">=</span><span class="n">FloatSlider</span><span class="p">(</span><span class="nb">min</span><span class="o">=</span><span class="mi">15</span><span class="p">,</span> <span class="nb">max</span><span class="o">=</span><span class="mi">365</span> <span class="p">,</span> <span class="n">step</span><span class="o">=</span><span class="mi">10</span><span class="p">,</span> <span class="n">value</span><span class="o">=</span><span class="mi">15</span><span class="p">,</span>
|
156
|
+
<span class="n">description</span><span class="o">=</span><span class="s1">'Number of Days'</span><span class="p">,</span> <span class="n">style</span><span class="o">=</span><span class="n">style</span><span class="p">,</span> <span class="n">layout</span><span class="o">=</span><span class="n">slider_layout</span><span class="p">),</span>
|
157
|
+
<span class="p">);</span>
|
158
|
+
</pre></div>
|
159
|
+
|
160
|
+
</div>
|
161
|
+
</div>
|
162
|
+
</div>
|
163
|
+
|
164
|
+
<div class="output_wrapper">
|
165
|
+
<div class="output">
|
166
|
+
|
167
|
+
|
168
|
+
<div class="output_area">
|
169
|
+
|
170
|
+
|
171
|
+
|
172
|
+
|
173
|
+
|
174
|
+
<div class="output_subarea output_widget_view ">
|
175
|
+
<button class="js-nbinteract-widget">
|
176
|
+
Loading widgets...
|
177
|
+
</button>
|
178
|
+
</div>
|
179
|
+
|
180
|
+
</div>
|
181
|
+
|
182
|
+
</div>
|
183
|
+
</div>
|
184
|
+
|
185
|
+
</div>
|
186
|
+
|