// // Discrete Time CA using rates and parameterised time // import java.util.*; import java.io.*; import java.awt.*; public class CARS extends CA { double tau; // the unit or measure of time public CARS(int n,int m,double tau,boolean draw){ super(n,m,draw); this.tau = tau; } public void setDeathRate(int species,double rate){ deathRate[species] = rate; pDeath[species] = 1.0 - Math.pow(Math.E,-rate*tau); } public void setBirthRate(int species,double rate){ birthRate[species] = rate; pBirth[species] = 1.0 - Math.pow(Math.E,-rate*tau); } void doBirths(int[][]X,int[][]Y){ int species = -1; for (int i=0;i 0){ CARS cars = new CARS(n,m,tau,draw); for (int i=1;i<=m;i++){ int species = i-1; int pop = Integer.parseInt(args[3*i]); cars.setBirthRate(species,Double.parseDouble(args[3*i+1])); cars.setDeathRate(species,Double.parseDouble(args[3*i+2])); for (int j=0;j