アットウィキロゴ

xs

package iron;
 
public class pro {
 
       int s;
  double[] p=new double[101];
double[] y=new double[101];
    double[] pi=new double[101];
    double maxy,miny;
    double h;
    int[] k=new int[101];
    double[] ys=new double[101];
     double[][] x=new double[1000][10];
     double[] sol=new double[100];
     double[][] v=new double[1000][101];
    int[][] gotok=new int[1000][101];
 
    int sx,number;
int[] year=new int[500];
int[] month=new int[500];
 
int[] y1=new int[500];
int[] m1=new int[500];
 
double[] delta=new double[500];
 
 
int[] vv=new int[500];
int[] pp=new int[500];
 
String[] im=new String[500];
String[] ex=new String[500];
    String[] name=new String[500];
 
    double[][] q=new double[3][3];
 
 
int[] op=new int[101];
 
public static void main(String[] args) {
        pro t=new pro();
    }
    pro(){
       /**
 
     20E9,鉱工業,108.5
2A00000000,製造工業,108.5
2AA0000000,鉄鋼業,114.1
2AAA000000,鉄素製品(含.鋼半製品),110.0
2AAB000000,熱間圧延鋼材,111.9
2AAC000000,鋼管,122.0
2AAD000000,冷間仕上鋼材,108.3
2AAE000000,めっき鋼材,115.5
2AAF000000,鋳鍛造品,122.5
2AAZ100000,(特掲:普通鋼鋼材),113.5
2AAZ200000,(特掲:特殊鋼鋼材),109.3
2AB0000000,非鉄金属工業,113.7
2ABA000000,非鉄金属地金,112.8
2ABB000000,伸銅・アルミニウム圧延製品,105.0
2ABC000000,電線・ケーブル,124.8
2ABD000000,非鉄金属鋳物,114.5
2AC0000000,金属製品工業,108.1
2ACA000000,建設用金属製品,121.6
2ACB000000,建築用金属製品,108.1
2ACC000000,暖ちゅう房熱機器,92.0
2ACD000000,その他の金属製品,106.3
2AD0000000,はん用・生産用・業務用機械工業,121.8
2ADA000000,はん用機械工業,107.3
2ADAA00000,ボイラ・原動機,96.0
2ADAB00000,風水力機械・油圧機器,106.7
2ADAC00000,運搬機械,125.5
2ADAD00000,冷凍機・同応用製品,113.5
2ADAE00000,はん用機械器具部品,109.2
2ADB000000,生産用機械工業,133.1
2ADBA00000,土木建設機械,174.9
2ADBB00000,化学機械,77.6
2ADBC00000,生活関連産業用機械,135.9
2ADBD00000,半導体・フラットパネル製造装置,116.7
2ADBE00000,産業用ロボット,97.7
2ADBF00000,農業用機械,112.6
2ADBG00000,金属工作機械,157.1
2ADBH00000,金属加工機械,150.6
2ADBI00000,繊維機械,127.9
2ADBJ00000,金型,133.5
2ADBK00000,機械工具,130.2
2ADBL00000,その他の生産用機械,136.2
2ADC000000,業務用機械工業,110.1
2ADCA00000,計測機器,101.6
2ADCB00000,光学部品,100.9
2ADCC00000,その他の業務用機械,146.2
2AE0000000,電子部品・デバイス工業,102.4
2AEA000000,電子部品,100.6
2AEB000000,半導体素子,81.5
2AEC000000,集積回路,109.2
2AED000000,半導体部品,100.6
2AF0000000,電気機械工業,100.5
2AFA000000,回転電気機械,125.5
2AFB000000,静止電気機械,93.8
2AFC000000,開閉制御装置・機器,100.1
2AFD000000,民生用電気機械,84.0
2AFE000000,配線・照明用器具,119.4
2AFF000000,電子応用装置,102.7
2AFG000000,電気計測器,101.7
2AFH000000,電池,91.8
2AFI000000,その他の電気機械,40.6
2AG0000000,情報通信機械工業,113.0
2AGA000000,通信機械,156.4
2AGB000000,民生用電子機械,84.4
2AGC000000,電子計算機,112.0
2AGD000000,その他の情報通信機械,125.5
2AH0000000,輸送機械工業,117.8
2AH000000A,輸送機械工業(除.船舶・同機関、鉄道車両、航空機),121.9
2AHA000000,乗用車,123.7
2AHB000000,バス,120.9
2AHC000000,トラック,130.7
2AHD000000,自動車ボデー,130.9
2AHE000000,自動車部品,114.5
2AHF000000,二輪自動車,228.1
2AHG000000,産業車両,155.1
2AHH000000,航空機,98.1
2AHI000000,船舶・同機関,87.7
2AHZ000000,(特掲:乗用車・バス・トラック),124.6
2AI0000000,窯業・土石製品工業,104.3
2AIA000000,ガラス・同製品,99.8
2AIB000000,セメント・同製品,115.3
2AIC000000,陶磁器,115.8
2AID000000,ファインセラミックス,96.4
2AIE000000,その他の窯業・土石製品,110.2
2AJ0000000,化学工業,100.1
2AJ000000A,化学工業(除.医薬品),105.2
2AJA000000,化学肥料,121.4
2AJB000000,ソーダ工業製品,114.7
2AJC000000,無機薬品・顔料・触媒,130.1
2AJD000000,高圧ガス,104.3
2AJE000000,石油系芳香族,116.1
2AJF000000,環式中間物,116.5
2AJG000000,有機薬品,111.3
2AJH000000,プラスチック,119.1
2AJI000000,合成ゴム,114.8
2AJJ000000,写真感光材料,111.1
2AJK000000,石けん・合成洗剤・界面活性剤,70.3
2AJL000000,化粧品,93.7
2AJM000000,塗料・印刷インキ,104.3
2AJZ000000,(特掲:石油化学製品),114.5
2AK0000000,石油・石炭製品工業,114.6
2AKA000000,石油製品,114.8
2AKB000000,石炭製品,105.2
2AL0000000,プラスチック製品工業,102.5
2AM0000000,パルプ・紙・紙加工品工業,106.4
2AMA000000,パルプ,122.2
2AMB000000,紙,118.7
2AMC000000,板紙,100.8
2AMD000000,紙加工品,85.6
2AN0000000,繊維工業,120.2
2ANA000000,炭素繊維,94.7
2ANB000000,化学繊維,123.3
2ANC000000,紡績,142.2
2AND000000,織物,135.0
2ANE000000,染色整理,121.3
2ANF000000,衣類,117.1
2ANG000000,その他の繊維製品,107.9
2AO0000000,食料品・たばこ工業,84.3
2AOA000000,肉製品,75.3
2AOB000000,乳製品,101.0
2AOE000000,油脂・調味料,91.7
2AOG000000,清涼飲料,78.7
2AOH000000,酒類,70.2
2AP0000000,その他工業,103.0
2APA000000,ゴム製品工業,107.9
2APB000000,家具工業,117.7
2APBA00000,金属製家具,117.4
2APBB00000,木製家具,119.4
2APC000000,印刷業,90.5
2APD000000,木材・木製品工業,110.4
2APE000000,その他製品工業,108.3
2APEA00000,時計,107.7
2APEB00000,楽器,123.1
2APEC00000,文具,102.5
2APED00000,玩具,94.0
2APEE00000,皮革製品,125.6
2B00000000,鉱業,118.8
2C00000001,産業総合(鉱工業、電力・ガス事業),108.7
2C00000002,産業総合(鉱工業、電力・ガス・熱供給・水道事業),108.6
2CA0000000,電力・ガス・熱供給・水道事業,111.2
2CAA000000,電力・ガス事業,112.2
2CAB000000,熱供給事業,101.8
2CAC000000,水道事業,99.6
300000041E9,機械工業,113.6
3000000411E9,機械工業(除.船舶・同機関、鉄道車両、航空機),114.8
3000000416E9,一般機械工業(旧分類),124.0
3000000412E9,電気機械工業(旧分類),104.2
3000000417E9,精密機械工業(旧分類),101.8
3000000413E9,情報化関連資本財,128.4
3000000414E9,情報化関連消費財,122.8
3000000415E9,情報化関連生産財,102.6
 
 
**/
 
        int s;
 
        catchdata sub=new catchdata();
        sub.makedata();
        y=sub.y;
        p=sub.p;
        year=sub.year;
        month=sub.month;
 
 
 
 
 
      pi[1]=0;
      for(s=2;s<85;s++){
      pi[s]=p[s]-p[s-1];
      }
 
      maxy=0;
      miny=999;
 
      for(s=1;s<85;s++){
      if(y[s]>maxy)maxy=y[s];    
      if(y[s]<miny)miny=y[s];
      }  
 
      h=(maxy-miny)/100;
 
 
       for(s=1;s<85;s++){
      k[s]=50;
      }
 
       int tr;
 
       for(tr=1;tr<31;tr++){
 
      for(s=1;s<101;s++){
      ys[s]=(y[s]-miny)/h;
      x[s][1]=1;
      x[s][2]=ys[s]-k[s];
      }
 
 
      ols sub3=new ols();
      sub3.datanumber=84;
      sub3.number=2;
      sub3.x=x;
      sub3.y=pi;
      sub3.makedata();
      sol=sub3.sol;
 
 
   for(s=1;s<101;s++){
 double p1=sol[1]+sol[2]*(ys[1]-s);
 v[1][s]=(p1-pi[s])*(p1-pi[s]);
   }
 
   int t,sx,sxs;
  double u1,v1,minv;
 
   for(t=2;t<85;t++){
     for(s=1;s<101;s++){  
 double p1=sol[1]+sol[2]*(ys[t]-s);
u1=(p1-pi[t])*(p1-pi[t]);
minv=9999;    
sxs=0;
 
for(sx=1;sx<101;sx++){   
    v1=u1+v[t-1][sx];
    double e=(s-sx)*(s-sx);
    if(e>50)v1=9999;
     if(v1<minv)sxs=sx;
    if(v1<minv)minv=v1;
    }
v[t][s]=minv;
   gotok[t][s]=sxs;
 
     }
   }   
 
 
 
     minv=9999;
        sx=0;
         for(s=1;s<101;s++){
         if(v[84][s]<minv)sx=s;
         if(v[84][s]<minv)minv=v[84][s];
         }
 
        op[84]=sx;
         for(s=1;s<84;s++){
         sx=op[84-s+1];
         op[84-s]=gotok[84-s+1][sx];
         }
 
 
          for(s=1;s<85;s++){
          k[s]=op[s];
          }
 
 
    }
 
 
 
         for(s=1;s<85;s++){
         System.out.println(year[s]+"年"+month[s]+"月,"+(miny+h*k[s])+","+y[s]);
          }
 
 
 
 
 
 
    }
 
 
     int numx(String str){
 
    int nx;
 
    nx=0;
 
 try{
 
    nx=Integer.parseInt(str);
 
 }catch (Exception e) {}
 
 return nx;
 
 
 
}
 
 
 
 
 
double num(String str){
 
    double nx;
 
    nx=0;
 
 try{
 
    nx=Double.parseDouble(str);
 
 }catch (Exception e) {}
 
 return nx;
 
 
 
}
 
 
 
}
 
最終更新:2015年08月01日 15:06