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

«Статическое моделирование Лабораторная работа №1»

  • 7 страниц(ы)
  • 1362 просмотров
  • 0 покупок
фото автора

Автор: navip

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

Задание

1. Построить генератор псевдослучайных чисел, равномерно

распределенных на интервале (0,1), на основе следующих соотношений(генератор Лемера):

Здесь:

− некоторые вспомогательные величины(реальные!);

γ − псевдослучайные числа, равномерно распределенные на

интервале (0,1);

знак(mod 4) означает, что берется остаток от деления на 4

2. Построить гистограмму распределения чисел γ на интервале (0,1) при .

3. На основе генератора из п.1 получить 1000 случайных цифр по формуле

4. Вычислить частоты каждой цифры. Вычислить значение

5. Сравнить из п.4 с (см. таблицу из приложения 5, Гмурман В.Е.) при уровне значимости 0,01 (1,4,7 варианты), 0,025(2,5,8 варианты), 0,05(3,6,9 варианты), число степеней свободы – 9. Сделать вывод о принятии гипотезы о равномерном законе распределения цифр.

6. Среди дискретных случайных величин важное значение имеют

целочисленные случайные величины с распределением вида ) ,

k=0,1,2,…. которые связаны простыми рекуррентными формулами

Среди таких распределений наиболее важными и часто используемыми являются биноминальное распределение и распределение Пуассона. Для биноминального распределения с параметрами n(число испытаний) и p(вероятность успеха в одном испытании) имеем

Для распределения Пуассона с параметром λ=np имеем:

,

Моделирование этих и подобных им случайных величин можно осуществлять по следующей простой схеме:

Исходный код

string str = "37542048056489474296248052403720636104020842268953196450930323209025601595334764990190252909376707153831131165886767439712807999708015736147640323665398951168776606574717340727685036697361706581339885";

double[] ga = new double[10010];

double[] U= new double[10010];

double[] E = new double[10010];

double[] C = new double[10010];

double[] p = new double[10010];

double[] r = new double[10010];

int k; int k2; int k3;

double q;

static double Factorial(double n)

{

if (n == 0)

return 1;

else

return n * Factorial(n - 1);

}

private void button1_Click(object sender, EventArgs e)

{

dataGridView1.Rows.Clear();

k=Convert.ToInt32(textBox1.Text);

U[0]=3.14;

U[1] = (Math.Pow(5, 17)) * (Math.Pow(2, -42));

textBox2.Text = Convert.ToString(U[1]);

for (int i = 2; i

Random rnd = new Random();

private void button4_Click(object sender, EventArgs e)

{

dataGridView3.Rows.Clear();

dataGridView4.Rows.Clear();

double n= Convert.ToInt16(textBox5.Text);

double p1 = Convert.ToDouble(textBox6.Text);

double la = Convert.ToDouble(textBox7.Text);

k3 = Convert.ToInt32(textBox4.Text);

double M; double P; double CC; int k;

for (int i = 0; i < k3; i++)

{

M = rnd.Next(99);

M = M / 100;

dataGridView3.Rows.Add();

dataGridView3[0, i].Value = i + 1;

dataGridView3[1, i].Value = M;

k = 0;

CC = (Factorial(n)) / (Factorial(k) * Factorial(n - k));

q = 1 - p1;

p[k] = CC * (Math.Pow(p1, k)) * (Math.Pow(q, n - k));

P = p[k];

if ((M - P) >= 0)

while (M >= 0)

{

CC = (Factorial(n)) / (Factorial(k) * Factorial(n - k));

p[k] = CC * (Math.Pow(p1, k)) * (Math.Pow(q, n - k));

r[k] = ((n - k) / (k + 1)) * (p1 / (1 - p1));

P = P * r[k];

M = M - P;

k++;

}

dataGridView3[2, i].Value = k;

}

for (int i = 0; i < k3; i++)

{

M = rnd.Next(99);

M = M / 100;

dataGridView4.Rows.Add();

dataGridView4[0, i].Value = i + 1;

dataGridView4[1, i].Value = M;

k = 0;

p[k] = ((Math.Pow(la, k)) / Factorial(k)) * (Math.Pow(Math.E, -la));

P = p[k];

if ((M - P) >= 0)

while (M >= 0)

{

p[k] = ((Math.Pow(la, k)) / Factorial(k)) * (Math.Pow(Math.E, -la));

r[k] = la / (k + 1);

P = P * r[k];

M = M - P;

k++;

}

dataGridView4[2, i].Value = k;

}

}

double[] v= new double[10];

double s;

private void button5_Click(object sender, EventArgs e)

{

s = 0;

for (int i = 0; i < 10; i++) v[i]=0;

//сколько 0,1,2.9

for (int i = 0; i < 10; i++)

{

for (int j =0;j if (Convert.ToInt16(dataGridView2[1, j].Value) == i)

{

v[i]++;

}

dataGridView5.Rows.Add();

dataGridView5[0, i].Value = i;

dataGridView5[1, i].Value = v[i];

s += (v[i] / 100) - 1;

}

textBox8.Text = Convert.ToString(s / 10);

}

}

Примечания к работе

Лабораторная работа №3+текст программы с исходным кодом и скриншот

Покупка готовой работы
Тема: «Статическое моделирование Лабораторная работа №1»
Раздел: Статистика
Тип: Лабораторная работа
Страниц: 7
Цена: 320 руб.
Нужна похожая работа?
Закажите авторскую работу по вашему заданию.
  • Цены ниже рыночных
  • Удобный личный кабинет
  • Необходимый уровень антиплагиата
  • Прямое общение с исполнителем вашей работы
  • Бесплатные доработки и консультации
  • Минимальные сроки выполнения

Мы уже помогли 24535 студентам

Средний балл наших работ

  • 4.89 из 5
Узнайте стоимость
написания вашей работы

Не подошла эта работа?

Воспользуйтесь поиском по базе из более чем 40000 работ

Другие работы автора
Наши услуги
Дипломная на заказ

Дипломная работа

от 8000 руб.

срок: от 6 дней

Курсовая на заказ

Курсовая работа

от 1500 руб.

срок: от 3 дней

Отчет по практике на заказ

Отчет по практике

от 1500 руб.

срок: от 2 дней

Контрольная работа на заказ

Контрольная работа

от 100 руб.

срок: от 1 дня

Реферат на заказ

Реферат

от 700 руб.

срок: от 1 дня

682 автора

помогают студентам

23 задания

за последние сутки

10 минут

среднее время отклика