100806

Моделирование случайных независимых величин

Лабораторная работа

Математика и математический анализ

В соответствии с условием задания определить параметры законов распределения, которым подчинены случайные величины. Включить генераторы случайных величин в полученную ранее имитационную модель и произвести моделирование СМО в условиях случайного изменения параметров имитационной модели.

Русский

2018-04-13

276 KB

0 чел.

Лабораторная работа №2

студента группы ПИ-41

Рамазанова Фарида Эльмаровича

Выполнение:__________     Защита:__________

МОДЕЛИРОВАНИЕ СЛУЧАЙНЫХ НЕЗАВИСИМЫХ ВЕЛИЧИН

ЦЕЛЬ РАБОТЫ: уточнение имитационной модели СМО посредством моделирования случайных величин, характеризующих параметры заявок и режимы функционирования устройств их обработки в реальной сложной системе

ЗАДАНИЕ К ЛАБОРАТОРНОЙ РАБОТЕ:

1. В соответствии с условием задания определить параметры законов распределения, которым подчинены случайные величины.

2. Для каждой случайной величины разработать программный модуль, генерирующий соответствующую псевдослучайную последовательность.

3. Для каждой случайной величины произвести тестирование программного генератора (по гистограмме, критериям согласия Колмогорова и Пирсона, корреляционному моменту) и убедиться в соответствии генерируемой последовательности заданию.

4. Включить генераторы случайных величин в полученную ранее имитационную модель и произвести моделирование СМО в условиях случайного изменения параметров имитационной модели.

Вариант №17

Ход работы:

1. Функции распределения случайных величин

(1) = 0,16−0,1611−(2−60)2

(2) = 4√232

1−(3−60)2(3) = 3√218

1−(3−60)2(4) = 2√28

2. Мною был разработан для каждой величины программный модуль, генерирующий соответствующую псевдослучайную последовательность.

3. Разработал модуль тестирования и протестировал каждый из генерирующих модулей.

Рисунок 1. Тестирование t1

По заданию:M[t] = 62,5

Рисунок 2. Тестирование t2

По заданию: M[t] = 60

=4

Рисунок 3. Тестирование t3

По заданию: M[t] = 60

=3

Рисунок 4. Тестирование t4

По заданию: M[t] = 60

=2

Модуль тестирования:

usingSystem;

usingSystem.Collections.Generic;

usingSystem.ComponentModel;

usingSystem.Data;

usingSystem.Drawing;

usingSystem.IO;

usingSystem.Linq;

usingSystem.Text;

usingSystem.Threading.Tasks;

usingSystem.Windows.Forms;

namespacetest

