Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * To change this license header, choose License Headers in Project Properties.
- * To change this template file, choose Tools | Templates
- * and open the template in the editor.
- */
- package ficha_3;
- import java.util.*;
- import java.io.File;
- import java.io.FileNotFoundException;
- import java.io.PrintWriter;
- import java.util.logging.Level;
- import java.util.logging.Logger;
- /**
- *
- * @author j_mig_000
- */
- public class Ficha_3 {
- static int animaisEuler(double coelhos,double raposas,ArrayList<String> coelhosArray,ArrayList<String> raposasArray,double vezes,float passo){
- double somaCoelho,somaRaposa;
- double a11 = 5;
- double a12 = 0.05;
- double a21 = 0.0004;
- double a22 = 0.2;
- for(float i=passo;i<=vezes;i+=passo){
- somaCoelho =(a11*coelhos)-(a12*coelhos*raposas);
- somaRaposa =(a21*coelhos*raposas)-(a22*raposas);
- coelhos += passo*somaCoelho;
- raposas += passo*somaRaposa;
- coelhosArray.add(String.valueOf(coelhos));
- raposasArray.add(String.valueOf(raposas));
- }
- return 0;
- }
- static void runge_kutta(float passo, float vezes,double coelhos,double raposas,ArrayList<String> coelhosArray,ArrayList<String> raposasArray){
- double a11 = 5;
- double a12 = 0.05;
- double a21 = 0.0004;
- double a22 = 0.2;
- double somaCoelhos,somaCoelhos1;
- double somaRaposas,somaRaposas1;
- double c1=0.5;
- double c2=0.5;
- double alpha=1;
- double k1C,k1R,k2C,k2R;
- for(float i=passo;i<=vezes;i+=passo){
- somaCoelhos=(a11*coelhos)-(a12*coelhos*raposas);
- somaRaposas=(a21*coelhos*raposas)-(a22*raposas);
- k1C=passo*somaCoelhos;
- k1R=passo*somaRaposas;
- somaCoelhos1=(a11*(coelhos+alpha*k1C))-(a12*(coelhos+alpha*k1C)*(raposas+alpha*k1R));
- somaRaposas1=(a21*(coelhos+(alpha*k1C))*(raposas+(alpha*k1R)))-(a22*(raposas+(alpha*k1R)));
- k2C=passo*somaCoelhos1;
- k2R=passo*somaRaposas1;
- coelhos+=k1C*c1+k2C*c2;
- raposas+=k1R*c1+k2R*c2;
- coelhosArray.add(String.valueOf(coelhos));
- raposasArray.add(String.valueOf(raposas));
- }
- }
- static void CSV(ArrayList<String> Coelhos,ArrayList<String> Raposas) throws FileNotFoundException{
- PrintWriter pwCoelhos = new PrintWriter(new File("GraficosCoelhos.csv"));
- StringBuilder sbCoelhos = new StringBuilder();
- PrintWriter pwRaposas = new PrintWriter(new File("GraficosRaposas.csv"));
- StringBuilder sbRaposas = new StringBuilder();
- sbCoelhos.append("Coelhos");
- sbCoelhos.append('\n');
- sbRaposas.append("Raposas");
- sbRaposas.append('\n');
- for (String Coelho : Coelhos) {
- sbCoelhos.append(Coelho);
- sbCoelhos.append('\n');
- }
- pwCoelhos.write(sbCoelhos.toString());
- pwCoelhos.close();
- for (String Raposa : Raposas) {
- sbRaposas.append(Raposa);
- sbRaposas.append('\n');
- }
- pwRaposas.write(sbRaposas.toString());
- pwRaposas.close();
- }
- /**
- * @param args the command line arguments
- */
- public static void main(String[] args) {
- // TODO code application logic here
- ArrayList<String> listaR = new ArrayList<>();
- ArrayList<String> listaC = new ArrayList<>();
- listaR.add("85");
- listaC.add("520");
- ArrayList<String> listaR_kutta = new ArrayList<>();
- ArrayList<String> listaC_kutta = new ArrayList<>();
- listaR_kutta.add("85");
- listaC_kutta.add("520");
- float passo = (float) 0.5;
- int tempo = 10;
- animaisEuler(Double.parseDouble(listaC.get(0)), Double.parseDouble(listaR.get(0)),listaC,listaR, tempo, passo);
- runge_kutta(passo,tempo,Double.parseDouble(listaC.get(0)), Double.parseDouble(listaR.get(0)),listaC_kutta,listaR_kutta);
- try {
- CSV(listaC_kutta,listaR_kutta);
- } catch (FileNotFoundException ex) {
- Logger.getLogger(Ficha_3.class.getName()).log(Level.SEVERE, null, ex);
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement