public static void CreateSimCollection()
        {
            using (SimulinkMatchNow smm = new SimulinkMatchNow())
                smm.CreateLiveCollection();
            GC.Collect();
            using (SimulinkMatchOver smo = new SimulinkMatchOver())
                smo.CreateLiveCollection();
            GC.Collect();
            Console.WriteLine("CreateSimCollection->mongo->ok");

        }
 public static void MatchOverToTxt()
 {
     SimulinkMatchOver smo = new SimulinkMatchOver();
     var lookup_over = smo.mongocrud.QueryMongo()
     .Where(e => e.Haway_count > 0).Where(e => e.Hhost_count > 0)
         .Where(e => e.Ahost_count > 0).Where(e => e.Aaway_count > 0).ToLookup(e => e.match_type);
     foreach (var overM in lookup_over)
     {
         DataTable dt1 = overM.CopyDataTable();
         DataTableToTxt.DataTable2TxtAll(dt1, @"data\" + overM.Key + "over.csv");
     }
     Console.WriteLine("MatchOverToTxt->mongo->ok");
 }
        public static void DoSimulink()
        {
            SimulinkMatchNow smm = new SimulinkMatchNow();
            SimulinkMatchOver smo = new SimulinkMatchOver();
            SimulinkRbf simulinkrbf = new SimulinkRbf();
            int simulinkno = 0;
            var lookup_now = smm.mongocrud.QueryMongo()
                .Where(e => e.Haway_count > 0).Where(e => e.Hhost_count > 0)
                .Where(e => e.Ahost_count > 0).Where(e => e.Aaway_count > 0).ToLookup(e => e.match_type);
            var lookup_over = smo.mongocrud.QueryMongo()
                .Where(e => e.Haway_count > 0).Where(e => e.Hhost_count > 0)
                .Where(e => e.Ahost_count > 0).Where(e => e.Aaway_count > 0).ToLookup(e => e.match_type);
            foreach (var nowM in lookup_now)
            {
                simulinkno++;

                NNPredication nn = new NNPredication();
                DataTable dt1 = nowM.ToDataTable();
                string streamx = DataTableToTxt.DataTable2Txt(dt1, nn.tempx);
                var overM = lookup_over[nowM.Key];

                DataTable dt2 = overM.ToDataTable();
                string streamy = DataTableToTxt.DataTable2Txt(dt2, nn.tempy);

                SimulinkRbfLog srlog = new SimulinkRbfLog();
                srlog._id = simulinkno; Console.WriteLine(srlog._id);
                srlog.matchtype = nowM.Key;
                srlog.matchover = streamy;  //y是训练用
                srlog.matchnow = streamx;  //x是预测目标
                srlog.matchnowColumn = DataTableToTxt.getDataTableColumnName(dt1);
                srlog.matchoverColumn = DataTableToTxt.getDataTableColumnName(dt2);
                srlog.matchid = nowM.Select(e => e._id.ToString()).ToList().Aggregate((a, b) => a + "\n" + b);
                srlog.grnn = nn.NewGrnn();
                srlog.pnn = nn.NewPnn();

                simulinkrbf.mongocrud.MongoDropColCreateCol.Insert(srlog);
            }
            Console.WriteLine("DoSimulink->mongo->ok");
        }