Population growth models

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.

Exponential population growth model

In time [math]\displaystyle{ \Delta t }[/math] the population consisting of [math]\displaystyle{ y }[/math] elements grows by [math]\displaystyle{ \alpha\cdot y }[/math] elements: [math]\displaystyle{ \Delta y = \alpha\cdot y\cdot \Delta t }[/math], that is [math]\displaystyle{ \frac{\Delta y}{\Delta t} = \alpha\cdot y }[/math].

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

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

The red line shows the exact solution of the differential equation [math]\displaystyle{ y(t)=s\cdot e^{\alpha t} }[/math]. The blue line is the simulation with [math]\displaystyle{ \Delta t = 0.1 }[/math].

Other models

The JavaScript code

var brd = JXG.JSXGraph.initBoard('box1', {boundingbox: [-0.25, 12.5, 14.75, -12.5], 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()*dx;   // Exponential growth
  t.moveTo([dx+t.X(),dy+t.Y()]);
  x += dx;
  if (x<20.0) {
     setTimeout(loop,10);
  }
}