Модель "хищник-жертва"

Лабораторная работа №3.

Введение

С помощью математического моделирования возможно рассмотреть взаимное влияние двух и более систем. В данной лабораторной работе разрабатывается модель "хищник-жертва" на основе разработанных ранее моделей неограниченного роста (модели Мальтуса) и ограниченного роста (модели Ферхюльста). Модель "хищник-жертва" позволяет описать динамику систем, в которой один из видов является пищей для другого. Схожие процессы наблюдаются, например, в экономике, химических реакциях и так далее. В отличие от моделей неограниченного или ограниченного роста, в модели "хищник-жертва" при определенных параметрах численность популяций хищника и жертвы может изменяться циклично. В данной лабораторной работе модель описывается на примере популяций волков и зайцев.

Построение модели будет происходить в несколько этапов:
  1. построение модели роста популяции зайцев
  2. построение модели убывания популяции волков
  3. построение модели взаимодействия между хищниками и жертвами

Цель работы

  • Ознакомиться с возможностями SimInTech на основе разработки модели "хищник-жертва"

Задачи работы

  • Изучить основные принципы и уравнения, описывающие модель "хищник-жертва"
  • Разработать с помощью блоков рассматриваемую модель на основе ранее изученной модели неограниченного роста (модели Мальтуса)
  • Разработать с помощью блоков рассматриваемую модель на основе ранее изученной модели ограниченного роста (модели Ферхюльста)
  • Построить графики зависимости численности и скорости роста популяций хищника и жертвы от времени для обеих разновидностей модели

Основные теоретические сведения

На примере популяции волков и зайцев модель "хищник-жертва" качественно описывается следующим образом:
  1. На острове существует популяция зайцев численностью n1(t), которые едят траву, причем нет ограничений по питанию и по предельному количеству особей в популяции
  2. Зайцы размножаются без ограничений с коэффициентом a1
  3. На острове появляются волки численностью n2(t), которые могут питаться только зайцами
  4. Без зайцев волки умирают от голода с коэффициентом a2
  5. Зайцы и волки могут встретиться с вероятностью, пропорциональной численности обеих популяций
  6. Встреча волка и зайца ведет к смерти зайца с коэффициентом b1
  7. Наевшийся зайцами волк размножается с коэффициентом b2
При определенном сочетании параметров будут происходить следующие процессы:
  1. Зайцы размножаются, так что вероятность их встречи с волками увеличивается
  2. Волки едят зайцев и размножаются
  3. При этом количество волков становится избыточным, и они съедают больше зайцев, чем рождается
  4. Популяция зайцев уменьшается, и волки начинают умирать от голода
  5. Волков становится настолько мало, что зайцы опять начинают размножаться
  6. Процесс приобретает циклический (волновой) характер

При отсутствии ограничений модель роста популяции зайцев сводится к модели неограниченного роста (модели Мальтуса):

Аналогично для волков: предполагается, что волки без зайцев погибают, поэтому коэффициент дан со знаком минус:

Вероятность встречи зайца и волка: n1(t)n2(t). Отсюда вероятность смерти зайца:

Вероятность размножения волка:

Тогда система обыкновенных дифференциальных уравнений 1-го порядка, описывающих динамику роста популяций волков и зайцев, имеет следующий вид:

При наличии ограничений численности популяции волков и зайцев к системе дифференциальных уравнений добавляется поправка Ферхюльста. Тогда система обыкновенных дифференциальных уравнений 1-го порядка, описывающих динамику роста популяций волков и зайцев, имеет следующий вид:

где K1 и K2 - предельные объемы населения популяции зайцев и волков соответственно.

Разработка модели "хищник-жертва" на основе моделей неограниченного роста

Для расчета будут использованы следующие величины:
  • начальная численность зайцев n10
  • начальная численность волков n20
  • коэффициент рождаемости зайцев a1
  • коэффициент гибели волков a2
  • коэффициент гибели зайцев при встрече с волками b1
  • коэффициент роста популяции волков при встрече с зайцами b2
Для создания нового проекта общетехнического шаблона необходимо выполнить следующие действия:
  1. В главном окне SimInTech выбрать пункт Файл, подпункт Новый проект
  2. В выпадающем меню выбрать пункт Схема модели общего вида

