Задача. На маленьком острове бесконтрольно растет популяция кроликов. Проблема стоит так остро, что местные фермеры прикладывают значительные усилия, чтобы прекратить увеличение популяции кроликов. Для контроля над ситуацией они хотят завести популяцию лис. Для моделирования этого явления используется модель «хищник – жертва». При моделировании изучается такой вопрос: «Что произойдет, если выпустить 80 лис?».
Решение.
*
* Начальные условия
*
Foxes EQU 80
Rabbits EQU 1000
*
* Параметры модели
*
K_ EQU 0.2000
A_ EQU 0.0080
B_ EQU 0.0002
C_ EQU 0.0400
* Не забывайте выражения производних заключать в скобки
Foxes INTEGRATE (FoxRate())
Rabbits INTEGRATE (RabbitRate())
*
* Управляющий сегмент дискретного моделирования
*
GENERATE 10000
TERMINATE 1
START 1
*
PROCEDURE FoxRate() BEGIN
TEMPORARY BirthRate,DeathRate,TotRate;
IF (Foxes<0) THEN Foxes=0;
IF (Foxes>10e50) THEN Foxes=10e50;
BirthRate=K_#B_#Foxes#Rabbits;
DeathRate=A_#Foxes;
TotRate=BirthRate-DeathRate;
RETURN TotRate;
END;
*
PROCEDURE RabbitRate() BEGIN
TEMPORARY BirthRate,DeathRate,TotRate;
IF (Rabbits<0) THEN Rabbits=0;
IF (Rabbits>10e50) THEN Rabbits=10e50;
BirthRate=C_#Rabbits;
DeathRate=B_#Foxes#Rabbits;
TotRate=BirthRate-DeathRate;
RETURN TotRate;
END;
Результаты моделирования.
2015-11-15 • Просмотров [ 1965 ]