Добавить в цитаты Настройки чтения

Страница 9 из 36

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. Предположим, что популяция моделируется уравнением  когда  измеряется поштучно.

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