private void k_DoMain(object sender, RoutedEventArgs e) { if (currentDis == null) { MessageBox.Show("Завантажте файл"); return; } KnownKParser data = new KnownKParser(); data.Parse(this); TestKnownK_IU(data); }
private void OpenLastChart_k(object sender, RoutedEventArgs e) { if (currentDis == null) { MessageBox.Show("Завантажте файл"); return; } KnownKParser data = new KnownKParser(); data.Parse(this); List <System.Windows.Point> lp1 = new List <System.Windows.Point>(); List <System.Windows.Point> lp2 = new List <System.Windows.Point>(); for (double i = 0; i < 20; i += 0.1) { lp1.Add(new System.Windows.Point(i, GammaDistribution.calcDens(data.k, data.theta1, i))); lp2.Add(new System.Windows.Point(i, GammaDistribution.calcDens(data.k, data.theta2, i))); } DensComparer dc = new DensComparer("H0", lp1, "H1", lp2); dc.Show(); }
private void TestKnownK_IU(KnownKParser data) { List <ResultsTableRow> resList = new List <ResultsTableRow>(); double alpha = data.alpha; double beta = data.beta; double c0; double c1; bool falseIsTop = true; while (SCollection.Count > 0) { SCollection.RemoveAt(SCollection.Count - 1); } var topPointsLine = AddNewSeriesCollection("брак.значення", Brushes.Red); var botPointsLine = AddNewSeriesCollection("пр-е значення", Brushes.Blue); var checkingsPointsLine = AddNewSeriesCollection("спостереження", Brushes.Purple); DataContext = this; for (int i = 0; i < currentDis.arr.Count; i++) { ResultsTableRow resListInstance = new ResultsTableRow(); List <double> checkedList = currentDis.arr.GetRange(0, i + 1); double likehoodDivision = SPRT.LikehoodKnownK(checkedList); c0 = SPRT.LowMarginKnownK(data.theta1, data.theta2, data.k, alpha, beta, i + 1); c1 = SPRT.TopMarginKnownK(data.theta1, data.theta2, data.k, alpha, beta, i + 1); if (c1 < c0) { falseIsTop = false; } resListInstance.Num = i.ToString(); resListInstance.falseMargin = falseIsTop ? c1.GetRoundedString(4) : c0.GetRoundedString(4); resListInstance.TrueMargin = falseIsTop ? c0.GetRoundedString(4) : c1.GetRoundedString(4); resListInstance.Sum = likehoodDivision.GetRoundedString(4); resListInstance.Value = currentDis.arr[i].GetRoundedString(4); resList.Add(resListInstance); topPointsLine.Values.Add(new System.Windows.Point(i, Math.Round(c1, 3))); botPointsLine.Values.Add(new System.Windows.Point(i, Math.Round(c0, 3))); checkingsPointsLine.Values.Add(new System.Windows.Point(i, Math.Round(likehoodDivision, 3))); var checkC0 = falseIsTop ? c0 : c1; var checkC1 = falseIsTop ? c1 : c0; if (likehoodDivision < checkC0) { string insert = falseIsTop ? "H0" : "H1"; MessageBox.Show("Гіпотеза " + insert + "\r\n на кроці " + (i + 1).ToString()); break; } if (likehoodDivision > checkC1) { string insert = falseIsTop ? "H1" : "H0"; MessageBox.Show("Гіпотеза " + insert + "\r\n на кроці " + (i + 1).ToString()); break; } } ResultsTable.ItemsSource = resList; }