Откроется новое окно проекта Схема модели общего вида, в котором будет проходить построение моделей.

Необходимо сохранить созданный проект. Для этого:
  1. В главном окне SimInTech выбрать пункт Файл, подпункт Сохранить проект как
  2. В появившемся окне в поле Имя файла указать желаемое имя проекта, либо оставить имя проекта по умолчанию и нажать на кнопку Сохранить

Настройка параметров расчета

Перед началом работы необходимо настроить Параметры расчёта. Для этого:
  1. На верхней панели окна проекта нажать на кнопку Параметры расчёта для открытия параметров проекта
  2. В появившемся окне в колонке "Формула" задать следующие значения (Рис. 1):
    • "Минимальный шаг" - "0.000001"
    • "Конечное время расчета" - "100"


    Рис. 1. Окно настроек параметров расчета.

Ввод переменных для расчета

Так как в данной лабораторной работе используется большое количество величин, значения которых будут меняться при проведении численного эксперимента, удобно задать эти величины в скрипте страницы.

В окне скрипта страницы необходимо задать следующие значения (в относительных единицах):

n1_0 = 0.6     // начальная численность зайцев
n2_0 = 0.1     // начальная численность волков
a1 = 0.3     //коэффициент рождаемости зайцев
a2 = -0.15     //коэффициент гибели волков (со знаком)
b1 = -0.3     //коэффициент гибели зайцев при встрече с волками (со знаком)
b2 = 0.12     // коэффициент роста популяции волков при встрече с зайцами

Добавление блоков на схему

Для построения модели экспоненциального роста популяции зайцев необходимо добавить на схему следующие блоки из группы библиотек Автоматика:
  • 1 блок Интегратор из вкладки Динамические. С помощью данного блока вычисляется значение численности популяции зайцев n1(t)
  • 1 блок Усилитель из вкладки Операторы. Данный блок содержит значение коэффициента роста популяции зайцев a1
  • 1 блок Временной график из вкладки Вывод данных. С помощью этого блока будут строиться графики численности популяции и скорости роста популяции зайцев от времени
Далее необходимо добавить подпись "a1" к блоку Усилитель, подпись "Численность популяции и скорость роста популяции зайцев" к блоку Временной график и разместить блоки согласно рисунку (Рис. 2).


Рис. 2. Блоки для составления схемы неограниченного роста популяции зайцев.

Задание свойств блоков

Необходимо задать следующие свойства добавленных блоков:
  1. В свойствах блока Усилитель в поле "Формула" ввести для свойства "Коэффициент усиления" значение "a1", соответствующее значению коэффициента роста популяции зайцев a1
  2. В свойствах блока Интегратор в поле "Формула" ввести для свойства "Начальные условия" значение "n1_0", соответствующее начальному значению численности популяции зайцев n10
  3. В свойствах блока Временной график ввести для свойства "Количество входных портов" значение "2"
Далее необходимо соединить все блоки согласно рисунку (Рис. 3).


Рис. 3. Схема модели неограниченного роста популяции зайцев.

Запуск моделирования и построение графиков

После настройки схемы для построения графиков скорости роста и численности популяции зайцев необходимо запустить схему на моделирование нажатием на кнопку Пуск на панели кнопок окна проекта и дождаться окончания расчета. После открыть окно График блока Временной график. График должен выглядеть следующим образом (Рис. 4):


Рис. 4. График скорости роста и численности популяции зайцев от времени для модели неограниченного роста.
Для более наглядного представления результатов моделирования необходимо настроить оформление графика, а именно:
  • настроить отображение графиков на разных осях
  • задать корректное название графика
  • задать корректные названия осей графика
  • задать корректное отображение легенды
В контекстном меню окна График выбрать пункт Многошкальный режим, после этого окно графика будет выглядеть следующим образом (Рис. 5):


