Exponential and Logistic Growth
WHAT IS IT?
Eeeek, It's Exploding!
A model of what happens when you have a critter that reproduces by fission every "birth-frequency" units of age?
HOW TO USE IT
To export time-series data, you must first open the "Output Window" from the Windows menu. Do a "Save Output As..." to your K: drive (home directory) as the file logistic-data.txt, then click the Save button. After this, the data in that file will automatically be cleared out each time you click this model's "Setup" button, and rewritten as the model runs.
Running the model simply means setting the initial population with the slider so named, and choosing how many age units must pass between division happening using the "birth-frequency" slider. Then click the "Go" button to start the model.
Output Data Structure: Time-series data is output as ordered pairs of the form [time , population], for example [6 , 56] for 6 time units and 56 critters. There is one row for each of these data points.
THINGS TO NOTICE
Notice the impact of changing the dispersal distance on the time it takes to reach a limiting value. Is it the same, less, or more as the dispersal distance goes up ?
How does birth denisty effect the population growth ?
THINGS TO TRY
Modify the sliders to watch the impact on the graph.
CREDITS AND REFERENCES
21 January 2001 J. Taylor
Turtle procedures
to grow
crowding
calcbirth
;if count-turtles > (4 * screen-height * screen-width) ;;Block overpopulation
; [stopall]
end
to crowding
density
if aroundme >= max-neighbors [die]
end
to calcbirth
density
if aroundme <= max-birth
[if ( (random 100) < (Birth-probability))
[hatch [setc (color + 0.2) move-to-empty]]
]
end
to density
seth 0 set aroundme 0
let [:x -1 :y -1]
repeat 3
[ set :x -1
repeat 3
[if (count-turtles-at :x :y) > 0 [if (:x != 0 or :y != 0) [setaroundme aroundme + 1]]
set :x :x + 1
]
set :y : y + 1
]
seth random 360
end
to move-to-empty
if count-turtles-here > 1
[lt (random 15) rt (random 15) leap random dispersal-distance
if count-turtles-here > 1 [die] crowding]
end
Observer procedures
globals [time]
turtles-own [ aroundme]
to setup
ca
create-and-do population
[setc 45
setxy random screen-width random screen-height
]
setup-graph
end
to setup-graph ;create the graph: title, axes, colors for the curves
pp 1 ppreset setppc black ppd ; population
setplot-title "Population Size"
setplot-yrange 0 200
setplot-xrange 0 10
viewplot
end
