Java ウサギとキツネ

計算機シミュレーションの時間。
ウサギとキツネについての連立一次微分方程式を適当に解く。

import java.io.*;
public class Report1{
public static void main(String[] args) throws IOException{
// rabbit and fox
double r0 = 3;
double f0 = 1;
double rt,rtt,ft,ftt;
double br = 1;
double df = 1;
double a = 0.2;
double b = 0.02;
// time
double t;
double t0 = 0.0;
double tt = 25.0;
double dt = 0.01;
// init
rt = ( 1.0 + ( br - a * f0 ) * dt ) * r0;
ft = ( 1.0 + ( b * r0 - df ) * dt ) * f0;
File file = new File("test.csv");
PrintWriter pw = new PrintWriter(new FileWriter(file));
//0
pw.println("0,"+rt+","+ft);
for(t = t0; t < tt; t += dt){
double tr = rt;
rtt = ( 1.0 + ( br - a * ft ) * dt ) * rt;
ftt = ( 1.0 + ( b * rt - df ) * dt ) * ft;
pw.println(t+","+rtt+","+ftt);
rt = rtt;
ft = ftt;
}
pw.close();
}
}

返信を残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です