Autocatalytic process

From JSXGraph Wiki
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

Autocatalytic population growth model

Here, in time [math]\displaystyle{ \Delta t }[/math] the population grows by [math]\displaystyle{ \alpha\cdot y \cdot(A-y) }[/math] elements: [math]\displaystyle{ \Delta y = \alpha\cdot y\cdot \Delta t \cdot(A-y) }[/math], that is [math]\displaystyle{ \frac{\Delta y}{\Delta t} = \alpha\cdot y \cdot(A-y) }[/math].

With [math]\displaystyle{ \Delta t\to 0 }[/math] we get [math]\displaystyle{ \frac{d y}{d t} = \alpha\cdot y \cdot (A-y) }[/math], i.e. [math]\displaystyle{ y' = \alpha\cdot y \cdot (A-y) }[/math].

The initial population is [math]\displaystyle{ y(0)= s }[/math], [math]\displaystyle{ A := 5 }[/math].

Other models

The JavaScript code

var brd = JXG.JSXGraph.initBoard('box1', {boundingbox: [-0.5, 12.5, 14.5, -12.5], keepaspectratio: false, axis:true});
var t = brd.create('turtle',[4,3,70]);
            
var s = brd.create('slider', [[0,-5], [10,-5],[-5,0.5,5]], {name:'s'});
var alpha = brd.create('slider', [[0,-6], [10,-6],[-1,0.2,2]], {name:'α'});
//var e = brd.create('functiongraph', [function(x){return s.Value()*Math.exp(alpha.Value()*x);}],{strokeColor:'red'});

t.hideTurtle();
            
var A = 5;
var tau = 0.3;
            
function clearturtle() {
  t.cs();
  t.ht();
}
            
function run() {
  t.setPos(0,s.Value());
  t.setPenSize(4);
  dx = 0.1; // global
  x = 0.0;  // global
  loop();
}
             
function loop() {
  var dy = alpha.Value()*t.Y()*(A-t.Y())*dx; // Autocatalytic process
  t.moveTo([dx+t.X(),dy+t.Y()]);
  x += dx;
  if (x<20.0) {
     setTimeout(loop,10);
  }
}