アットウィキロゴ

kaiki66

package kaiki;
 
import tool.*;
 
public class pro {
 String[] code=new String[50000];
     String[] codex=new String[50000];
  int[] point=new int[5000];
     String[] v=new String[50000];
     String[] v2=new String[50000];
      String[] data=new String[50000];
    int s,sx,datanumber;
    String[] t=new String[5000];
 
      int[] number_dic=new int[5000];
      int[] y=new int[5000];
 
      int[] v1=new int[5000];
   double[] p=new double[5000];
   double[] sol=new double[50];
 int number;
 double[][] x=new double[700][60];
 
    public static void main(String[] args) {
        pro te=new pro();
    }
    pro(){
 
    readfile sub=new readfile();
    sub.makedata("point.txt","SJIS");
    datanumber=sub.datanumber;
    data=sub.data;
 
        int sx=0;
    for(s=1;s<datanumber+1;s++){
  String[] x=data[s].split(",");
 if(x[0].indexOf("△")<0)sx=sx+1;
  if(x[0].indexOf("△")<0)point[sx]=numx(x[1]);
if(x[0].indexOf("△")<0)p[sx]=num(x[2]);
   if(x[0].indexOf("△")<0)t[sx]=x[0];   
    }
 
 
    datanumber=sx;
 
    number=2;
    for(s=1;s<datanumber+1;s++){
      x[s][1]=1;
      x[s][2]=point[s];
      }
 
     ols sub3=new ols();
      sub3.datanumber=datanumber;
      sub3.number=number;
      sub3.x=x;
      sub3.y=p;
      sub3.makedata();
      sol=sub3.sol;
 
       for(s=1;s<datanumber+1;s++){
      System.out.println(t[s]+","+(sol[1]+sol[2]*point[s])+","+p[s]);
    }
 
    System.out.println(sol[2]);
 
 
 
 
 
 
 
    }
 
    double num(String str){
 
    double nx;
 
    nx=0;
 
 try{
 
    nx=Double.parseDouble(str);
 
 }catch (Exception e) {}
 
 return nx;
 
 
 
}
      int numx(String str){
 
    int nx;
 
    nx=0;
 
 try{
 
    nx=Integer.parseInt(str);
 
 }catch (Exception e) {}
 
 return nx;
 
 
 
}
 
 
 
}
 
package kaiki;
 
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];
   }
 
 
 
 
 
    }
}
 
最終更新:2016年08月25日 21:04