public void SaveData(string filePath) { using (var sWr = File.CreateText(filePath)) { sWr.WriteLine("Базовый файл для расчетов: " + _basePar.FilePath); sWr.WriteLine("Параметры базового файла:"); sWr.WriteLine("Количество параметров: " + _basePar.CntParams); sWr.WriteLine("Глубина выборки: " + _basePar.WeightViborka); sWr.WriteLine("Количество выборок: " + _basePar.CntViborka); sWr.WriteLine(); sWr.WriteLine("Выборочная ковариационная матрица:"); for (int t = 0; t < ArrSt.GetLength(2); t++) { sWr.WriteLine("Выборка № {0} Определитель: {1}", t + 1, Global.GetString(DetArrSt[t])); for (int i = 0; i < ArrSt.GetLength(0); i++) { var line = string.Empty; for (int j = 0; j < ArrSt.GetLength(1); j++) { line += Global.GetString(ArrSt[i, j, t]) + '\t'; } sWr.WriteLine(line); } sWr.WriteLine(); } sWr.WriteLine("Ковариационная матрица. Определитель: " + Global.GetString(DetArrS)); for (int i = 0; i < ArrS.GetLength(0); i++) { var line = string.Empty; for (int j = 0; j < ArrS.GetLength(1); j++) { line += Global.GetString(ArrS[i, j]) + '\t'; } sWr.WriteLine(line); } sWr.WriteLine(); sWr.WriteLine("B1=" + Global.GetString(B1)); sWr.WriteLine("B2=" + Global.GetString(B2)); sWr.WriteLine("Верхняя граница: UCL=" + Global.GetString(Ucl)); sWr.WriteLine("Нижняя граница: LCL=" + Global.GetString(Lcl)); } }
//расчет массива детерминатов private void CalcDetArrSt() { var arrTmp = new double[ArrSt.GetLength(2)]; for (var i = 0; i < ArrSt.GetLength(2); i++) { var arrSjk = new double[ArrSt.GetLength(0), ArrSt.GetLength(1)]; for (var j = 0; j < arrSjk.GetLength(0); j++) { for (var k = 0; k < arrSjk.GetLength(1); k++) { arrSjk[j, k] = ArrSt[j, k, i]; } } arrTmp[i] = Determinant(arrSjk); } DetArrSt = arrTmp; }