为什么我的Lotka-Volterra时间序列图中没有振荡出现在Matlab中?

时间:2016-10-11 21:24:31

标签: matlab matlab-figure differential-equations runge-kutta

我正在尝试使用耦合的DE来模拟Lotka-Volterra Predator-Prey系统:

  

dy(1)/ dt = rx(1-x / k) - ay(1)y(2)%猎物种群

     

dy(2)/ dt = aby(1)y(2) - dy(2)%捕食者种群

这是我的代码:

% Solves equations using numerical ODE solver 45 (nonstiff runge kutta)

runtime = 1000; % Duration time of simulation in seconds.

%Parameter values used in simulation 

r = 0.5; % exponentional growth rate of prey in absence of predator

a = 0.01;% conversion efficiency of predator

b = 0.02; % attack rate

d = 0.10; % death rate

k = 750; % carrying capacity

y0 = [10, 10] % initial conditions y(1)= 10, y(2) = 10

deq1=@(t,y) [r.*y(1)*(1-(y(1)./k))- a.*y(1)*y(2); a.*b.*y(1).*y(2)-    d.*y(2)];

[t,sol] = ode45(deq1,[0 runtime],y0);

如何更改我的代码,以便时间序列图(y(1)与时间)显示振荡,而不是稳定状态?在集成步骤中似乎出现了问题,因为这些图是按照我想要的方式构建的,但函数的行为并不是我所期望的。

稳态时间序列图

Steady state time series plots

相图达到平衡

Phase plot reaching equilibrium

0 个答案:

没有答案