Рис. 5. График скорости роста и численности популяции зайцев от времени для модели неограниченного роста.
В контекстном меню окна График выбрать пункт Свойства. Откроется окно свойств графика. Для настройки свойств красного графика, отображающего скорость роста популяции зайцев, необходимо сделать следующее:
  1. В поле "Название графика" ввести название "Скорость роста популяции зайцев"
  2. В колонке "Ось Y" задать значение свойства "Название оси" равным "Скорость роста" (Рис. 6)


    Рис. 6. Вкладка "Графики и оси" для графика скорости роста популяции зайцев.
  3. В поле "Название графика" ввести название "Численность популяции зайцев"
  4. В колонке "Ось Y" задать значение свойства "Название оси" равным "Численность популяции" (Рис. 7)


    Рис. 7. Вкладка "Графики и оси" графика численности популяции зайцев.

Далее во вкладке Общие в поле "Заголовок" необходимо изменить название на "Зависимость численности и скорости роста популяции зайцев от времени для модели "хищник-жертва"".

После указанных настроек график будет выглядеть следующим образом (Рис. 8):


Рис. 8. График скорости роста и численности популяции зайцев для модели неограниченного роста.

Из результатов расчета следует вывод: численность зайцев экспоненциально возрастает при отсутствии взаимодействия с популяцией волков.

Разработка модели экспоненциального убывания популяции волков

Схема экспоненциального убывания популяции волков выглядит аналогично схеме экспоненциального роста популяции зайцев. По этой причине для построения модели экспоненциального убывания популяции волков необходимо:
  1. Скопировать схему экспоненциального роста популяции зайцев и вставить ее на свободное место в рабочем поле окна проекта
  2. В копии модели исправить следующее:
    • Для блока Интегратор - в поле "Формула" ввести для свойства "Начальные условия" значение "n2_0" вместо "n1_0", чтобы задать начальную численность популяции волков n20
    • Для блока Усилитель - в поле "Формула" ввести для свойства "Коэффициент усиления" значение "a2" вместо "a1", чтобы смоделировать смерть волков без пищи
    • В свойствах графиков и подписи к блоку Временной график изменить названия на "Скорость роста популяции волков", "Численность популяции волков", "Зависимость численности и скорости роста популяции волков от времени для модели "хищник-жертва"", установить подпись "Скорость роста и численность популяции волков" к блоку Временной график
Вид полученных схем в рабочей области окна проекта представлен на рисунке (Рис. 9).


Рис. 9. Окно проекта с размещенными схемами динамики популяций волков и зайцев.
Запустить схему на моделирование путем нажатия на кнопку Пуск на панели кнопок окна проекта и дождаться окончания расчета. После открыть окно График блока Временной график. График численности и скорости роста популяции волков должен выглядеть следующим образом (Рис. 10):


Рис. 10. График скорости роста и численности популяции волков для модели неограниченного роста.

Из результатов расчета следует вывод: численность волков экспоненциально убывает при отсутствии взаимодействия с популяцией зайцев.

Оформление окна проекта

Для наглядности следует задать подписи к схемам. Для этого необходимо:
  1. В главном окне SimInTech в палитре блоков выбрать вкладку Панель примитивов (Рисунок 12)


    Рис. 11. Панель примитивов в палитре блоков.
  2. В появившемся контекстном меню выбрать пункт Текст (Рис. 12)


    Рис. 12. Контекстное меню вкладки "Панель примитивов".
  3. Перевести курсор мыши на рабочую область окна проекта. В рабочей области окна проекта появится текстовое поле со словом Текст, которое будет следовать за курсором мыши
  4. Выбрать место в рабочей области окна проекта для установки текстового поля и установить одинарным нажатием левой кнопкой мыши (Рис. 13). После установки примитива на схему возможно его перемещение внутри рабочей области окна проекта. Для перемещения примитива необходимо нажать на примитив левой кнопкой мыши и, удерживая, переместить


    Рис. 13. Шаблон текста в рабочем поле окна проекта.
  5. Двойным нажатием левой кнопки мыши по текстовому полю открыть окно редактирования текста (Рисунок 15)


    Рис. 14. Окно редактирования текста.
  6. Стереть слово Текст и ввести "Модель популяции зайцев" (Рис. 15)


    Рис. 15. Окно редактирования текста с подписью к схеме модели популяции зайцев.
  7. Закрыть окно редактирования текста, нажав галочку на панели кнопок окна проекта (Рис. 16)


    Рис. 16. Окно редактирования текста с выделенной кнопкой "Применить и закрыть".
  8. Аналогично задается подпись к схеме модели популяции волков. В результате схемы выглядит следующим образом (Рис. 17):


    Рис. 17. Окно проекта с подписанными схемами моделей популяций волков и зайцев.