{

   public partial classForm1: Form

   {

       intmode = 0;

       intind = -1;

       Random random =newRandom();

       publicForm1()

       {

           InitializeComponent();

           ind = tabControl1.SelectedIndex;

           chart1.Series[0].IsVisibleInLegend =false;

           chart2.Series[0].IsVisibleInLegend =false;

           chart3.Series[0].IsVisibleInLegend =false;

           chart4.Series[0].IsVisibleInLegend =false;

           mode = 1;

           Test(mode, 0.016, 0, 0);

}

public doubleAssignment(intmode,doublel,doublesigma,doublem) {

           if(mode == 1)

           {

               varx = random.NextDouble();

               return(-1 / l * Math.Log(x));

           }

else

{varx = random.NextDouble();varx2 = random.NextDouble();return(sigma * Math.Cos(2*Math.PI*x) * Math.Sqrt(-2*Math.Log(x2)) + m);

} }

       public voidTest(intmode,doublel,doublesigma,doublem)

       {

varM = 25;varN = M * 100;vareV = 0.0;varsD = 0.0;double[] kolmogorL =new double[] { 0.0, 0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1.0, 1.1, 1.2, 1.3,

1.4, 1.5, 1.6, 1.7, 1.8, 1.9, 2.0 };

           double[] kolmogorP =new double[] { 1.0, 1.0, 1.0, 1.0, 0.997, 0.964, 0.864, 0.711, 0.544, 0.393, 0.27,

0.178, 0.112, 0.068, 0.04, 0.022, 0.012, 0.006, 0.003, 0.002, 0.001 };

           varrandom =newList<double>();

           varreal =newList<double>();

           varstatistP =newList<double>(new double[M]);

           for(vari = 0; i < N; i++)

           {

               varf = Assignment(mode, l, sigma, m);

               random.Add(f);

           }

           varYmax = random.Max();

           varYmin = random.Min();

           vardeltaY = (Ymax - Ymin) / M;

           eV = random.Sum() / N;

           for(vari = 0; i < N; i++)

           {

               sD += Math.Pow(random[i] - eV, 2);

               varindex = (random[i] - Ymin) * (M / (Ymax - Ymin));

               if(index >= 0 && index < M)

                   statistP[(int)index] += 1;

           }

           sD /= N - 1;

           for(vari = 0; i < M; i++)

           {

statistP[i] /= N;

sigma)) * 0.001;

x += deltaY;

staticFunc += statistP[i];

switch(mode)

{

   case1:

       if(x < 0)

           theoreticFunc = 0;

else

           theoreticFunc = 1 - Math.Exp(-l * x);

       break;

   case2:

       varj = Ymin;

       varfunc = 0.0;

       while(j <= x)

       {

func += 1 / (sigma * Math.Sqrt(2 * Math.PI)) * Math.Exp(-Math.Pow(j - m, 2) / (2 * sigma *

j += 0.001; }

       theoreticFunc = func;

break; }

varabs = Math.Abs(staticFunc - theoreticFunc);

if(D < abs)

D = abs;

}

for(vari = 0; i < M; i++)

{

   switch(mode)

   {

       case1:

           chart1.Series[0]["PixelPointWidth"] ="10";

           chart1.Series[0].Points.AddXY(i, statistP[i] / deltaY);

           chart1.Series[0].Points[i].AxisLabel =" ";

           label2.Text = eV.ToString();

           break;

       case2:

           switch(ind)

{case1:

                   chart2.Series[0]["PixelPointWidth"] ="10";

                   chart2.Series[0].Points.AddXY(i, statistP[i] / deltaY);

                   chart2.Series[0].Points[i].AxisLabel =" ";

                   label3.Text = eV.ToString();

                   label5.Text = sD.ToString();

                   break;

               case2:

                   chart3.Series[0]["PixelPointWidth"] ="10";

                   chart3.Series[0].Points.AddXY(i, statistP[i] / deltaY);

                   chart3.Series[0].Points[i].AxisLabel =" ";

                   label9.Text = eV.ToString();

                   label7.Text = sD.ToString();

                   break;

               case3:

                   chart4.Series[0]["PixelPointWidth"] ="10";

                   chart4.Series[0].Points.AddXY(i, statistP[i] / deltaY);

                   chart4.Series[0].Points[i].AxisLabel =" ";

                   label13.Text = eV.ToString();

                   label11.Text = sD.ToString();

break; };

break; }

}

varstaticFunc = 0.0;

vartheoreticFunc = 0.0;

varD = -999999.9;

varx = Ymin;

for(vari = 0; i < M; i++)

{

}varlambd = Math.Round(D * Math.Sqrt(N), 1);varpLambd = kolmogorP[Array.IndexOf(kolmogorL, lambd)];label16.Text = lambd.ToString();label17.Text = pLambd.ToString();/*--------------------------------------------------------------------------------------*/varintervalP = Ymin;varsupX = 0.0;varbetta = 0.0;for(vari = 0; i < M; i++)

5

* sigma)) * 0.001;

case1:

   varfunc1 = 0.0;

   varj1 = intervalP;

   while(j1 <= intervalP + deltaY)

   {

       func1 += l * Math.Exp(-l * j1) * 0.001;

j1 += 0.001; }

res = func1;

   break;

case2:

   varfunc2 = 0.0;

   varj2 = intervalP;

   while(j2 <= intervalP + deltaY)

   {

       func2 += 1 / (sigma * Math.Sqrt(2 * Math.PI)) * Math.Exp(-Math.Pow(j2 - m, 2) / (2 * sigma

j2 += 0.001; }

res = func2;

} }

{

   varres = 0.0;

   switch(mode)

   {

break; }

   supX += Math.Pow(statistP[i] - res, 2) / res;

   intervalP += deltaY;

}

supX *= N;

switch(mode)

{

   case1:

       betta = M - 2;

       break;

   case2:

betta = M - 3;

break; }

label21.Text = supX.ToString();label19.Text = betta.ToString();/*--------------------------------------------------------------------------------------*/vartaus =new int[] { Convert.ToInt32(0.00002 + l + m), Convert.ToInt32(0.002 + l+ m) };varmas =newList<double>();varcm = 0.0;varcs = 0.0;foreach(var tauintaus){

   for(inti = 0; i < N - tau; i++)

   {

       cm += random[i] * random[i + tau];

       vart = 0.0;

       for(intj = 0; j < N - tau; j++)

           t += random[j + tau];

       cs += random[i] * t;

   }

   cm /= (N - tau);

   cm -= Math.Pow(N - tau, 2);

   mas.Add(cm);

}

varp = 0.0;

while(p < 0.9)

{

varcp = (1 - p) * (Math.Sqrt(1 / N) + 0.001);

if(Math.Abs(mas[0]) < cp && Math.Abs(mas[1]) < cp)

   break;

elsep += 0.01;

private voidtabControl1_Click(objectsender, EventArgs e)

{

   ind = tabControl1.SelectedIndex;

   switch(ind)

   {

       case0:

           chart1.Series[0].Points.Clear();

           mode = 1;

           Test(mode, 0.016, 0, 0);

           break;

case1:

} }

} }

   chart2.Series[0].Points.Clear();

   mode = 2;

   Test(mode, 0, 4, 60);

   break;

