private void button_Click(object sender, RoutedEventArgs e) { var xyzDataSeries3D1 = new XyzDataSeries3D <double>(); var xyzDataSeries3D2 = new XyzDataSeries3D <double>(); _n1 = 0; _n2 = 0; var mu1X = 0.0; var mu1Y = 0.0; var mu2X = 0.0; var mu2Y = 0.0; var sigma1X = 0.0; var sigma1Y = 0.0; var sigma2X = 0.0; var sigma2Y = 0.0; var eps = 0.01; string inputBuffer; try { // ввод исходных данных inputBuffer = TextBox.Text; _n1 = Convert.ToInt32(inputBuffer); inputBuffer = TextBox1.Text; _n2 = Convert.ToInt32(inputBuffer); inputBuffer = TextBox2.Text; mu1X = Convert.ToDouble(inputBuffer); inputBuffer = TextBox3.Text; mu1Y = Convert.ToDouble(inputBuffer); inputBuffer = TextBox4.Text; mu2X = Convert.ToDouble(inputBuffer); inputBuffer = TextBox5.Text; mu2Y = Convert.ToDouble(inputBuffer); inputBuffer = TextBox6.Text; sigma1X = Convert.ToDouble(inputBuffer); inputBuffer = TextBox7.Text; sigma1Y = Convert.ToDouble(inputBuffer); inputBuffer = TextBox8.Text; sigma2X = Convert.ToDouble(inputBuffer); inputBuffer = TextBox9.Text; sigma2Y = Convert.ToDouble(inputBuffer); inputBuffer = TextBox24.Text; eps = Convert.ToDouble(inputBuffer); } catch (Exception ex) { MessageBox.Show(ex.Message); } List <Point> setP1; List <Point> setP2; var normRand = new NormalRandom(); var set1 = new SetPoint(mu1X, sigma1X, mu1Y, sigma1Y, _n1, normRand); var set2 = new SetPoint(mu2X, sigma2X, mu2Y, sigma2Y, _n2, normRand); setP1 = set1.get_list_point(); setP2 = set2.get_list_point(); var ro1 = MathTpr.CalculationOfCorrelationCoefficient(setP1, mu1X, mu1Y, sigma1X, sigma1X); var ro2 = MathTpr.CalculationOfCorrelationCoefficient(setP2, mu2X, mu2Y, sigma2X, sigma2X); // определение фактических значений мат. ожиданий и среднеквадратических отклонений _averageX1 = set1.calculate_Average_Value_x(); _averageY1 = set1.calculate_Average_Value_y(); _averageX2 = set2.calculate_Average_Value_x(); _averageY2 = set2.calculate_Average_Value_y(); _sigmaX1 = Math.Sqrt(MathTpr.DispersionX(setP1, _averageX1)); _sigmaY1 = Math.Sqrt(MathTpr.DispersionY(setP1, _averageY1)); _sigmaX2 = Math.Sqrt(MathTpr.DispersionX(setP2, _averageX2)); _sigmaY2 = Math.Sqrt(MathTpr.DispersionY(setP2, _averageY2)); // построение точек на плоскости XY foreach (var item in setP1) { var x = item.X; var z = item.Y; item.Z = MathTpr.func_Gauss_XY(item.X, item.Y, sigma1X, sigma1Y, mu1X, mu1Y, ro1); var y = 0; xyzDataSeries3D1.Append(x, y, z); } foreach (var item in setP2) { var x = item.X; var z = item.Y; item.Z = MathTpr.func_Gauss_XY(item.X, item.Y, sigma2X, sigma2Y, mu2X, mu2Y, ro2); var y = 0; xyzDataSeries3D2.Append(x, y, z); } xyzDataSeries3D1.SeriesName = "S1"; xyzDataSeries3D2.SeriesName = "S2"; PointGrid.DataContext = setP1; PointGridCopy.DataContext = setP2; if (_graph != null) { _graph = new _3DGraph { Visibility = Visibility.Visible }; } // создание формы с графиком _graph?.PaintGraph(set1, set2, sigma1X, sigma1Y, mu1X, mu1Y, mu2X, mu2Y, sigma2X, sigma2Y, _n1, _n2); }
public MainWindow() { _graph = new _3DGraph(); InitializeComponent(); }