public void Read() { var ofd = new OpenFileDialog(); if (ofd.ShowDialog() == DialogResult.OK) { m_stat.Setd(ofd.FileName); m_stat.CalcMainParams(); } }
public static Vector FindParamsForThreeDim(STAT x1Stat, STAT x2Stat, STAT yStat) { int n = x1Stat.d.Length; //подсчет средних x1Stat.CalcMainParams(); x2Stat.CalcMainParams(); yStat.CalcMainParams(); double x1x2 = 0, yx1 = 0, yx2 = 0; //перенос массивов в переменные var x1 = x1Stat.d; var x2 = x2Stat.d; var y = yStat.d; for (int i = 0; i < n; i++) { //перенос значений массивов в переменные var x1Val = x1[i]; var x2Val = x2[i]; var yVal = y[i]; x1x2 += x1Val * x2Val; yx1 += yVal * x1Val; yx2 += yVal * x2Val; } x1x2 /= n; yx1 /= n; yx2 /= n; //перенос средних в переменные var x1Expectation = x1Stat.Expectation; var x2Expectation = x2Stat.Expectation; var yExpectation = yStat.Expectation; //заполнение матрицы Matrix matrix = new Matrix(3, 3, new[] { 1, x1Expectation, x2Expectation, x1Expectation, x1Stat.InitialMoment(2), x1x2, x2Expectation, x1x2, x2Stat.InitialMoment(2) }); Vector b = new Vector(new[] { yExpectation, yx1, yx2 }); return(matrix.Solve(b)); }