Разработка модели взаимодействия между хищниками и жертвами

В построенных моделях популяций зайцев и волков зайцы и волки не видят и, соответственно, не едят друг друга. Теперь необходимо настроить взаимосвязь популяций.

Чтобы не подключать дополнительные линии связи между схемами необходимо воспользоваться блоками-передатчиками сигналов.

В главном окне SimInTech в палитре блоков выбрать вкладку Субструктуры. Во вкладке Субструктуры выбрать блок В память (Рис. 18).


Рис. 18. Вкладка "Субструктуры" с выбранным блоком "В память".
Выбранный блок следует разместить на схеме следующим образом (Рис. 19).


Рис. 19. Схема моделей популяций с блоком "В память".
Далее необходимо передать блоку В память сигнал, содержащий значение численности популяции зайцев n1(t) и идущий от интегратора к усилителю. Для этого требуется провести линию связи в соответствии с рисунком (Рис. 20).


Рис. 20. Схема моделей популяций с блоком "В память" и необходимой линией связи.
Далее сигналу необходимо присвоить имя. В данном случае будет присвоено имя "n1". Для этого:
  1. Двойным нажатием по блоку В память открыть окно редактирования блока (Рис. 21)


    Рис. 21. Окно редактирования блока "В память".
  2. Удалить существующую переменную блока, в данном случае это переменная "Y3" в столбце "Переменные блока", нажатием стрелки Удалить (Рисунок 23)


    Рис. 22. Окно редактирования блока "В память" с удаленной переменной.
  3. В поле "Имя переменной" ввести "n1" и нажать стрелку Добавить. В столбце "Переменные блока" появится имя этой переменной (Рисунок 24). Закрыть окно редактирования нажатием на кнопку Ok


    Рис. 23. Окно редактирования блока "В память" с нужным именем переменной.
После этого блок В память будет выглядеть следующим образом (Рис. 24).


Рис. 24. Полученная схема моделей популяций с блоком "В память".
Аналогичными действиями необходимо добавить блок В память для схемы модели популяции волков. Присвоить сигналу имя "n2". Тогда схемы будут выглядеть следующим образом (Рисунок 26).


Рис. 25. Схема моделей популяций с блоками "В память".
Далее необходимо дополнить модель блоками, с помощью которых рассчитывается вероятность встречи зайца и волка n1(t)n2(t), вероятность гибели зайца Pm1 = -b1n1(t)n2(t) и вероятность размножения волка Pf2 = b2n1(t)n2(t). Для этого требуется добавить блоки, передающие значение численности популяции волков и зайцев из памяти:
  1. В главном окне SimInTech в палитре блоков во вкладке Субструктуры выбрать блок Из памяти (Рис. 26)


    Рис. 26. Вкладка "Субструктуры" с выбранным блоком "Из памяти".
  2. Выбранный блок необходимо разместить на схеме следующим образом (Рис. 27):


    Рис. 27. Схема моделей популяции с блоком "Из памяти".
  3. Двойным нажатием левой кнопкой мыши по блоку Из памяти открыть окно редактирования блока (Рис. 28)


    Рис. 28. Окно редактирования блока "Из памяти".
  4. Одинарным нажатием левой кнопкой мыши выделить имя сигнала "n1" в столбце "Источник"
  5. Нажать стрелку Добавить. В столбце "Приемник" появится имя сигнала "n1". Далее нажать кнопку Ok. Таким образом, данный блок принимает сигнал численности популяции зайцев (Рис. 29)


    Рис. 29. Окно редактирования блока "Из памяти" с установленным именем сигнала.
После выполненных действий блок Из памяти должен выглядеть следующим образом (Рис. 30).


