共回答了16个问题采纳率:93.8%
【1】用解析法
r1=0.01,r2=0.05,K1=1000,K2=1000,m=9e-6,n=4e-5
[N1,N2]=dsolve('DN1=(r1*(1-N1/K1)-m*N2)*N1','DN2=(r2*(1-N2/K2)-n*N1)*N2','N1,N2','N1(0)=0,N2(0)=0')
运行结果:
N1 =0
N2 =0
【2】数值法
function haha
clear all
clc
N0 = [0 0];%初值不为0时,图形有变化
[t,N] = ode45(@f,[0:0.2:1],N0)
plot(t,N)
function dNdt = f(t,N)
r1=0.01;r2=0.05;K1=1000;K2=1000;m=9e-6;n=4e-5;
dN1dt=(r1*(1-N(1)/K1)-m*N(2))*N(1);
dN2dt=(r2*(1-N(2)/K2)-n*N(1))*N(2);
dNdt = [dN1dt;dN2dt];
运行结果:
t =
0
0.2000
0.4000
0.6000
0.8000
1.0000
N =
0 0
0 0
0 0
0 0
0 0
0 0
再检查一下方程或初始条件吧,两种方法结果一样.
如果初值不为0,N的结果不是0.
1年前
2