Сглаживание экспериментальных данных методом скользящего среднего
Разработка алгоритма на одном из алгоритмических языков для сглаживания экспериментальных данных с помощью маски простого скользящего среднего и маски взвешенного скользящего среднего. Масштабные коэффициенты для вывода графика. Результаты программы.
Рубрика | Экономико-математическое моделирование |
Вид | лабораторная работа |
Язык | русский |
Дата добавления | 19.02.2014 |
Размер файла | 268,7 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Сглаживание экспериментальных данных методом скользящего среднего
1. Математическая модель решения
Сначала генерируется выборка из К элементов. После получения выборки генерируется сглаженный ряд методом скользящего среднего исходя из введенной маски. Затем генерируется сглаженный ряд методом взвешенного среднего исходя из маски 5. После этого вычисляются минимальное и максимальное значение выборки. Затем определяются масштабные коэффициенты для вывода графика, и выводится график.
Таблица имен
Y |
Выборка |
|
Y2 |
Сглаженный ряд методом скользящего среднего |
|
Y3 |
Сглаженный ряд методом взвешенного среднего |
|
K |
Объем выборки |
|
N |
Маска |
|
J |
Половина маски |
|
M |
Математическое ожидание выборки |
|
S |
Среднеквадратичное отклонение выборки |
|
SX |
Масштаб графика по оси X |
|
SY |
Масштаб графика по оси Y |
|
i |
Временная переменная |
2. Блок-схема алгоритма
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
3. Код программы
public partial class Form1: Form
{
public Form1 ()
{
InitializeComponent();
}
private Random R = new Random();
private float NormRasp (float m, float sg)
{
float sum = 0;
for (int i = 0; i < 12; i++)
sum += (float) R. NextDouble();
return (m + sg * (sum - 6));
}
private void button1_Click (object sender, EventArgs e)
{
int K = Convert. ToInt32 (textBox1. Text);
int N = Convert. ToInt32 (textBox2. Text);
float M = Convert. ToInt32 (textBox4. Text);
float S = Convert. ToInt32 (textBox3. Text);
List<float> Y = new List<float>(K);
for (int i = 0; i < K; i++)
Y. Add (NormRasp(M, S));
int j = (N - 1) / 2;
List<float> Y2 = new List<float>(K);
for (int i = 0; i < K; i++)
{
if ((i < j) || (i >= K - j)) Y2. Add(0);
else
{
float mid = 0;
for (int ii = i - j; ii < i + j; ii++)
mid += Y[ii];
Y2. Add (mid / N);
}
}
List<float> Y3 = new List<float>(K);
for (int i = 0; i < K; i++)
{
if ((i < 2) || (i >= K - 2)) Y3. Add(0);
else
Y3. Add((-3*Y [i-2]+12*Y [i-1]+17*Y[i]+12*Y [i+1] - 3*Y [i+2])/35);
}
float min = Y[0], max = Y[0];
for (int i = 0; i < K; i++)
{
if (Y[i] < min) min = Y[i];
if (Y[i] > max) max = Y[i];
}
float SX = (float) pictureBox1. Width / K;
float SY = (float) pictureBox1. Height / (max - min);
Bitmap bmp = new Bitmap (pictureBox1. Width, pictureBox1. Height);
Graphics gr = Graphics. FromImage(bmp);
gr. Clear (Color. White);
for (int i = 0; i < K-1; i++)
{
gr. DrawLine (Pens. Black, i * SX, (Y[i] - min) * SY, (i + 1) * SX, (Y [i + 1] - min) * SY);
if ((i >= j) && (i < K - j-1))
gr. DrawLine (Pens. Red, i * SX, (Y2 [i] - min) * SY, (i + 1) * SX, (Y2 [i + 1] - min) * SY);
if ((i >= 2) && (i < K - 3))
gr. DrawLine (Pens. Blue, i * SX, (Y3 [i] - min) * SY, (i + 1) * SX, (Y3 [i + 1] - min) * SY);
}
for (int i = 1; i < 10; i++)
{
gr. DrawLine (Pens. LightGray, i * SX * K / 10, 0, i * SX * K / 10, pictureBox1. Height);
gr. DrawString (Convert. ToString (i * K / 10), Font, Brushes. Black, i * SX * K / 10, 0);
}
for (int i = 1; i < 4; i++)
{
gr. DrawLine (Pens. LightGray, 0, i * SY * (max - min) / 4, pictureBox1. Width, i * SY * (max - min) / 4);
gr. DrawString (Convert. ToString (i * (max - min) / 4 + min), Font, Brushes. Black, 0, i * SY * (max - min) / 4);
}
pictureBox1. Image = bmp;
}
}
4. Шаблон ввода входных данных
5. Результаты работы программы
программа алгоритм скользящий средний
Вывод
Был разработан алгоритм и написана программа на языке С#, генерирующая значения случайных величин, имеющих нормальный закон распределения. С помощью ее удалось осуществить сглаживание экспериментальных данных, с помощью маски простого скользящего среднего и маски взвешенного скользящего среднего.
Размещено на Allbest.ru
Подобные документы
Расчёт скользящего среднего методом математического усреднения цифровых величин согласно условию задач. Составление таблицы и построение графика полученных результатов расчета. Сравнительный анализ решений трех заданий, построение их общего графика.
лабораторная работа [26,9 K], добавлен 15.11.2010Общая характеристика организации, задачи и функции экономико-аналитического отдела. Анализ временных рядов, модель авторегрессии - проинтегрированного скользящего среднего. Применение методов эконометрического моделирования, факторный анализ выручки.
отчет по практике [2,0 M], добавлен 07.06.2012Разработка модели авторегрессии скользящего среднего, которая описывает и объясняет динамику объема грузов, перевозимых основными видами транспорта. Применение этой модели для прогнозирования развития всей грузовой транспортной системы Украины.
статья [514,3 K], добавлен 30.06.2012Разработка алгоритма и программы на одном из алгоритмических языков для построения эмпирической плотности распределения случайных величин. Осуществление проверки гипотезы об идентичности двух плотностей распределения, используя критерий Пирсонга.
лабораторная работа [227,8 K], добавлен 19.02.2014Структурная, аналитическая и комбинационная группировка по признаку-фактору. Расчет среднего количества балансовой прибыли, среднего арифметического значения признака, медианы, моды, дисперсии, среднего квадратического отклонения и коэффициента вариаций.
контрольная работа [194,5 K], добавлен 06.04.2014Доверительные интервалы для среднего значения цены автомобиля в зависимости от его возраста для уравнения регрессии в расчетах парной и множественной зависимостей. График ежемесячных объемов продаж магазина. Коэффициенты регрессионного уравнения тренда.
контрольная работа [499,1 K], добавлен 16.09.2011Построение графиков сечений заданных поверхностей с помощью экспериментальных данных, полученных при моделировании электропотенциального поля в проводящей среде эквипотенциальных поверхностей. Построение графика распределения разностей потенциалов.
контрольная работа [160,0 K], добавлен 18.11.2013Использование методов линейного программирования для целей оптимального распределения ресурсов. Методы математической статистики в экономических расчетах. Прогнозирование экономических показателей методом простого экспоненциального сглаживания.
курсовая работа [976,0 K], добавлен 13.08.2010Виды решаемых задач с помощью индексов: анализ влияния отдельных факторов на изучаемое явление, оценка динамики среднего показателя. Классификация индексов на статистические, индивидуальные, агрегатные, средние. Анализ изменения среднего показателя.
презентация [137,4 K], добавлен 16.03.2014Проблема автоматизации расчёта сетевого графика. Вычисление критического пути с помощью ЭВМ. Табличный метод решения проблемы, метод графов. Составление алгоритма, написание программы и решение задачи. графический интерфейс пользователя, ввод данных.
курсовая работа [39,7 K], добавлен 20.11.2008