Рис. 30. Полученная схема моделей популяции с блоком "Из памяти".
Аналогично необходимо добавить блок Из памяти для принятия сигнала численности популяции волков "n2". Схема будет выглядеть следующим образом (Рис. 31).


Рис. 31. Схема моделей популяции с блоками "Из памяти".
Далее необходимо добавить на схему следующие блоки из группы библиотек Автоматика:
  • 2 блока Усилитель из вкладки Операторы. Данные блоки содержат значения коэффициентов b1 и b2
  • 1 блок Перемножитель из вкладки Операторы. С помощью данного блока производится перемножение значений численности популяции волков и зайцев n1(t)n2(t)
  • 2 блока В память из вкладки Субструктуры. Данные блоки принимают сигнал со значениями вероятностей гибели зайца Pm1 и размножения волка Pf2
Блоки необходимо разместить и соединить линиями связи в соответствии с рисунком (Рис. 32).


Рис. 32. Схема с добавленной структурой для расчета вероятностей.
Необходимо задать следующие свойства:
  1. Для верхнего блока Усилитель в поле "Формула" ввести для свойства "Начальные условия" значение "b1", для нижнего - "b2"
  2. Для верхнего блока В память задать имя переменной "Pm1". Этот блок будет принимать в память сигнал, соответствующий вероятности гибели зайца при встрече с волком. Для нижнего блока В память задать имя переменной "Pf2". Этот блок будет принимать в память сигнал, соответствующий вероятности размножения волка
  3. Задать подписи к блокам Усилитель в соответствии с рисунком (Рис. 33)


    Рис. 33. Схема с оформленной структурой для расчета вероятностей.
Далее необходимо подключить добавленные сигналы к дифференциальным уравнениям численности волков и зайцев. Например, для зайцев:
  1. Добавить в рабочее поле окна проекта следующие блоки:
    • Блок Из памяти из вкладки Субструктуры - данный блок будет передавать сигнал Pm1
    • Блок Сумматор из вкладки Операторы - на выходе из данного блока получается величина скорости роста популяции зайцев:

  2. Для блока Из памяти задать в качестве приемника сигнал "Pm1"
  3. Соединить блоки в соответствии с рисунком (Рис. 34)


    Рис. 34. Схема проекта с учетом влияния вероятности встречи волков и зайцев на популяцию зайцев.
Аналогичными действиями добавить сигнал "Pf2" к расчетной схеме модели популяции волков. Затем добавить подпись "Вероятность встречи зайца и волка, гибели зайца (Pm1) и размножения волка (Pf2)" к структуре для расчета вероятностей. Итоговая схема модели "хищник-жертва" на основе моделей неограниченного роста представлена на рисунке (Рис. 35).


Рис. 35. Схема проекта с добавленной структурой для расчета вероятностей гибели зайцев и размножения волков.
Далее для наглядности будет добавлена структура вывода данных о численности популяций зайцев и волков. Необходимо сделать следующее:
  1. Скопировать и вставить в рабочее поле окна проекта блоки Из памяти, передающие сигнал численности популяций волков и зайцев
  2. Добавить в рабочее поле окна проекта блоки Временной график и Фазовый портрет из вкладки Вывод данных: Временной график показывает зависимость численности популяций от времени, а Фазовый портрет отображает процесс без учета времени в виде замкнутой линии
  3. В свойствах блока Временной график в поле "Формула" ввести для свойства "Количество входных портов" значение "2"
  4. Соединить блоки Временной график и Фазовый портрет с блоками Из памяти
  5. Задать подписи "Численность популяции волков и зайцев" к блоку Временной график и "Фазовый портрет численности популяции волков и зайцев" к блоку Фазовый портрет. Задать подпись "Графики численности популяции волков и зайцев" к собранной структуре. Итоговая схема модели "хищник-жертва" на основе моделей неограниченного роста представлена на рисунке (Рис. 36)


    Рис. 36. Схема модели "хищник-жертва" на основе моделей неограниченного роста.

Запустить схему на моделирование нажатием на кнопку Пуск на панели кнопок окна проекта и дождаться окончания расчета. Открыть окно График блока Временной график. В контекстном меню окна График выбрать пункт Многошкальный режим.

