package iox;
public class pro {
double[] y=new double[100];
double[][] a=new double[100][100];
double[] d=new double[100];
double[] ys=new double[100];
int number;
int s,sx;
public static void main(String[] args) {
pro t=new pro();
}
pro(){
catchdata sub2=new catchdata();
sub2.makedata();
a=sub2.a;
y=sub2.y;
number=sub2.number;
double y1;
for(s=1;s<number+1;s++){
y1=0;
for(sx=1;sx<number+1;sx++){
y1=y1+a[s][sx];
}
d[s]=y[s]-y1;
}
mat sub=new mat();
sub.number=number;
sub.a=a;
sub.d=d;
sub.y=y;
sub.makedata();
ys=sub.ys;
for(s=1;s<number+1;s++){
System.out.println(ys[s]-y[s]);
}
}
}
package iox;
import tool.*;
public class catchdata{
double[][] a=new double[300][300];
double[] y=new double[300];
double[][] beta=new double[300][300];
double[] im=new double[300];
double[] ex=new double[300];
double[]inv_p=new double[300];
double[] inv_g=new double[300];
double[] c_p=new double[300];
double[] c_p2=new double[300];
double[] c_g=new double[300];
double[] good=new double[300];
double[] c_g2=new double[300];
int number;
String[] data=new String[50000];
int s,sx,datanumber,tx;
String[] code_index=new String[50000];
String[] code_credit=new String[50000];
String[] index=new String[50000];
String[] credit=new String[50000];
double[] v=new double[30000];
int number_index,number_credit;
String[] dic_index=new String[500];
String[] dic_credit=new String[500];
String[] name_index=new String[500];
String[] name_credit=new String[500];
double[] w=new double[300];
double[] de=new double[300];
double[] tax=new double[300];
double[] r=new double[300];
void makedata(){
readfile sub7=new readfile();
sub7.makedata("ren.txt", "UTF-8");
data=sub7.data;
datanumber=sub7.datanumber;
String str;
for(s=1;s<datanumber+1;s++){
catchword sub8=new catchword();
code_index[s]=sub8.makedata(data[s],"code_index");
code_credit[s]=sub8.makedata(data[s],"code_credit");
index[s]=sub8.makedata(data[s],"index");
credit[s]=sub8.makedata(data[s],"credit");
str=sub8.makedata(data[s],"value");
v[s]=Double.parseDouble(str);
}
for(s=1;s<datanumber+1;s++){
code_index[s]=code_index[s].replace(" ","");
code_credit[s]=code_credit[s].replace(" ","");
}
number_index=0;
number_credit=0;
int h;
for(s=1;s<datanumber+1;s++){
h=0;
for(sx=1;sx<number_index+1;sx++){
if(code_index[s].equals(dic_index[sx]))h=100;
}
if(h<50)number_index=number_index+1;
if(h<50)dic_index[number_index]=code_index[s];
if(h<50)name_index[number_index]=index[s];
}
for(s=1;s<datanumber+1;s++){
h=0;
for(sx=1;sx<number_credit+1;sx++){
if(code_credit[s].equals(dic_credit[sx]))h=100;
}
if(h<50)number_credit=number_credit+1;
if(h<50)dic_credit[number_credit]=code_credit[s];
if(h<50)name_credit[number_credit]=credit[s];
}
for(s=1;s<26;s++){
for(sx=1;sx<26;sx++){
for(tx=1;tx<datanumber+1;tx++){
h=0;
if(code_index[tx].equals(dic_index[s]))h=h+1;
if(code_credit[tx].equals(dic_credit[sx]))h=h+1;
if(h==2)a[s][sx]=v[tx];
}}}
System.out.println(a[2][3]);
for(s=1;s<26;s++){
for(tx=1;tx<datanumber+1;tx++){
h=0;
if(code_index[tx].equals(dic_index[32]))h=h+1;
if(code_credit[tx].equals(dic_credit[s]))h=h+1;
if(h==2)y[s]=v[tx];
}}
for(s=1;s<26;s++){
for(tx=1;tx<datanumber+1;tx++){
h=0;
if(code_index[tx].equals(dic_index[29]))h=h+1;
if(code_credit[tx].equals(dic_credit[s]))h=h+1;
if(h==2)w[s]=v[tx];
}}
for(s=1;s<26;s++){
for(tx=1;tx<datanumber+1;tx++){
h=0;
if(code_index[tx].equals(dic_index[30]))h=h+1;
if(code_credit[tx].equals(dic_credit[s]))h=h+1;
if(h==2)r[s]=v[tx];
}}
for(s=1;s<26;s++){
for(tx=1;tx<datanumber+1;tx++){
h=0;
if(code_index[tx].equals(dic_index[27]))h=h+1;
if(code_credit[tx].equals(dic_credit[s]))h=h+1;
if(h==2)de[s]=v[tx];
}}
for(s=1;s<26;s++){
for(tx=1;tx<datanumber+1;tx++){
h=0;
if(code_index[tx].equals(dic_index[28]))h=h+1;
if(code_credit[tx].equals(dic_credit[s]))h=h+1;
if(h==2)tax[s]=v[tx];
}}
for(s=1;s<26;s++){
for(tx=1;tx<datanumber+1;tx++){
h=0;
if(code_index[tx].equals(dic_index[s]))h=h+1;
if(code_credit[tx].equals(dic_credit[27]))h=h+1;
if(h==2)c_g[s]=v[tx];
}}
for(s=1;s<26;s++){
for(tx=1;tx<datanumber+1;tx++){
h=0;
if(code_index[tx].equals(dic_index[s]))h=h+1;
if(code_credit[tx].equals(dic_credit[30]))h=h+1;
if(h==2)c_g2[s]=v[tx];
}}
for(s=1;s<26;s++){
for(tx=1;tx<datanumber+1;tx++){
h=0;
if(code_index[tx].equals(dic_index[s]))h=h+1;
if(code_credit[tx].equals(dic_credit[31]))h=h+1;
if(h==2)good[s]=v[tx];
}}
for(s=1;s<26;s++){
for(tx=1;tx<datanumber+1;tx++){
h=0;
if(code_index[tx].equals(dic_index[s]))h=h+1;
if(code_credit[tx].equals(dic_credit[33]))h=h+1;
if(h==2)inv_p[s]=v[tx];
}}
for(s=1;s<26;s++){
for(tx=1;tx<datanumber+1;tx++){
h=0;
if(code_index[tx].equals(dic_index[s]))h=h+1;
if(code_credit[tx].equals(dic_credit[32]))h=h+1;
if(h==2)inv_g[s]=v[tx];
}}
for(s=1;s<26;s++){
for(tx=1;tx<datanumber+1;tx++){
h=0;
if(code_index[tx].equals(dic_index[s]))h=h+1;
if(code_credit[tx].equals(dic_credit[34]))h=h+1;
if(h==2)ex[s]=v[tx];
}}
for(s=1;s<26;s++){
for(tx=1;tx<datanumber+1;tx++){
h=0;
if(code_index[tx].equals(dic_index[s]))h=h+1;
if(code_credit[tx].equals(dic_credit[35]))h=h+1;
if(h==2)im[s]=-v[tx];
}}
for(s=1;s<26;s++){
for(tx=1;tx<datanumber+1;tx++){
h=0;
if(code_index[tx].equals(dic_index[s]))h=h+1;
if(code_credit[tx].equals(dic_credit[28]))h=h+1;
if(h==2)c_p[s]=v[tx];
}}
for(s=1;s<26;s++){
for(tx=1;tx<datanumber+1;tx++){
h=0;
if(code_index[tx].equals(dic_index[s]))h=h+1;
if(code_credit[tx].equals(dic_credit[29]))h=h+1;
if(h==2)c_p2[s]=v[tx];
}}
number=25;
}}
package iox;
import Jama.*;
public class mat{
double[] y=new double[100];
double[][] a=new double[100][100];
double[][] io=new double[100][100];
double[] v=new double[100];
double[] d=new double[100];
int number;
double[] ys=new double[100];
void makedata(){
int s,sx;
for(s=1;s<number+1;s++){
for(sx=1;sx<number+1;sx++){
io[s][sx]=a[s][sx]/y[sx];
}}
double[][] beta=new double[number][1];
double[][] alpha=new double[number][number];
double[][] ra=new double[500][500];
double[][] i=new double[500][500];
for(s=0;s<number;s++){
for(sx=0;sx<number;sx++){
i[s][sx]=0;
}}
for(s=0;s<number;s++){
i[s][s]=1;
}
for(s=0;s<number;s++){
for(sx=0;sx<number;sx++){
alpha[s][sx]=i[s][sx]-io[s+1][sx+1];
}
}
for(s=0;s<number;s++){
beta[s][0]=d[s+1];
}
Matrix Ma = new Matrix(alpha);
Matrix Mb=new Matrix(beta);
Matrix x = Ma.solve(Mb);
for(s=0;s<number;s++){
ys[s+1]=x.get(s, 0);
}
}
}
最終更新:2015年03月13日 02:31