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); } }
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; } } }
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); } }
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); }
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(); }
public CalcSds(BaseParams baseParams) { _baseParams = baseParams; }
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); } }
public KartaObDisp(BaseParams baseParams) { _basePar = baseParams; CalcParams(); }
public GenerationNorm(BaseParams baseParams) { _baseParams = baseParams; rnd = new Random(); }
public KartaEvcc(BaseParams baseParams) { _baseParams = baseParams; _kartaObDisp = new KartaObDisp(_baseParams); CalcParams(); }