示例#1
0
 public Histogram2D GetMapHist()
 {
     this.NZFB8Hsyyk = new Histogram2D(this.fName, this.fTitle, this.crqUrCA6J, 0.0, (double)this.crqUrCA6J, this.R00zPKwYO, 0.0, (double)this.R00zPKwYO);
     for (int index1 = 0; index1 < this.crqUrCA6J; ++index1)
     {
         for (int index2 = 0; index2 < this.R00zPKwYO; ++index2)
         {
             this.C4gBBYR9YW[index1, index2].ResetWin();
         }
     }
     for (int Seek = 0; Seek < this.en8Br1nJcm.GetNData(); ++Seek)
     {
         TKohonenData tkohonenData = (TKohonenData)this.en8Br1nJcm.GetData(Seek);
         double[]     input        = tkohonenData.Input;
         double[]     output       = tkohonenData.Output;
         this.ProcessInput(input);
         TKohonenNeuron winner = this.GetWinner();
         if (output != null)
         {
             if (output[0] != 0.0)
             {
                 winner.AddWin(output[0]);
             }
         }
         else
         {
             winner.AddWin(1.0);
             winner.SetNWins(1);
         }
         tkohonenData.X = winner.Col;
         tkohonenData.Y = winner.Row;
     }
     for (int index1 = 0; index1 < this.crqUrCA6J; ++index1)
     {
         for (int index2 = 0; index2 < this.R00zPKwYO; ++index2)
         {
             TKohonenNeuron tkohonenNeuron = this.C4gBBYR9YW[index1, index2];
             if (tkohonenNeuron.GetNWins() != 0)
             {
                 this.NZFB8Hsyyk.Set((double)tkohonenNeuron.Col, (double)tkohonenNeuron.Row, tkohonenNeuron.GetWin() / (double)tkohonenNeuron.GetNWins());
             }
             else
             {
                 this.NZFB8Hsyyk.Set((double)tkohonenNeuron.Col, (double)tkohonenNeuron.Row, 0.0);
             }
         }
     }
     return(this.NZFB8Hsyyk);
 }