Сглаживание экспериментальных данных методом скользящего среднего


Сглаживание экспериментальных данных методом скользящего среднего


1. Математическая модель решения


Сначала генерируется выборка из К элементов. После получения выборки генерируется сглаженный ряд методом скользящего среднего исходя из введенной маски. Затем генерируется сглаженный ряд методом взвешенного среднего исходя из маски 5. После этого вычисляются минимальное и максимальное значение выборки. Затем определяются масштабные коэффициенты для вывода графика, и выводится график.


Таблица имен

YВыборкаY2Сглаженный ряд методом скользящего среднегоY3Сглаженный ряд методом взвешенного среднегоKОбъем выборкиNМаскаJПоловина маскиMМатематическое ожидание выборкиSСреднеквадратичное отклонение выборкиSXМасштаб графика по оси XSYМасштаб графика по оси YiВременная переменная

2. Блок-схема алгоритма




3. Код программы

partial class Form1: Form

{Form1 ()

{();

}Random R = new Random();float NormRasp (float m, float sg)

{sum = 0;(int i = 0; i < 12; i++)+= (float) R. NextDouble();(m + sg * (sum - 6));

}void button1_Click (object sender, EventArgs e)

{K = Convert. ToInt32 (textBox1. Text);N = Convert. ToInt32 (textBox2. Text);M = Convert. ToInt32 (textBox4. Text);S = Convert. ToInt32 (textBox3. Text);<float> Y = new List<float>(K);(int i = 0; i < K; i++). Add (NormRasp(M, S));j = (N - 1) / 2;<float> Y2 = new List<float>(K);(int i = 0; i < K; i++)

{((i < j) || (i >= K - j)) Y2. Add(0);

{mid = 0;(int ii = i - j; ii < i + j; ii++)+= Y[ii];. Add (mid / N);

}

}<float> Y3 = new List<float>(K);(int i = 0; i < K; i++)

{((i < 2) || (i >= K - 2)) Y3. Add(0);. Add((-3*Y [i-2]+12*Y [i-1]+17*Y[i]+12*Y [i+1] - 3*Y [i+2])/35);

}min = Y[0], max = Y[0];(int i = 0; i < K; i++)

{(Y[i] < min) min = Y[i];(Y[i] > max) max = Y[i];

}SX = (float) pictureBox1. Width / K;SY = (float) pictureBox1. Height / (max - min);bmp = new Bitmap (pictureBox1. Width, pictureBox1. Height);gr = Graphics. FromImage(bmp);. Clear (Color. White);(int i = 0; i < K-1; i++)

{. DrawLine (Pens. Black, i * SX, (Y[i] - min) * SY, (i + 1) * SX, (Y [i + 1] - min) * SY);((i >= j) && (i < K - j-1)). DrawLine (Pens. Red, i * SX, (Y2 [i] - min) * SY, (i + 1) * SX, (Y2 [i + 1] - min) * SY);((i >= 2) && (i < K - 3)). DrawLine (Pens. Blue, i * SX, (Y3 [i] - min) * SY, (i + 1) * SX, (Y3 [i + 1] - min) * SY);

}(int i = 1; i < 10; i++)

{. DrawLine (Pens. LightGray, i * SX * K / 10, 0, i * SX * K / 10, pictureBox1. Height);. DrawString (Convert. ToString (i * K / 10), Font, Brushes. Black, i * SX * K / 10, 0);

}(int i = 1; i < 4; i++)

{. DrawLine (Pens. LightGray, 0, i * SY * (max - min) / 4, pictureBox1. Width, i * SY * (max - min) / 4);. DrawString (Convert. ToString (i * (max - min) / 4 + min), Font, Brushes. Black, 0, i * SY * (max - min) / 4);

}. Image = bmp;

}

}


4. Шаблон ввода входных данных


5. Результаты работы программы

программа алгоритм скользящий средний


Вывод


Был разработан алгоритм и написана программа на языке С#, генерирующая значения случайных величин, имеющих нормальный закон распределения. С помощью ее удалось осуществить сглаживание экспериментальных данных, с помощью маски простого скользящего среднего и маски взвешенного скользящего среднего.


Теги: Сглаживание экспериментальных данных методом скользящего среднего  Практическое задание  Менеджмент
Просмотров: 9690
Найти в Wikkipedia статьи с фразой: Сглаживание экспериментальных данных методом скользящего среднего
Назад