Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
УМК по матмоделированию1 Гвозд.doc
Скачиваний:
60
Добавлен:
13.02.2016
Размер:
863.23 Кб
Скачать
    1. Нелинейные математические модели

Реальные процессы, как правило, оказываются линейными в очень ограниченной области. Решение нелинейных уравнений аналитическими методами наталкивается на большие трудности, поэтому они решаются, как правило, численными методами.

Задача 1. Популяционная задача с учетом ограничения по ресурсам

В частности, в модели Мальтуса мы получаем неограниченный рост численности популяции, чего в действительности быть не может – численность, как правило, ограничена наличием тех или иных ресурсов, источников питания и т.п. Эта особенность учтена в так называемой логистической модели, описываемой уравнением

(10)

где - предельная численность популяции, которую может прокормить данная территория

В связи с введением нелинейности решение может иметь различный характер, в частности наблюдаются три различных типа решений:

1. N<Np– идёт экспоненциальный рост, замедляющийся по мере приближения к предельной численности.

2. N=Np– численность не меняется.

3. N>Np- идёт экспоненциальный спад, который замедляется по мере приближения к предельной численности.

Рис. 2. Зависимости численности популяции от времени в логистической модели

Проведём моделирование этой задачи в среде MATLAB. В отдельном файлеlogistic_model.mзададим функцию, описывающую дифференциальное уравнение

function dn=logistic_model(t,n,gamma,Np)

dn=gamma*(1-n./Np).*n;

Произведём расчёт для трёх различных начальных значений численности, результаты расчёта отобразим на графике (см. рис.2), подпишем оси, вставим заголовок и легенду

[t,y]=ode45(@logistic_model, [0 20], 100,[],0.1, 200);

[t1,y1]=ode45(@logistic_model, [0 20], 200,[],0.1, 200);

[t0,y0]=ode45(@logistic_model, [0 20], 400,[],0.1, 200);

plot(t,y,’:’,t1,y1,’-‘,t0,y0,’-.’),

grid, xlabel('Время t'), ylabel('Численность N')

title('Логистическая модель: dN/dt=\gamma_0\cdot(1-N/N_p)N; \gamma_0=0.1'),

legend(‘N_0<N_p’,’N_0=N_p’,N_0>N_p’)

Как видно из рисунка 2, независимо от начальной численности с течением времени количество особей в популяции стремится к предельному значению

Задача 2. Популяционная задача с учетом ограничения по ресурсам и модуляции параметров

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

function dn=logistic_model1(t,n,gamma0,Np,T)

gamma=gamma0*(1+cos(2*pi*t/T);

dn=gamma*(1-n./Np).*n;

Результат расчёта для трёх различных начальных состояний при T=1 показан на рис.3. Как видно из сравнения с рис.2, на кривых появляются модуляции.

Рис. 3. Зависимости численности популяции от времени в логистической модели с модуляцией коэффициента прироста

Рассмотрим случай периодической изменчивости оптимальной численности популяции . Функция, определяющая дифференциальное уравнение, в этом случае записывается

function dn=logistic_model2(t,n,gamma,Np0,T)

Np=Np0*(1+0.2*cos(2*pi*t/T);

dn=gamma*(1-n./Np).*n;

Как видно из рис.4, во всех решениях, независимо от начального состояния, появляется периодичность. Интересно, что несмотря на симметричность модуляции наблюдается снижение оптимального уровня, происходящее, видимо, за счёт нелинейности задачи.

Рис. 4. Зависимости численности популяции от времени в логистической модели с модуляцией оптимального уровня