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

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

  • 7 страниц
Содержание

Лабораторная работа №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
Узнайте стоимость
написания вашей работы
Популярные услуги
Дипломная на заказ

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

от 8000 руб.

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

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

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

от 1500 руб.

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

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

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

от 1500 руб.

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

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

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

от 100 руб.

срок: от 1 дня

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

Реферат

от 700 руб.

срок: от 1 дня

682 автора

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

23 задания

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

10 минут

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