|
|
捕獲
第3者による捕獲が行なわれるとすると、
捕獲能力が一定であれば個体数に比例した割合で減少する。
eとfを捕獲係数と名付けよう。
プログラムでは、LotkaVolterraクラスのdx/dtとdy/dtのメソッドを少し変更。
プログラム規模が小さいからeとfはフィールドに直接アクセスして設定する。
初期の設定でe = f = 0として、生成時は基本モード。
プログラムソース:
class LotkaVolterra{
double a, b, c, d;
double e = 0, f = 0;
LotkaVolterra(double a, double b, double c, double d){
this.a = a;
this.b = b;
this.c = c;
this.d = d;
}
LotkaVolterra(double m){
settingM(m);
}
void settingM(double m){
a = 1.0;
b = 1.0;
c = m;
d = m;
}
void StruggleMode(){
if (c >= 0) c = -c;
if (d >= 0) d = -d;
}
void NormalMode(){
if (c <= 0) c = -c;
if (d <= 0) d = -d;
}
double dxdt(double x, double y){
return a * x - b * x * y - e * x;
}
double dydt(double x, double y){
return -c * y + d * x * y - f * y;
}
}
last update 2006/08/31
|
戻る
|