Начальные значения для U_, V_ и Y_, определенные при помощи оператора EQU, задаются в зависимости от начальных условий моделирования.
Пример 4.70 [20]
Постановка задачи «Хищник-Жертва». На маленьком острове бесконтрольно растет популяция кроликов. Проблема стоит так остро, что местные фермеры прикладывают значительные усилия, чтобы прекратить увеличение популяции кроликов. Для контроля над ситуацией они хотят завести популяцию лис.
Для моделирования этого явления используется модель «хищник - жертва». При моделировании изучается такой вопрос: «Что произойдет, если выпустить 80 лис?».
************************************************************
* Модель Lotka-Volterra Хищник-Жертва
* Действия:
* График "Лисы и Кролики": X 12000; Y 0-3000
*START 1
************************************************************
*
* Не забывайте выражения производных заключать в скобки
Foxes INTEGRATE (FoxRateQ)
Rabbits INTEGRATE (RabbitRateO)
*
* Начальные условия
Foxes Rabbits * EQU
EQU 80 1000
*
* Параметры модели
К_ EQU 0.2000; Эффективность хищников
А_ EQU 0.0080; Уровень смертности хищников
|
|
В_ EQU 0.0002; Фактор охоты
С_ EQU 0.0400; Уровень рождаемости кроликов
*
*Управляющий сегмент дискретного моделирования
*
GENERATE 10000
TERMINATE I
*
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;
*