Определить параметры распределения (мат.ожидание, дисперсию, СКО, коэф.корреляции) - C#

Узнай цену своей работы

Формулировка задачи:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
 
namespace Lab1
{
    public partial class Form1 : Form
    {
        int N;
        public Form1()
        {
            InitializeComponent();
        }
        double MX(double[] a)
        {
            double sum = 0;
            for (int i = 0; i < N;i++)
            {
                sum += a[i];
            }
                return sum/N;
        }
        double DX(double[] a)
        {
            double sum = 0;
            for (int i = 0; i < N;i++)
            {
                sum += Math.Pow(a[i]-MX(a),2);
            }
            sum=sum/(N*(N-1));
            return Math.Sqrt(sum);  
        }
        private void button1_Click(object sender, EventArgs e)
        {
            N = Convert.ToInt16(textBox1.Text);
            Random rand = new Random();
            dataGridView1.ColumnCount = N;
            double[] a = new double[N];
            for(int i=0;i<N;i++)
            {
                a[i] = rand.Next(0, 10);
                dataGridView1.Rows[0].Cells[i].Value = a[i];
            }
            double M_X = MX(a);
            double D_X = DX(a);
            MessageBox.Show("MX=" + M_X.ToString() + " DX=" + D_X.ToString());
        }
        private void textBox1_TextChanged(object sender, EventArgs e)
        {
        }
        private void Form1_Load(object sender, EventArgs e)
        {
        }
    }
}
Вот наработки помогите дописать остальные 2 параметра и спростить код, но главное ети 2 параметра. Формулы:

Решение задачи: «Определить параметры распределения (мат.ожидание, дисперсию, СКО, коэф.корреляции)»

textual
Листинг программы
 double M(List<double> t) //генеральная средняя
        {
            return t.Average();
        }
        double D(List<double> t) //исправленная дисперсия
        {
            double m = M(t);
            return t.Sum(a => (a - m) * (a - m)) / (t.Count - 1);
        }
        double G(List<double> t) //среднеквадратическое отклонение
        {
            return Math.Sqrt(D(t));
        }
        private void button1_Click(object sender, EventArgs e)
        {
 
            N = Convert.ToInt16(textBox1.Text);
            if (int.TryParse(textBox1.Text, out N))
            {
                Random rand = new Random();
                dataGridView1.ColumnCount = N;
                List<double> sp = new List<double>(N);
                for (int i = 0; i < N; i++)
                {
                    sp.Add(rand.Next(0, 10));
                    dataGridView1.Rows[0].Cells[i].Value = sp[i];
                }
                double M_X = M(sp);
                double D_X = D(sp);
                double G_X = G(sp);
                //double Kxy = K(sp, sp);
                richTextBox1.AppendText(String.Format("{0}\r\n {1}\r\n {2}\r\n {3}\r\n", M_X, D_X, G_X, Kxy));
            }
            else Console.WriteLine("Количество элементов должно быть целым числом");
        }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 3.333 из 5
Похожие ответы