Математические модели в естественнонаучном образовании
Шрифт:
Рисунок 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;