Смекни!
smekni.com

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

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

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