, соответствующее абсциссе точки пересечения параболы с горизонтальной осью, то есть имеющей ординату .– Что произойдет, если выбрать больше, чем значение, найденное в предыдущем вопросе?
Если популяция становится отрицательной, то мы должны интерпретировать это как вымирание.
На этом этапе можно узнать гораздо больше, изучая логистическую модель с помощью калькулятора или компьютера, чем просто прочитав текст. Упражнения ниже помогут в этом. На самом деле обнаружится, что логистическая модель имеет некоторые сюрпризы, которые вы, возможно, не ожидаете.
Задачи для самостоятельного решения:
1.2.1. Пусть
и . С помощью калькулятора составьте таблицу популяционных значений для . Изобразите полученные результаты на графике.1.2.2. В модели
, какие значения приведут к тому, что окажется положительным? Отрицательным? Какой смысл это имеет?1.2.3. Повторите решение задачи 1 в MATLAB с помощью команд аналогичных следующим:
p=1; x=p
for i=1:22; p=p+.3*p*(1-p/15); x=[x p]; end
plot([0:22], x)
Объясните, как это работает.
1.2.4. Используя следующую программу onepop.m для MATLAB при различных значениях
, исследуйте долгосрочное поведение модели , где . Возможно, придется изменить количество шагов, с которыми вы запускаете модель, чтобы изучить некоторые из вариантов.% onepop.m
%
% Модель популяции одного вида
%
% У пользователя запрашивается уравнение, определяющее модель. Затем, кликнув
% по начальной численности популяции на графике, динамика популяции как функция
% от времени будет изображена в виде графика. После выполнения симуляции
% при нажатии клавиши 'd' числовые данные отобразятся в командное окно MATLAB.
%
p=0; % инициализация переменной популяции для формулы
%
disp(' ')
disp(' Введите формулу, определяющую модель популяции, обозначая за "p"')
disp('численность популяции: (Например: следующее_p = p+.8*p*(1-p/10) )')
next_p=input ('следующее_p = ','s');
%
p=eval(next_p); % тестируемая формула
%
disp(' ')
disp(' Введите диапазон популяции, который будет отображаться на графике:');
limits=input('(Значение по умолчанию [pmin pmax] = [0 20]) ');
if isempty(limits) limits=[0 20]; end;
%
disp(' ')
n=input(' Введите количество шагов для итерации: (по умолчанию n = 20) ');