示例#1
0
        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));
            }
        }
示例#2
0
        //расчет массива детерминатов
        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;
        }