アットウィキロゴ

var

package var;
 
import tool.*;
 
public class pro {
 
    double[] y=new double[1000];
    double[][] x=new double[1000][10];
    int  s,datanumber,number;
     double[] sol=new double[100];
    String file;
 String[] data=new String[100];
    double[] c1=new double[200];
  double[] c2=new double[200];
 
    public static void main(String[] args) {
       pro test=new pro();
    }
 
 
  pro(){  
 
 
 
      readfile sub2=new readfile();
      sub2.makedata("data.csv", "UTF-8");
      data=sub2.data;
      datanumber=sub2.datanumber;
 
 
 
      for(s=1;s<datanumber+1;s++){
      String[] x1=data[s].split(",");
      c1[s]=Double.parseDouble(x1[0]);
      c2[s]=Double.parseDouble(x1[1]);
          System.out.println(c1[s]);
      }
 
 
 
 
 
   datanumber=datanumber-2;
   number=5;
 
   for(s=1;s<datanumber+1;s++){
   x[s][2]=c2[s+1];
   x[s][1]=1;
   x[s][3]=c1[s+1];
   x[s][4]=c2[s];
   x[s][5]=c1[s];
   y[s]=c2[s+2];
   }
 
   ols sub=new ols();
   sub.x=x;
   sub.y=y;
   sub.number=number;
   sub.datanumber=datanumber;
   sub.makedata();
   sol=sub.sol;
 
 
 
   System.out.println(sol[1]+","+sol[2]+","+sol[3]+","+sol[4]+","+sol[5]);
 
 
 
 
 
 
 
  }
}
 
 
 
package var;
 
 
public class ols {
 
    int s,s1,s2;
    int datanumber,number;
    double x1;
    double[][] a=new double[100][100];
     double[] b=new double[100];
     double[] y=new double[1000];
    double[][] x=new double[1000][10];
     double[] sol=new double[100];
 
    void makedata(){
 
 
 
     for(s1=1;s1<number+1;s1++){
    for(s2=1;s2<number+1;s2++){   
     x1=0;   
    for(s=1;s<datanumber+1;s++){
    x1=x1+x[s][s1]*x[s][s2];
    }
    a[s1][s2]=x1;
    }
    }
 
 
 
    for(s1=1;s1<number+1;s1++){
    x1=0;   
    for(s=1;s<datanumber+1;s++){
    x1=x1+x[s][s1]*y[s];
    }
    b[s1]=x1;
    }
 
    double z;
 
   for(s1=1;s1<number+1;s1++){
   for(s2=1;s2<number+1;s2++){   
   z=a[s2][s1]/a[s1][s1];  
   if(s1==s2)z=0;
   for(s=1;s<number+1;s++){
   a[s2][s]=a[s2][s]-z*a[s1][s];
   } 
   b[s2]=b[s2]-z*b[s1];
   }
   }
 
   for(s1=1;s1<number+1;s1++){
   sol[s1]=b[s1]/a[s1][s1];
   }
 
 
 
 
    }
}
 
最終更新:2014年03月01日 11:42