lotka-volterra-1

lotka-volterra-1

by belyakov_am

HTML

<script src="https://cdnjs.cloudflare.com/ajax/libs/jsxgraph/0.99.7/jsxgraphcore.js"></script>
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/jsxgraph/0.99.7/jsxgraph.css">
<div id='jxgbox-1' class='jxgbox' style='width:600px; height:600px;'></div>

JavaScript

board1 = JXG.JSXGraph.initBoard('jxgbox-1', {boundingbox: [-4, 40.5, 95.5, -3.5], axis: true, grid: false, showCopyright: false});

alpha_slider1 = board1.createElement('slider', [[10.0, 38.5], [20.0, 38.5], [0.0, 0.63, 1.0]],{name:'&alpha;',strokeColor:'black',fillColor:'black'});
alpha_text1 = board1.createElement('text', [10, 37.5, "alpha"], {fixed:true});

beta_slider1 = board1.createElement('slider', [[30.0, 38.5], [40.0, 38.5], [0.0, 0.21, 1.0]],{name:'&beta;',strokeColor:'black',fillColor:'black'});
beta_text1 = board1.createElement('text', [30, 37.5, "beta"], {fixed:true});

gamma_slider1 = board1.createElement('slider', [[50.0, 38.5], [60.0, 38.5], [0.0, 0.75, 1.0]],{name:'&gamma;',strokeColor:'black',fillColor:'black'});
gamma_text1 = board1.createElement('text', [50, 37.5, "gamma"], {fixed:true});

delta_slider1 = board1.createElement('slider', [[70.0, 38.5], [80.0, 38.5], [0.0, 0.52, 1.0]],{name:'&delta;',strokeColor:'black',fillColor:'black'});
delta_text1 = board1.createElement('text', [70, 37.5, "delta"], {fixed:true});

eps_slider = board1.createElement('slider', [[50.0, 35.5], [60.0, 35.5], [0.0, 0.03, 1.0]],{name:'&epsilon;',strokeColor:'black',fillColor:'black'});
eps_text = board1.createElement('text', [50, 34.5, "epsilon"], {fixed:true});

zeta_slider = board1.createElement('slider', [[70.0, 35.5], [80.0, 35.5], [0.0, 0.03, 1.0]],{name:'&zeta;',strokeColor:'black',fillColor:'black'});
zeta_text = board1.createElement('text', [70, 35.5, "zeta"], {fixed:true});

startprey1 = board1.createElement('glider', [0, 20, board1.defaultAxes.y], {name:'Preys',strokeColor:'blue',fillColor:'blue'});
startpred1 = board1.createElement('glider', [0, 10, board1.defaultAxes.y], {name:'Predators',strokeColor:'red',fillColor:'red'});


function solve_ode(x0, I, N, f) {
  var data = [x0];
  var dt = (I[1] - I[0]) / N;
  for (let i = 1; i < N; ++i) {
    var dx_dt = data[i - 1][0] + dt * f(0, data[i - 1])[0];
    var dy_dt = data[i - 1][1] + dt * f(0, data[i -...