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) ');
if isempty(n) n=20; end;
%
disp(' ')
disp(' Наведите курсор на график, чтобы выбрать начальную популяцию и')
disp('кликните для рисования. Нажмите `d'', чтобы отобразить значения популяции')
disp('в командном окне. Нажмите любую другую клавишу, чтобы выйти.')
disp(' ')
disp(' Нажмите любую клавишу, чтобы начать.')
pause
%
figure; % настроить отображение нового графика
axis([ [0 n] limits]); grid on;
xlabel('Время');ylabel('Популяция P');
title(['следующее\_p=',next_p]);
hold on; % сохранение линий на графике при добавлении новых
%
times=[0:n]; % генерировать вектор времени для построения графика
%
newcontinue=1;
while newcontinue % цикл, пока не будет нажата не левая кнопка
[t,p,button]=ginput(1); % получить начальную численность популяции
if button==1
pops=p;
for i=1:n % построить вектор итерационных значений популяции
p=eval(next_p);
pops=[pops,p];
end
plot(times,pops); % график зависимости численности популяции от времени
else
newcontinue=0; % флаг выхода из цикла
if button==100
[times;pops]' % отобразить время и численность в командном окне
newcontinue=1; % повторить цикл снова после отображения значений
% если пользователь нажимает `d' для отображения
end
end
end
%
hold off % возвращает режим автоматической очистки графика
1.2.5. Наиболее распространенными способами записи уравнения дискретного логистического роста являются:
,
,
,
.
Представьте каждую из следующих моделей в четырех основных формах записи.
а.
б.
1.2.6. Дано уравнение модели
а. Постройте график функции
от
с использованием MATLAB путем ввода команды:
x=[0:.1:12]
y=.8*x.*(1-x/10)
plot(x,y)
б. Постройте график функции
от
путем изменения команд MATLAB из части (а).
в. Вычислите значения
для
при
. Затем на графике из части (б) постройте паутину, начинающуюся с
. Можно добавить линию
на графике, введя команды
hold on, plot(x,y,x,x)
Полученная паутинная диаграмма достаточно точно соответствует таблице значений?
1.2.7. Если бы данные в таблице 1.6 о численности популяции были собраны в ходе лабораторного эксперимента, описывались бы они хотя бы приблизительно логистической моделью? Объясните почему. Если данные описываются логистической моделью, то можете ли оценить
и
в модели
?
Таблица 1.6. Значения численности популяции
0 1 2 3 4 5 6 7 8 9 10
1,94 3,04 4,62 6,72 9,26 11,88 14,08 15,52 16,26 16,60 16,72
1.2.8. Предположим, что популяция моделируется уравнением
когда
измеряется поштучно.
а. Найдите уравнение той же формы, описывающее ту же модель, но с популяцией, измеряемой в тысячах штук. Подсказка: пусть
, тогда
и можно найти формулу для описания зависимости
от
.