Рисунок 1.1. Темпы роста численности
Конечно, нельзя предугадать, как выглядит график
Вопросы для самопроверки:
– Постройте график темпов роста значений численности по мальтузианской модели. Чем тот график отличается от изображенного на рисунке 1.1?
Для мальтузианской модели
Параметры
Другими словами,
Вопросы для самопроверки:
– Какие значения можно ожидать от
Как вы увидите в задачах ниже, существует много способов, которыми разные авторы формируют логистические модели, в зависимости от того, смотрят ли на
Таблица 1.5. Популяционные значения из нелинейной модели
t 0 1 2 3 4 5 6 7 8 9 10
Вопросы для самопроверки:
– Какой смысл могут иметь популяции, значения которых не являются целыми числами?
Если измерять размер популяции в единицах, таких как тысячи или миллионы особей, то нет никаких оснований для того, чтобы популяции были целыми числами. Для некоторых видов, таких как коммерчески ценные рыбы, может быть даже целесообразно использовать единицы массы или веса, такие как тонны.
Другая причина, по которой нецелочисленные значения популяции не вызывают опасения, даже если используем поштучные единицы измерения, заключается в том, что пытаемся лишь приблизительно описать размер популяции. Нет ожидания того, что модель даст точные прогнозы. Пока числа невелики, можно просто игнорировать дробные части без значительных потерь.
В таблице 1.5 видим, что популяционное значение увеличивается до пропускной способности 10, как и ожидалось. Сначала это увеличение кажется медленным, затем оно ускоряется, а затем снова замедляется. Построение значений популяции на рисунке 1.2 показывает сигмовидную картину, которая часто появляется в данных тщательно контролируемых лабораторных экспериментов, в которых популяции увеличиваются в ограниченной среде. График показывает значения популяции, связанные сегментами линий, чтобы сделать шаблон более ясным, хотя дискретные временные шаги нашей модели действительно дают популяции только в целочисленное время. Таким образом, с интуитивной точки зрения мы добились определенного прогресса; у нас есть более реалистичная модель для описания роста населения или численности выпускников физико-математических специальностей.
Рисунок 1.2. Популяционные значения из нелинейной модели.
Однако с математической точки зрения не всё так хорошо. В отличие от линейной модели, нет очевидной формулы для
Это то, с чем приходится мириться: хотя нелинейные модели более реалистичны, зачастую не представляется возможным получение явных формул для решения нелинейных дифференциальных уравнениях. Вместо этого используются графические методы и численные эксперименты для того, чтобы получить общее представление о поведении модели.
Первый из таких методов называется «Паутина». Паутина является основным графическим методом для понимания математической модели дискретного логистического уравнения. Это лучше всего проиллюстрировать на примере.
Рассмотрим еще раз модель
Далее хотелось бы найти
Рисунок 1.3. Паутинная диаграмма нелинейной модели.
Судя по графику ясно, что если начальная популяция
Если оставить те же значения
Рисунок 1.4. Паутинная диаграмма нелинейной модели.
Действительно, становится ясным, что если
Вопросы для самопроверки:
– Для модели
– Что произойдет, если
Если популяция становится отрицательной, то мы должны интерпретировать это как вымирание.
На этом этапе можно узнать гораздо больше, изучая логистическую модель с помощью калькулятора или компьютера, чем просто прочитав текст. Упражнения ниже помогут в этом. На самом деле обнаружится, что логистическая модель имеет некоторые сюрпризы, которые вы, возможно, не ожидаете.
Задачи для самостоятельного решения:
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. Дано уравнение модели
а. Постройте график функции
x=[0:.1:12]
y=.8*x.*(1-x/10)
plot(x,y)
б. Постройте график функции
в. Вычислите значения
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. Предположим, что популяция моделируется уравнением
а. Найдите уравнение той же формы, описывающее ту же модель, но с популяцией, измеряемой в тысячах штук. Подсказка: пусть
б. Найдите уравнение той же формы, описывающее ту же модель, но для популяции, измеряемой в единицах, выбранных таким образом, чтобы пропускная способность составляла 1 в этих единицах. Для начала определите пропускную способность исходной модели.
1.2.9. Метод построения паутинной диаграммы для изучения итерированных моделей не ограничивается только моделированием логистического роста, описанного выше. Определите графически популяции в каждой из моделей на рисунке 1.5 выполнив шесть итераций приращения, используя отмеченные начальные значения численности популяции
а.
б.
в.
г.
Рисунок 1.5. Паутинные диаграммы для задачи 1.2.9.
1.2.10. Приведите формулу для графика, изображенного в части (а) рисунка 1.5. Как называется такая модель?
1.2.11. Некоторые из одних и тех же идей и моделей, используемых в исследованиях популяций, появляются в совершенно неожиданных научных областях.
a. Часто химические реакции протекают со скоростью, пропорциональной количеству участвующего в реакции вещества. Предположим, что используется очень малый временной интервал, чтобы смоделировать такое действие разностным уравнением. Пусть общее количество химических веществ участвующих в реакции равно