Московский Государственный
Институт Электронной Техники
Курсовая работа
По курсу "Математическое моделирование"
По теме:
"Основные межвидовые взаимодействия, эволюция"
Выполнила:
Проверил:
Москва 2007
Модели отдельной популяции, могут достаточно точно описывать динамику популяции и в случае её взаимодействия с другими популяциями. Для этого в уравнение включаются соответствующие члены, выражающие влияние на численность данной популяции со стороны тех или иных видов.
В настоящее время для классификации возможных взаимодействий в экосистемах предлагается следующая формальная процедура: каждой паре видов сопоставляется три символа: либо "плюс", либо "нуль", либо "минусом" (когда изменение численности одного вида вызывает обратное изменение численности другого). Эти категории биотических взаимодействий приведены в таблице:
Тип | Влияние | ||
№ | взаимодействия | Первого вида на второй | Второго вида на первый |
1 | нейтрализм | 0 | 0 |
2 | аменсализм | – | 0 |
3 | комменсализм | + | 0 |
4 | конкуренция | – | – |
5 | Хищник–жертва | + | – |
6 | Мутуализ (симбиоз) | + | + |
Рассмотрим, как же ведут себя численности популяций при каждом из этих взаимодействий. Моделирование в Matlab. Модель отдельной популяции: Наиболее простым описанием динамики отдельно взятой популяции может служить так называемая логистическая модель, предложенная П. Ферхлюстом в позапрошлом веке для описания динамики человеческого населения и Р. Пёрлом уже в 20-ые годы прошлого столетия применительно к биологическим сообществам. Согласно ей, динамика численности популяции N описывается обыкновенным дифференциальным уравнением:
популяция экосистема моделирование дифференциальный
где a=const представляет собой максимальную удельную скорость роста популяции, коэффициент b=const описывает внутривидовую конкурентную борьбу. Коэффициент a представляет собой разность между естественным приростом С и смертностью D в популяции: a=С–D.
Содержимое functhion.m:
function dN=func(t,N)
global alfa beta;
dN=alfa*N-beta*N^2;
Содержимое work.m:
global beta alfa;
N0=100;
figure
hold on;
xlabel('Время')
ylabel('Численность')
beta=0.025;
alfa=2.5;
Nrav=alfa/beta;
for N0=Nrav-30:10:Nrav+30
[t,NN]=ode45('functhion',[0 3], N0, [], alfa, beta);
plot(t,NN,'g')
end
Очевидно, что неограниченный рост популяции невозможен, начиная с некоторого момента, он будет тормозиться в результате внутривидовой конкуренции.
Численность популяции первого вида не зависит от численности популяции второго вида, поэтому не имеет смысла строить график M(N), построим лишь графики M(t) и N(t).
Дифференциальные уравнения изменения численностей популяций имеют следующий вид:
Равновесие наступает при
Содержимое sistd.m:
function sist=func(t,p)
global a1 a2 b1 b2;
sist=[(a1-b1*p(1))*p(1); (a2-b2*p(2))*p(2)];
Содержимое work1.m
global a1 a2 b1 b2;
a1=2.5;
a2=3.1;
b1=0.002;
b2=0.0023;
N0=1400;
M0=1200;
[t X]=ode45('sistd',[0 5],[N0 M0]);
N=X(:,1);
M=X(:,2);
figure
hold on
grid on
plot(t,N,'b')
plot(t,M,'g')
xlabel('Время');
ylabel('Численности популяций');
legend('1ая популяция','2ая популяция')
hold off
Как видим, численности популяций не зависят друг от друга, чего и следовало ожидать.
Дифференциальные уравнения изменения численностей популяций имеют следующий вид:
Равновесие наступает при
Равновесие наступает лишь при условии
Содержимое siste.m:
function sist=func(t,p)
global a1 a2 b1 b2 b21;
if p(1)<=0
p(1)=0;
end
if p(2)<=0
p(2)=0;
end
sist=[(a1-b1*p(1))*p(1); (a2-b2*p(2)-b21*p(1))*p(2)];
Содержимое work2.m
global a1 a2 b1 b2 b21;
a1=2.5;
a2=4.2;
% a2=3.1;
b1=0.002;
b2=0.0023;
b21=0.0033;
Nrav=a1/b1;
Mrav=(a2-b21*a1/b1)/b2;
N0=500;
M0=1500;
[t X]=ode45('siste',[0 20],[N0 M0]);
N=X(:,1);
M=X(:,2);
figure
hold on
grid on
plot(t,N,'b')
plot(t,M,'g')
xlabel('Время');
ylabel('Численности популяций');
legend('1ая популяция','2ая популяция')
hold off
figure
hold on
grid on
if(a2>b21*a1/b1)
plot(N,M,'r')
plot(Nrav,Mrav,'b*')
else
plot(N,M,'')
end
plot(N0,M0,'m*')
xlabel('1ая популяция');
ylabel('2ая популяция');
hold off
a2=4.2:
Как показывают графики, численность первой популяции изменяется так, как будто она изолирована, а вот численность второй популяции стремительно падает под пагубным действием первой. Но численности обеих популяций со временем стремятся к определенным равновесным значением.
a2=3.1:
А здесь мы видим, что численность первой популяции достигла своего равновесного значения, а вторая популяция прекратила свое существование.
Дифференциальные уравнения изменения численностей популяций имеют следующий вид:
Равновесие наступает при
Очевидно, что при любых значениях коэффициентов будет наблюдаться равновесие.
Содержимое siste.m:
function sist=func(t,p)
global a1 a2 b1 b2 b21;
if p(1)<=0
p(1)=0;
end
if p(2)<=0
p(2)=0;
end
sist=[(a1-b1*p(1))*p(1); (a2-b2*p(2)+b21*p(1))*p(2)];
Содержимое work3.m аналогично work2.m
Вторая популяция до достижения равновесия растет значительно быстрее, чем первая, это происходит благодаря коэффициенту β21, хотя он имеет не такое уж большое значение.
a1=2.5;
a2=4.2;
b1=0.002;
b2=0.007;
b21=0.0033;
Дифференциальные уравнения изменения численностей популяций имеют следующий вид:
Равновесие наступает при
Равновесие наступит при
Обозначим
Равновесие наступит при
Обозначим
Со словом конкуренция ассоциируются слова: победитель, побежденный. Зададимся вопросом, в каком случае конкурентную борьбу выиграет первая популяция, а в каком – вторая.
Очевидно, что при k1>1 и k2<1 доминировать будет первая популяция. Действительно, так как
и , то доля естественного прироста первой популяции и уменьшения численности второй популяции за счет межвидовой конкуренции больше чем доля естественного прироста второй популяции и уменьшения численности первой за счет внутривидовой конкуренции (т. к. k1>1). И делая аналогичные заключения из неравенства k2<1, можно сделать вывод, что численность первой популяции в итоге будет выше.Рассуждая аналогично, при k2>1 и k1<1 доминировать будет вторая популяция.
В данном случае для нас больший интерес несут графики зависимости численности от времени.
Содержимое sistb.m:
function sist=func(t,p)
global a1 a2 b11 b22 b12 b21;
if p(1)<=0
p(1)=0;
end
if p(2)<=0
p(2)=0;
end
sist=[(a1-b11*p(1)-b12*p(2))*p(1); (a2-b22*p(2)-b21*p(1))*p(2)];
Содержимое work4.m
global a1 a2 b11 b22 b12 b21;
a1=0.2;
a2=0.24;
b11=0.004;
b22=0.0035;
b12=0.0033;
b21=0.0029;
k2=b12*a2/(a1*b22);
k1=a1*b21/(b11*a2);
N0=500;
M0=1500;
[t X]=ode45('sistb',[0 10],[N0 M0]);
N=X(:,1);
M=X(:,2);
figure
hold on
grid on
plot(t,N,'b')
plot(t,M,'g')
xlabel('Время');
ylabel('Численности популяций');
legend('1ая популяция','2ая популяция')
hold off
if(k2>1)
if(k1<1)
disp('Конкурентную борьбу выигрывает второй вид')