регистрация / вход

Основные межвидовые взаимодействия, эволюция

Формальная процедура классификации возможных взаимодействий численности популяций в экосистемах. Моделирование логистической структуры в Matlab. Составление дифференциальных уравнений и программы изменения количества популяций биологических сообществ.

Московский Государственный

Институт Электронной Техники

(Технический Университет)

Курсовая работа

По курсу "Математическое моделирование"

По теме:

"Основные межвидовые взаимодействия, эволюция"

Выполнила:

Азанова И.В.
гр.МП-30

Проверил:

Лисовец Ю.П.

Москва 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('Конкурентную борьбу выигрывает второй вид')

end

end

if(k2<1)

if(k1>1)

disp('Конкурентную борьбу выигрывает первый вид')

end

end

>> work4

Конкурентную борьбу выигрывает второй вид

При a1=0.44

>> work4

Конкурентную борьбу выигрывает первый вид

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


Как видим из графиков, наши предположения насчет победителя в конкурентной борьбе были верны.

Хищник – жертва:

Достаточно подробно этот случай был рассмотрен на лабораторной работе. Однако же приведем модель, учитывающую внутривидовую конкуренцию в обеих популяциях.

Дифференциальные уравнения изменения численностей популяций имеют следующий вид:

Равновесие наступает при

Равновесие наступит при

Содержимое sistс.m:

function sistc=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)];

Содержимое work5.m

global a1 a2 b11 b22 b12 b21;

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',[0 15],[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 b12 b21;

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 b12 b21 n1 n2 n3 n4 t1 t2 t3 t4 t5;

if p(1)<=0

p(1)=0;

end

if p(2)<=0

p(2)=0;

end

if p(1)>950

b21=0.0003;

if t1<0

t1=t

end

if p(1)>1100

b21=0.0005;

n2=2;

if t2<0

t2=t

end

end

n1=2;

end

if n2>1

if p(2)<990

b12=0.0002;

n3=2;

if t3<0

t3=t

end

end

end

if n3>1

if p(2)>1070

b12=0.0003;

n4=2;

if t4<0

t4=t

end

end

end

if n4>1

if p(1)<990

b12=-0.0002;

if t5<0

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 b12 b21 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',[0 7],[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, первая популяция начинает питаться второй, что сдерживает рост второй популяции и падение численности первой.

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

ОТКРЫТЬ САМ ДОКУМЕНТ В НОВОМ ОКНЕ

ДОБАВИТЬ КОММЕНТАРИЙ [можно без регистрации]

Ваше имя:

Комментарий