Thursday, March 26, 2015

Pierre François Verhulst

I've had a look at the (Verhulst / logistic differential equation):


(with unit growth rate and carrying capacity equal to 10), which has solutions:


Implementation was straightforward.  To get time (as a voltage - to plug into the scope's horizontal axis), I just ran one integrator with unit input (1 volt) - so its output is (negative) t.

To get the set of discrete initial conditions (1 V, 2 V, etc) I connected the new asynchronous reset jack (see earlier post) to the output of an equality test of ⌈x⌉ = x, where x is the ramp voltage, and ⌈x⌉ is the smallest integer not less than x. One of the integrator's ICs was then connected to ⌈x⌉ (the other integrator which gives t has its IC connected to 0 V, so t runs 0 to 10 volts for each different IC).

The computer was run in repetitive (REP) mode. At the start of the REP mode cycle, the initial condition will be set to 0 V. As the ramp voltage x increases, the output of ⌈x⌉ will equal 1 V and when the ramp voltage equals 1 V, the equality  ⌈x⌉ = x will be true and the integrator's initial condition RESET to 1 V; the output of the ⌈x⌉ will now be 2 V and so on. The differential equation is thus solved for each IC in turn. A final touch was to connect the oscilloscope's z-axis to the computer's RST output jack - this goes high (+10 V) when the computer's integrators are being reset (either via asynchronous jack input or at end of REP mode cycle). This rids us of flyback traces on the scope's display. And the result is:

1 V/div horizontal axis; 2 V div vertical axis. Lowest curve is for 1 V initial condition.
Compares with the actual solutions:



No comments:

Post a Comment