private void comboBox1_SelectedIndexChanged_1(object sender, EventArgs e) { double a = double.Parse(textBox1.Text, CultureInfo.InvariantCulture); if (comboBox1.SelectedIndex == 0) { MessageBox.Show("Ви обрали пуасонівський розподіл!"); //textBox2.Visible = false; //label11.Visible = false; //label12.Visible = false; if (a < 0) { MessageBox.Show("Параметр має бути більше 0!"); } else { Pois p1 = new Pois(a); double expv; expv = p1.Ma(); lbl_MO.Text = "Ex = lambda = " + expv; double disp; disp = p1.Dis(); label7.Text = "Dx = lambda = " + disp; label8.Text = "Розподіл дискретний!"; label9.Text = "Розподіл дискретний!"; label10.Text = "Розподіл дискретний!"; } } if (comboBox1.SelectedIndex == 1) { double b = double.Parse(textBox2.Text, CultureInfo.InvariantCulture); MessageBox.Show("Ви обрали рівномірний розподіл!"); if (a > b) { MessageBox.Show("b має бути більше, ніж a!"); } else { U u1 = new U(a, b); double expv; expv = u1.Ma(); lbl_MO.Text = "Ex = (a+b)/2 = " + expv; double disp; disp = u1.Dis(); label7.Text = "Dx = (b-a)^2/12 = " + disp; double c = b - a; label8.Text = "F(x)=(x-a)/(b-a) = (x-" + a + ")/" + c + ""; label9.Text = "f=1/(b-a) = 1/" + c; Graphics g = pictureBox1.CreateGraphics(); x1 += (a + b) / 2; x2 += (a + b) / 2; y1 = 1 / (b - a) + 1; g.Clear(Color.White); DrawXoY(); Pen my = new Pen(Brushes.Blue, 3); g.DrawLine(my, XtoI(a), YtoJ(1 / (b - a)), XtoI(b), YtoJ(1 / (b - a))); g.DrawLine(my, XtoI(x1), YtoJ(0), XtoI(a), YtoJ(0)); g.DrawLine(my, XtoI(b), YtoJ(0), XtoI(x2), YtoJ(0)); } } if (comboBox1.SelectedIndex == 2) { MessageBox.Show("Ви обрали експоненціальний розподіл!"); //textBox2.Visible = false; //label11.Visible = false; //label12.Visible = false; if (a < 0) { MessageBox.Show("Параметр має бути більше 0!"); } else { Exp e1 = new Exp(a); double expv; expv = e1.Ma(); lbl_MO.Text = "Ex = 1/lambda = " + expv; double disp; disp = e1.Dis(); label7.Text = "Dx = 1/lambda^2 = " + disp; label8.Text = "F(x) = 1 - e^(-lambda*x) = 1 - e^(-" + a + "*x)"; label9.Text = "f = lambda*e^(--lambda*x) = " + a + "*e^(-" + a + "*x)"; x1 -= a - 5; x2 += a + 5; y1 += a - 4; //y2-=a+1; Graphics g = pictureBox1.CreateGraphics(); Pen my = new Pen(Brushes.Red, 2); DrawXoY(); for (double i = 0; i <= x2; i += 0.003) { double j = a * Math.Pow(Math.E, -a * i); g.DrawEllipse(my, XtoI(i), YtoJ(j), 1, 1); } } } if (comboBox1.SelectedIndex == 3) { double b = double.Parse(textBox2.Text, CultureInfo.InvariantCulture); MessageBox.Show("Ви обрали гаусівський розподіл!"); label14.Visible = true; if (b < 0) { MessageBox.Show("Dx має бути більше 0!"); } else { N n1 = new N(a, b); double expv; expv = n1.Ma(); lbl_MO.Text = "Ex = a = " + expv; double disp; disp = n1.Dis(); label7.Text = "Dx = " + disp; label8.Text = "F(x) = 1/2 + Ф((x-a)/(sqrt(Dx)) = 1/2 + Ф((x-" + a + ")/" + Math.Sqrt(b) + ")"; label9.Text = "f = 1/(sqrt(Dx*2*pi)) * e^(-(x-a)^2 / (2 * Dx) = \n = " + 1 / (Math.Sqrt(b * 2 * Math.PI)) + "*e^(-(x - " + a + ")^2 / " + 2 * b; y1 = 1.5; x1 += a; x2 += a; Graphics g = pictureBox1.CreateGraphics(); Pen my = new Pen(Brushes.Red, 2); DrawXoY(); for (double i = x1; i <= x2; i += 0.003) { double j = 1 / (Math.Sqrt(b * 2 * Math.PI)) * Math.Pow(Math.E, -(Math.Pow((i - a), 2) / (2 * b))); g.DrawEllipse(my, XtoI(i), YtoJ(j), 1, 1); } } } if (comboBox1.SelectedIndex == 4) { MessageBox.Show("Ви обрали геометричний розподіл!"); textBox2.Visible = false; label11.Visible = false; label12.Visible = false; if (a > 1 || a < 0) { MessageBox.Show("p має бути від 0 до 1!"); } else { Geom g1 = new Geom(a); double expv; expv = g1.Ma(); lbl_MO.Text = "Ex = q/p = " + expv; double disp; disp = g1.Dis(); label7.Text = "Dx = q/p^2 = " + disp; label8.Text = "Розподіл дискретний!"; label9.Text = "Розподіл дискретний!"; label10.Text = "Розподіл дискретний!"; } } if (comboBox1.SelectedIndex == 5) { double b = double.Parse(textBox2.Text, CultureInfo.InvariantCulture); MessageBox.Show("Ви обрали біноміальний розподіл!"); if (a < 0) { MessageBox.Show("n має бути більше 0!"); } else { if (b > 1 || b < 0) { MessageBox.Show("p має бути від 0 до 1!"); } else { Bin b1 = new Bin(a, b); double expv; expv = b1.Ma(); lbl_MO.Text = "Ex = n*p = " + expv; double disp; disp = b1.Dis(); label7.Text = "Dx = n*p*q = " + disp; label8.Text = "Розподіл дискретний!"; label9.Text = "Розподіл дискретний!"; label10.Text = "Розподіл дискретний!"; } } } }