В контекстном меню окна График выбрать пункт Свойства, откроется окно Свойства графика.

Для настройки свойств красного графика, отображающего численность популяции зайцев, необходимо:
  1. Поставить галочку рядом с полем "Изменять название оси"
  2. В поле "Название графика" ввести название "Численность зайцев". В поле "Название оси" появится такое же название (Рис. 37)


    Рис. 37. Вкладка "Графики и оси" для графика численности популяции зайцев.
Для настройки свойств зеленого графика, отображающего численность популяции волков, необходимо:
  1. Поставить галочку рядом с полем "Изменять название оси"
  2. В поле "Название графика" ввести название "Численность волков". В поле "Название оси" появится такое же название (Рис. 38)


    Рис. 38. Вкладка "Графики и оси" для графика численности популяции волков.
  3. Во вкладке Общие в поле "Заголовок" изменить название на "Зависимость численности популяции зайцев и волков от времени для модели "хищник-жертва""
  4. Закрыть окно свойств, нажав кнопку Ok
Далее необходимо настроить оформление фазового портрета. Для этого:
  1. Двойным нажатием левой кнопкой мыши по блоку Фазовый портрет открыть окно Фазовый портрет
  2. Одинарным нажатием правой кнопкой мыши вызвать контекстное меню и выбрать пункт Свойства. Откроется окно Свойства графика
  3. Во вкладке Графики и оси в поле "Название графика" задать значение Фазовый портрет, в колонке "Ось Y" задать значение свойства "Название оси" равным "Численность популяции волков", в колонке "Ось X" задать значение свойства "Название оси" равным "Численность популяции зайцев" (Рисунок 40)


    Рис. 39. Вкладка "Графики и оси" для фазового портрета.
  4. Во вкладке Общие в поле "Заголовок" задать название графика "Фазовый портрет модели "хищник-жертва""
  5. Закрыть окно свойств, нажав кнопку Ok

Для построения графиков необходимо нажать на кнопку Пуск на панели кнопок окна проекта. Дождаться окончания расчета. Двойным нажатием левой кнопкой мыши по блокам "Временной график" и Фазовый портрет открыть окна с графиками.

График численности популяции зайцев и волков от времени для модели "хищник-жертва" должен выглядеть следующим образом (Рис. 40):


Рис. 40. Вкладка "Графики и оси" для фазового портрета.
Фазовый портрет, отображающий периодический процесс изменения численности хищника и жертвы без учета времени в виде замкнутой линии, должен выглядеть следующим образом (Рис. 41):


Рис. 41. Фазовый портрет численности популяции зайцев и волков для модели "хищник-жертва" на основе моделей неограниченного роста.
Из результатов расчета следует вывод: модель взаимодействия популяций "хищник-жертва" на основе моделей неограниченного роста демонстрирует периодическое решение, происходящее в несколько этапов:
  1. Увеличение численности популяции жертвы приводит к увеличению численности популяции хищника
  2. Увеличение численности популяции хищника приводит к уменьшению численности популяции жертвы
  3. Уменьшение численности популяции жертвы приводит к уменьшению численности популяции хищника
  4. Уменьшение численности популяции хищника приводит к увеличению численности популяции жертвы
  5. При данном наборе параметров численность популяций жертвы и хищника доходят до минимальных значений, но остаются положительными. При этом условии процесс приобретает циклический (волновой) характер. В случае, если численность популяции жертвы станет равна нулю, численность популяции волков также уменьшится до нуля

Модель "хищник-жертва" на основе моделей ограниченного роста

В данной модели будет использована поправка Ферхюльста для моделей популяции волков и зайцев. Для модификации модели необходимо скопировать файл проекта предыдущей модели и сохранить его под другим именем (в данном примере – "Схема модели общего вида2"). Далее в скопированном файле необходимо добавить поправку Ферхюльста для популяции зайцев и волков. На примере популяции зайцев необходимо:
  1. Добавить в рабочее поле окна проекта следующие блоки:
    • 1 блок В память из вкладки Субструктуры. Данный блок принимает значение поправки Ферхюльста
    • 1 блок Сравнивающее устройство и 1 блок Делитель из вкладки Операторы, 2 блока Константа из вкладки Источники. Данные блоки необходимы для формирования сигнала поправки Ферхюльста
  2. Скопировать блок Из памяти с именем переменной "n1"