case2:

   chart3.Series[0].Points.Clear();

   mode = 2;

   Test(mode, 0, 3, 60);

   break;

case3:

   chart4.Series[0].Points.Clear();

   mode = 2;

Test(mode, 0, 2, 60);

   break;

4. Произвел моделирование СМО в условиях случайного изменения параметров имитационной модели.

Рисунок 5. Протокол моделирования

Сравнил результаты моделирования:

Рисунок 6. Результаты из работы №1

Рисунок 7. Результаты из работы №2


 

А также другие работы, которые могут Вас заинтересовать

78642. Предпринимательские риски, их оценка и пути снижения 32.5 KB
  Внешние факторы влияющие на уровень предпринимательского риска подразделяются на две группы: факторы прямого воздействия и факторы косвенного воздействия. Факторы прямого воздействия непосредственно влияют на результаты предпринимательской деятельности и уровень риска. Факторы косвенного воздействия не могут оказывать прямого влияния на предпринимательскую деятельность и уровень риска но способствуют его изменению. Каждая предпринимательская фирма имеет собственные предпочтения деятельности направленно связанные с риском и на основе...
78643. Конкурентоспособность в предпринимательстве и пути ее повышения 30.5 KB
  Все факторы конкурентоспособности предприятия М. Вопервых факторы конкурентоспособности предприятия делятся на: основные; развитые. Основные факторы это природные ресурсы климатические условия географическое положение страны неквалифицированная и полуквалифицированная рабочая сила. Развитые факторы современная инфраструктура обмена информацией высококвалифицированные кадры использование высокотехнологичных производств.
78644. Структура и сегментирование рынков в маркетинге 30.5 KB
  Углубленное исследование рынка предполагает необходимость ее рассмотрения как дефиринцированной структуры в зависимости от групп потребителей и потребительских свойств товара что в широком смысле определяет понятие рыночной сегментации. Рыночная сегментация представляет собой с одной стороны метод для нахождения частей рынка и определения объектов на которые направлена маркетинговая деятельность предприятия. Под сегментацией понимается разделение рынка на сегменты различающиеся своими параметрами или реакцией на те или иные виды...
78645. Маркетинг: принципы и методы маркетинговых исследований 31.5 KB
  Маркетинговые исследования занимают обычно срединное положение между осознанием необходимости какоголибо решения и его принятием. Принципиальной особенностью маркетингового исследования отличающей его от сбора и анализа внутренней и внешней текущей информации является его целевая направленность на решение определенной проблемы или комплекса проблем маркетинга. В итоге маркетинговые исследования призваны обосновать вид и долю товара фирмы который она намерена представить на определённом рынке. Принцип точности означает четкость постановки...
78646. Товарная политика фирмы и методы ее формирования 32 KB
  Товарная политика это разработка частных стратегий по оценке номенклатуры выпускаемой продукции и движения ее до потребителей соответствующих рынков. Товарная политика составная часть перспективного плана развития производства включающая предварительный выбор номенклатуры продукции некоторые из которых в дальнейшем будут включены в производственный портфель. Разработка товарной политики предусматривает: комплексный анализ возможностей действующих рынков с позиции обеспечения успешной реализации планируемой номенклатуры продукции т....
78647. Диагностика банкротства предприятия 32 KB
  Диагностика банкротства предприятия. Определение банкротства дается в ст. Наличие признаков банкротства: юридическое лицо считается неспособным удовлетворить требования кредиторов по денежным обязательствам и или исполнить обязанность по уплате обязательных платежей если соответствующие обязательства и или обязанность не исполнены им в течение трех месяцев с даты когда они должны были быть исполнены. Одним из методов диагностики вероятности банкротства может быть использован многокритериальный подход.
78648. Методы разработки, обоснования и принятия УР на предприятии 28 KB
  Конечная цель системы менеджмента увеличение массы прибыли за счет повышения конкурентоспособности товара расширения рынка его сбыта и обеспечения устойчивости работы фирмы. Другими словами улучшения финансового состояния фирмы можно достигнуть за счет повышения качества товара чем выше качество тем выше цена реализации политики ресурсосбережения увеличения программы выпуска конкурентоспособного товара организационнотехнического и социального развития фирмы. Любые мероприятия по улучшению этих сторон деятельности отражаются на...
78649. Экономические методы управления 32 KB
  Экономические методы управления. Методы управления совокупность способов и приемов воздействия субъекта управления посредством своей дельности на управляемый объект для достижения поставленной цели. Методы управления классифицируются по многочисленным признакам. Их соотношение отражает характерные черты стиля управления.