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

Разработка алгоритма на одном из алгоритмических языков для сглаживания экспериментальных данных с помощью маски простого скользящего среднего и маски взвешенного скользящего среднего. Масштабные коэффициенты для вывода графика. Результаты программы.

Рубрика Экономико-математическое моделирование
Вид лабораторная работа
Язык русский
Дата добавления 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

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.