Окно проекта с блоками, добавленными для расчета поправки Ферхюльста для популяции зайцев, должна выглядеть следующим образом (Рис. 42).


Рис. 42. Окно проекта с добавленной структурой для расчета поправки Ферхюльста для популяции зайцев.
Далее необходимо задать свойства:
  1. Для блока В память задать имя переменной "F1"
  2. Добавить в скрипт проекта следующие величины:
    • K1 = 5 - константа поправки Ферхюльста для популяции зайцев
    • K2 = 4 - константа поправки Ферхюльста для популяции волков
  3. Для нижнего блока Константа в поле "Формула" для свойства "Значение" ввести значение "К1", соответствующее значению константы поправки Ферхюльста для популяции зайцев K1
Необходимо соединить блоки в соответствии с рисунком (Рис. 43).


Рис. 43. Схема модели "хищник-жертва" с поправкой Ферхюльста для популяции зайцев.
Далее необходимо передать значение поправки Ферхюльста в структуру для расчета скорости роста и численности популяции зайцев. Для этого:
  1. Добавить в рабочее поле окна проекта следующие блоки:
    • 1 блок Из памяти из вкладки Субструктуры. Данный блок передает значение поправки Ферхюльста для популяции зайцев
    • 1 блок Перемножитель из вкладки Операторы. С помощью данного блока получается выражение в формуле динамики численности популяции зайцев
  2. Для блока Из памяти задать в качестве приемника сигнал "F1"
  3. Соединить блоки в структуре для расчета скорости роста и численности популяции зайцев в соответствии с рисунком и добавить подпись "Поправка Ферхюльста для популяции зайцев" (Рис. 44)


    Рис. 44. Схема проекта с поправкой Ферхюльста для популяции зайцев.

Аналогичными действиями необходимо добавить структуру для расчета поправки Ферхюльста к популяции волков и сигнал "F2" к расчетной схеме модели популяции волков. Затем добавить подпись "Поправка Ферхюльста для популяции волков" к структуре для расчета поправки Ферхюльста популяции волков. Кроме того, удобно переместить некоторые части схемы, чтобы окно проекта не было слишком широким.

Итоговая схема модели "хищник-жертва" на основе моделей ограниченного роста представлена на рисунке (Рисунок 46).


Рис. 45. Схема модели "хищник-жертва" на основе моделей ограниченного роста.

Запуск моделирования и построение графиков

Для построения графиков необходимо нажать на кнопку Пуск на панели кнопок окна проекта и дождаться окончания расчета. После двойным нажатием левой кнопкой мыши по блокам Временной график и Фазовый портрет открыть окна с графиками. График численности популяции зайцев и волков от времени для модели "хищник-жертва" должен выглядеть следующим образом (Рис. 46).


Рис. 46. График численности популяции зайцев и волков от времени для модели "хищник-жертва" на основе моделей ограниченного роста.
Фазовый портрет, отображающий периодический процесс изменения численности хищника и жертвы без учета времени в виде замкнутой линии, должен выглядеть следующим образом (Рис. 47):


Рис. 47. Фазовый портрет численности популяции зайцев и волков для модели "хищник-жертва" на основе моделей ограниченного роста.

Из результатов расчета следует вывод: модель взаимодействия популяций "хищник-жертва" на основе моделей ограниченного роста демонстрирует периодическое решение, однако с течением времени численность популяции хищника и жертвы уменьшается и сводится к определенной точке, где достигается взаимное равновесие между хищниками и жертвами.

Заключение

В рамках данной лабораторной работы построена модель взаимодействия двух систем "хищник-жертва".

Изучены основные принципы и уравнения, описывающие данную модель взаимодействия популяций, разработаны две разновидности модели: на основе модели неограниченного роста и модели ограниченного роста.

Построены графики зависимости численности и скорости роста популяции хищника и жертвы от времени для обеих разновидностей.