lotka-volterra-phase1

lotka-volterra-phase1

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-phase1' class='jxgbox' style='width:600px; height:600px;'></div>

JavaScript

board_phase1 = JXG.JSXGraph.initBoard('jxgbox-phase1', {boundingbox: [-4, 42.5, 42.5, -3.5], axis: true, grid: false, showCopyright: false});

alpha_slider_p1 = board_phase1.createElement('slider', [[3.0, 40.5], [8.0, 40.5], [0.0, 0.42, 1.0]],{name:'&alpha;',strokeColor:'black',fillColor:'black'});
alpha_text_p1 = board_phase1.createElement('text', [5, 39.5, "alpha"], {fixed:true});

beta_slider_p1 = board_phase1.createElement('slider', [[13.0, 40.5], [18.0, 40.5], [0.0, 0.14, 1.0]],{name:'&beta;',strokeColor:'black',fillColor:'black'});
beta_text_p1 = board_phase1.createElement('text', [13, 39.5, "beta"], {fixed:true});

gamma_slider_p1 = board_phase1.createElement('slider', [[23.0, 40.5], [28.0, 40.5], [0.0, 0.79, 1.0]],{name:'&gamma;',strokeColor:'black',fillColor:'black'});
gamma_text_p1 = board_phase1.createElement('text', [23, 39.5, "gamma"], {fixed:true});

delta_slider_p1 = board_phase1.createElement('slider', [[33.0, 40.5], [38.0, 40.5], [0.0, 0.17, 1.0]],{name:'&delta;',strokeColor:'black',fillColor:'black'});
delta_text_p1 = board_phase1.createElement('text', [33, 39.5, "delta"], {fixed:true});

prey_01 = board_phase1.createElement('glider', [10, 0, board_phase1.defaultAxes.x], {name:'Preys',strokeColor:'blue',fillColor:'blue'});
pred_01 = board_phase1.createElement('glider', [0, 5, board_phase1.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 - 1])[1];
    data.push([dx_dt, dy_dt]);
  }

  return data
}


var draw_data1 = null;


function ode_phase1() {
    var I_phase1 = [0, 200];
    var N_phase1 = 5000;

    var f_phase1 = function(t_phase1, x_phase1) {
        var alpha_p1 = alpha_slider_p1.Value();
        var beta_p1 = beta_slider_p1.Value();
        var gamma_p1 = gamma_slider_p1.Value();
        var...