Exemplo n.º 1
0
        private void GenerateThread()
        {
            Directory.CreateDirectory(_newDir);
            var indOldFile = 0;
            var indOldVib  = 0;

            //обработка новых файлов
            for (var indNewFile = 0; indNewFile < CntCalcNewFiles; indNewFile++)
            {
                var filePath = Path.Combine(_newDir, indNewFile + ".dtk");
                var sWrNew   = File.CreateText(filePath);
                sWrNew.WriteLine(new BaseParams(_lstOldFiles[indOldFile]).CntParams);
                sWrNew.WriteLine(new BaseParams(_lstOldFiles[indOldFile]).WeightViborka);
                sWrNew.WriteLine(CntViborkaPerFile);

                var indNewVib = 0;
                //запись выборок максимум 370 в файл
                while (indNewVib < CntViborkaPerFile)
                {
                    var bpCur = new BaseParams(_lstOldFiles[indOldFile]);
                    //считывание выборок из файла
                    while (indOldVib < bpCur.CntViborka)
                    {
                        //запись одной выборки со всеми параметрами
                        for (var j = 0; j < bpCur.WeightViborka; j++)
                        {
                            var curLine = string.Empty;
                            curLine +=
                                bpCur.InputData[0, indOldVib *bpCur.WeightViborka + j].ToString("0.000")
                                .Replace(',', '.');
                            for (var i = 1; i < bpCur.CntParams; i++)
                            {
                                curLine += '\t' +
                                           bpCur.InputData[i, indOldVib *bpCur.WeightViborka + j].ToString("0.000")
                                           .Replace(',', '.');
                            }
                            sWrNew.WriteLine(curLine);
                        }
                        indOldVib++;
                        indNewVib++;
                        if (ChangePerc != null)
                        {
                            ChangePerc(Convert.ToInt32(100.0 * indNewFile / CntCalcNewFiles));
                        }
                    }
                    indOldFile++;
                    indOldVib = 0;
                }
                sWrNew.Close();
            }

            if (ChangePerc != null)
            {
                ChangePerc(0);
            }
            if (ChangeText != null)
            {
                ChangeText(Global.MsgGenerationDone + CntCalcNewFiles);
            }
        }
Exemplo n.º 2
0
        private void LoadFiles()
        {
            var files = Directory.GetFiles(_dirPath);

            _lstFiles  = new List <string>();
            CntViborka = 0;
            foreach (var filePath in files)
            {
                if (BaseParams.IsGoodFile(filePath))
                {
                    _lstFiles.Add(filePath);
                    var bp = new BaseParams(filePath);
                    CntViborka += bp.CntViborka;
                }
            }
        }
Exemplo n.º 3
0
        public static string GetPathBaseDir(BaseParams baseParams)
        {
            try
            {
                return(Path.Combine(
// ReSharper disable once AssignNullToNotNullAttribute
                           Path.GetDirectoryName(Application.ExecutablePath),
                           Path.GetFileNameWithoutExtension(baseParams.FilePath) + "-" +
                           baseParams.CntParams + "-" +
                           baseParams.WeightViborka + "-" +
                           baseParams.CntViborka));
            }
            catch (Exception)
            {
                return(string.Empty);
            }
        }
Exemplo n.º 4
0
        public void LoadFiles()
        {
            var files = Directory.GetFiles(_oldDir);

            _lstOldFiles  = new List <string>();
            CntOldViborka = 0;
            for (int i = 0; i < files.Length; i++)
            {
                if (BaseParams.IsGoodFile(files[i]))
                {
                    _lstOldFiles.Add(files[i]);
                    var bp = new BaseParams(files[i]);
                    CntOldViborka += bp.CntViborka;
                    ChangePerc(Convert.ToInt32(i * 100.0 / files.Length));
                }
            }
            ChangePerc(0);
        }
Exemplo n.º 5
0
        public GenerationRass(string oldDirPath)
        {
            var oldDir = oldDirPath;

            _newDir = Directory.GetParent(oldDir).FullName;

            var files = Directory.GetFiles(oldDir);

            _lstOldFiles   = new List <string>();
            _oldCntViborka = 0;
            foreach (var filePath in files)
            {
                if (BaseParams.IsGoodFile(filePath))
                {
                    _lstOldFiles.Add(filePath);
                    var bp = new BaseParams(filePath);
                    _oldCntViborka += bp.CntViborka;
                }
            }
            _rnd = new Random();
        }
Exemplo n.º 6
0
 public CalcSds(BaseParams baseParams)
 {
     _baseParams = baseParams;
 }
Exemplo n.º 7
0
        private void Generate()
        {
            Directory.CreateDirectory(_newDir);
            //обработка новых файлов
            for (var d = 1.25; d <= 2; d += 0.25)
            {
                var newDirTmp = Path.Combine(_newDir, "Generation-D" + d);
                Directory.CreateDirectory(newDirTmp);
                foreach (var filePath in _lstOldFiles)
                {
                    if (filePath == null)
                    {
                        return;
                    }
                    var bp     = new BaseParams(filePath);
                    var arrTmp = new double[bp.InputData.GetLength(0), bp.InputData.GetLength(1)];
                    for (var i = 0; i < bp.InputData.GetLength(0); i++)
                    {
                        for (var j = 0; j < bp.InputData.GetLength(1); j++)
                        {
                            arrTmp[i, j] = (bp.InputData[i, j] - bp.Mo[i]) * Math.Pow(d, 1.0 / bp.CntParams) + bp.Mo[i];
                        }
                    }
                    var filePathNew = Path.Combine(newDirTmp, Path.GetFileName(filePath));

                    var sWr = File.CreateText(filePathNew);
                    sWr.WriteLine(bp.CntParams);
                    sWr.WriteLine(bp.WeightViborka);
                    sWr.WriteLine(bp.CntViborka);
                    for (var j = 0; j < arrTmp.GetLength(1); j++)
                    {
                        var curLine = string.Empty;
                        curLine += arrTmp[0, j].ToString("0.000").Replace(',', '.');
                        for (var k = 1; k < arrTmp.GetLength(0); k++)
                        {
                            curLine += '\t' + arrTmp[k, j].ToString("0.000").Replace(',', '.');
                        }
                        if (j != arrTmp.GetLength(1) - 1)
                        {
                            sWr.WriteLine(curLine);
                        }
                        else
                        {
                            sWr.Write(curLine);
                        }
                    }
                    sWr.Close();

                    if (ChangePerc != null)
                    {
                        ChangePerc(Convert.ToInt32((d - 1.25) * 100.0 + _lstOldFiles.IndexOf(filePath) * 100.0 / (_lstOldFiles.Count * 4.0)));
                    }
                }
            }
            if (ChangePerc != null)
            {
                ChangePerc(0);
            }
            if (ChangeText != null)
            {
                ChangeText(Global.MsgGenerationDone + _lstOldFiles.Count * 4);
            }
        }
Exemplo n.º 8
0
 public KartaObDisp(BaseParams baseParams)
 {
     _basePar = baseParams;
     CalcParams();
 }
Exemplo n.º 9
0
 public GenerationNorm(BaseParams baseParams)
 {
     _baseParams = baseParams;
     rnd         = new Random();
 }
Exemplo n.º 10
0
 public KartaEvcc(BaseParams baseParams)
 {
     _baseParams  = baseParams;
     _kartaObDisp = new KartaObDisp(_baseParams);
     CalcParams();
 }