1

私はそれが簡単な修正であることを知っていますが、誰かがそれを見てください:

a12= 0
a21= 0
K1= 1000
K2= 600
r1= 0.2
r2= 0.1
N1= ((K1 - a12*K2)/(1 - a12*a21))
N2= ((K2 - a21*K1)/(1 - a21*a12))
for(t in 1:80){
  N1[t+1]= N1(t) + r1*N1(t)*(K1 - N1 - a12*N2)/K1
  N2[t+1]= N2(t) + r2*N2(t)*(K2 - N2 - a21*N1)/K2
}
## Error: could not find function "N1"

修正されたコード:

N1= rep(0,80)
N2= rep(0,80)
a12= 0
a21= 0
K1= 1000
K2= 600
r1= 0.2
r2= 0.1
N1[1]= ((K1 - a12*K2)/(1 - a12*a21))
N2[1]= ((K2 - a21*K1)/(1 - a21*a12))
for(t in 1:80){
N1[t+1]= N1[t] + r1*N1[t]*(K1 - N1[t] - a12*N2[t])/K1
N2[t+1]= N2[t] + r2*N2[t]*(K2 - N2[t] - a21*N1[t])/K2
}
plot(1:81, N1, type="l", lwd=3, xlab="Time")
lines(1:81, N2, lwd=3, col='red')

a12 と a21 の値を変更してプロットを実行すると、2 つの種の間の競争力をモデル化したので、予想どおりの結果になりました。

私が実行している3つのモデル:

no competition-        a12=0     a21=0
stable coexistence-    a12=0.25  a21=0.1
competitive exclusion- a12=0.25  a21=0.75
4

2 に答える 2

0

に置き換えN1(t)ますN1[t]。についても同じことを行いN2ます。

Matlab注:構文とは異なる配列のインデックス付けに構文を使用していると思いRます。

于 2013-04-17T04:26:00.467 に答える