Московский Государственный
Институт Электронной Техники
(Технический Университет)
Курсоваяработа
По курсу «Математическое моделирование»
По теме:
«Основные межвидовые взаимодействия, эволюция»
Выполнила:Азанова И.В.гр.МП-30
Проверил:Лисовец Ю.П.
Москва 2007
Основные межвидовыевзаимодействия
Модели отдельнойпопуляции, могут достаточно точно описывать динамику популяции и в случае еёвзаимодействия с другими популяциями. Для этого в уравнение включаютсясоответствующие члены, выражающие влияние на численность данной популяции состороны тех или иных видов.
В настоящее время дляклассификации возможных взаимодействий в экосистемах предлагается следующаяформальная процедура: каждой паре видов сопоставляется три символа: либо «плюс»,либо «нуль», либо «минусом» (когда изменение численностиодного вида вызывает обратное изменение численности другого). Эти категориибиотических взаимодействий приведены в таблице: Тип Влияние № взаимодействия Первого вида на второй Второго вида на первый 1 нейтрализм 2 аменсализм – 3 комменсализм + 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',[03], 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',[05],[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)
p(1)=0;
end
if p(2)
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',[020],[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)
p(1)=0;
end
if p(2)
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 и />, то доля естественногоприроста первой популяции и уменьшения численности второй популяции за счетмежвидовой конкуренции больше чем доля естественного прироста второй популяциии уменьшения численности первой за счет внутривидовой конкуренции (т. к. k1>1).И делая аналогичные заключения из неравенства k2
Рассуждая аналогично,при k2>1 и k1
В данном случае для насбольший интерес несут графики зависимости численности от времени.
Содержимоеsistb.m:
function sist=func(t,p)
global a1 a2 b11 b22 b12b21;
if p(1)
p(1)=0;
end
if p(2)
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 b22b12 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',[010],[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
disp('Конкурентную борьбу выигрываетвторой вид')
end
end
if(k2
if(k1>1)
disp('Конкурентную борьбу выигрываетпервый вид')
end
end
>> work4
Конкурентную борьбувыигрывает второй вид
/>
При a1=0.44
>> work4
Конкурентную борьбувыигрывает первый вид
Действительно, вконкурентной борьбе одерживает победу первый вид, хотя его начальнаячисленность была в три раза меньше численности второго вида, отсюда можносделать вывод, что коэффициенты в решении об исходе борьбы играют большую роль,чем начальные численности популяций.
/>
Как видим из графиков,наши предположения насчет победителя в конкурентной борьбе были верны.Хищник – жертва:
Достаточно подробноэтот случай был рассмотрен на лабораторной работе. Однако же приведем модель,учитывающую внутривидовую конкуренцию в обеих популяциях.
Дифференциальныеуравнения изменения численностей популяций имеют следующий вид:
/>
Равновесие наступаетпри
/>
/>
/>
Равновесие наступит при
/>
Содержимоеsistс.m:
function sistc=func(t,p)
global a1 a2 b11 b22 b12b21;
if p(1)
p(1)=0;
end
if p(2)
p(2)=0;
end
sist=[(a1-b11*p(1)-b12*p(2))*p(1);(-a2-b22*p(2)+b21*p(1))*p(2)];
Содержимоеwork5.m
global a1 a2 b11 b22 b12b21;
a1=10;
a2=0.24;
b11=0.004;
b22=0.0035;
b12=0.042;
b21=0.033;
Mrav=(-a2*b11+b21*a1)/(b22*b11+b21*b12);
Nrav=(a1*b22+b12*a2)/(b22*b11+b21*b12);
N0=900;
M0=800;
[t X]=ode45('sistc',[015],[N0 M0]);
N=X(:,1);
M=X(:,2);
figure
hold on
grid on
plot(t,N,'b')
plot(t,M,'g')
xlabel('Время');
ylabel('Численности популяций');
legend('Жертва','Хищник')
hold off
figure
hold on
grid on
if(b21*a1>a2*b11)
plot(N,M,'r')
plot(Nrav,Mrav,'b*')
else
plot(N,M,'g')
end
plot(N0,M0,'m*')
xlabel('Жертва');
ylabel('Хищник');
hold off
/>
По графику легкопроследить, что при увеличении численности жертвы увеличивается численностьхищника, после чего численность жертвы падает, что влечет за собой уменьшениечисленности хищника, после чего численность жертвы снова увеличивается.
/>
А при такихкоэффициентах численности популяций увеличиваются
b12=0.00403;
b21=0.0035;
/>
/>
А при таких коэффициентах,как популяция жертвы, так и популяция хищника, прекратят свое существование.
a1=0.34;
a2=0.44;
b11=0.013;
b22=0.0035;
b12=0.042;
b21=0.012;
/>
/>Мутуализм (симбиоз):
Дифференциальныеуравнения изменения численностей популяций имеют следующий вид:
/>
Равновесие наступаетпри
/>
/>
/>
Равновесие наступит при
/>
Содержимоеsista.m:
function sist=func(t,p)
global a1 a2 b11 b22 b12b21;
sist=[(a1-b11*p(1)+b12*p(2))*p(1);(a2-b22*p(2)+b21*p(1))*p(2)];
Содержимое work6.mаналогично work5.m
При коэффициентах
a1=0.2;
a2=0.24;
b11=0.004;
b22=0.0035;
b12=0.0033;
b21=0.0029;
/>
/>
Как видим, несмотря нина что (даже на благотворное влияние популяций друг на друга), численностипопуляций падают.
При коэффициентах
b12=0.0042;
b21=0.0033;
/>
/>
А в этом случаечисленности популяций растут до определенного равновесного значения.
А при коэффициентах
b12=0.00403;
b21=0.0035;
/>
/>
Численности популяцийнеограниченно растут, причем можно заметить, что с увеличением временичисленности популяций практически совпадают.Эволюция:
На основе полученныхзнаний об основных межвидовых взаимодействиях попробуем смоделировать эволюцию.
Определим сценарийэволюции. Зададим его таблицей, которая определяет изменения отношений междупопуляциями во времени. В этой таблице каждой паре видов сопоставляетсятри символа: либо «плюс» (когда изменение численности одного видавызывает аналогичное изменение численности другого), либо «нуль» (приотсутствии влияния), либо «минусом» (когда изменение численностиодного вида вызывает обратное изменение численности другого).
/>
В таблице под словамине чистая модель хищник – жертва следует принимать, что хищник питается нетолько этой жертвой, но и чем-то другим, то есть при отсутствии данной жертвыхищник не погибнет. Примем равными начальные численности популяций.
Смоделируем этуситуацию в MATLAB.
Зададим функцию,описывающую изменение численностей популяций.
Содержимоеsistev.m
function sist=func(t,p)
global a1 a2 b11 b22 b12b21 n1 n2 n3 n4 t1 t2 t3 t4 t5;
if p(1)
p(1)=0;
end
if p(2)
p(2)=0;
end
if p(1)>950
b21=0.0003;
if t1
t1=t
end
if p(1)>1100
b21=0.0005;
n2=2;
if t2
t2=t
end
end
n1=2;
end
if n2>1
if p(2)
b12=0.0002;
n3=2;
if t3
t3=t
end
end
end
if n3>1
if p(2)>1070
b12=0.0003;
n4=2;
if t4
t4=t
end
end
end
if n4>1
if p(1)
b12=-0.0002;
if t5
t5=t
end
end
end
sist=[(a1-b11*p(1)-b12*p(2))*p(1);(a2-b22*p(2)-b21*p(1))*p(2)];
Содержимоеevolucia.m
clear
global a1 a2 b11 b22 b12b21 n1 n2 n3 n4 t1 t2 t3 t4 t5;
t1=-1;
t2=-1;
t3=-1;
t4=-1;
t5=-1;
n1=0;
n2=0;
n3=0;
n4=0;
a2=2.5;
a1=2.6;
b22=0.002;
b11=0.0023;
b12=0;
b21=0;
N0=700;
M0=700;
[t X]=ode113('sistev',[07],[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
Результат работыпрограммы:
>> evolucia
t1 =
0.45
t2 =
1.27
t3 =
2.06
t4 =
3.16
t5 =
4.27
/>
Удовлетворяет ли данныйграфик нашему сценарию?
Глядя на график, можносказать следующее. На промежутке времени (0 0,45) численности изменяютсянезависимо друг от друга. Далее во время (0,45 1,27) первая популяция подавляетразвитие второй, а во время (1,27 2,06) негативное влияние первой популяции навторую сказывается еще сильнее. После этого, во время (2,06 3,16) втораяпопуляция начала конкурировать с первой, что привело к увеличению численностивторой популяции и уменьшению численности первой. А ко времени (3,16 4,27)вторая популяция стала уже более серьезным конкурентом для первой. Начиная смомента времени, равного 4,27, первая популяция начинает питаться второй, чтосдерживает рост второй популяции и падение численности первой.
Таким образом,полученный график удовлетворяет нашему сценарию эволюции.