Добавил:
Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Архив1 / docx54 / ММкурсовая_20111220_231825.docx
Скачиваний:
61
Добавлен:
01.08.2013
Размер:
182 Кб
Скачать
  1. Использование пакета Simulink для моделирования случайных чисел.

Рассмотрим моделирование случайной величины в пакете Simulink на примере моделирования простого события.[5]

Пусть имеется событие А, вероятность наступления которого равна РА. Требуется выработать правило, при многократном использовании которого частота появления события стремилась бы к его вероятности. Выберем с помощью датчика случайных чисел, равномерно распределенных в интервале(0,1), некоторое число z и определим вероятность того, что(формула ()):

( )

Для случайной величины z с равномерным распределением справедлива следующая зависимость z < РА.

Таким образом, вероятность попадания случайной величины в интервал (0,РА) равна величине РА. Поэтому если при розыгрыше число z попало в этот интервал, то следует считать, что событие А произошло. Противоположное событие (не А) произойдет с вероятностью (1 – РА) в том случае, если z > = РА.

Вот как это будет выглядеть в Simulink(Рисунок 1):

Рисунок 1

Источник постоянного сигнала Constant-задает постоянный по уровню сигнал (в данном случае задает вероятность наступления события).

Осциллограф Scope-строит графики исследуемых сигналов в функции времени. Позволяет наблюдать за изменениями сигналов в процессе моделирования (в данном случае графически изображает числа, создаваемые генератором случайных чисел).

Цифровой дисплей Display-отображает значение сигнала в виде числа (в данном случае отображает результат сравнения в предыдущем блоке Relational operator).

Блок вычисления операции отношения Relational Operator- блок сравнивает текущие значения входных сигналов.

Блок Uniform Random Number генерирует случайные числа (СЧ), равномерно распределенные на интервале [0;1].

  1. Программа в matlab

Как было сказано в первой главе, генераторы случайных чисел подвергают ряду различных тестов, чтобы убедиться в том, что он качественный. В нашей программе мы ограничимся тестами на погрешность математического ожидания, дисперсии и среднеквадратичного отклонения от теоретических значений этих параметров в равномерном распределении. Тестировать будем генератор rand.

Исходный код программы(скрипт):

clear, clc

n=input('Введите размерность выборки случайных чисел: n= ');

kol=input('Введите количество обращений к функции rand:kol=');

m=0.5;

d = 1/12;

for i=1 : kol

x=rand(n,1);

m1=mean(x);

Disp(i) = abs((var(x)- d)/d)*100;

Og(i) = ((m1-m)/m)*100;

Otk(i) = abs((std(x)- sqrt(1/12))/sqrt(1/12))*100;

end

i=1 : kol;

ok1=figure(1);

set(ok1, 'name', 'Проверка качества генератора rand')

plot(i,Og);

str = '\bf\fontsize{11}\fontname{times}График зависимости погрешности математического ожидания от количества обращений к функции rand';

title(str)

xlabel('\bf\fontsize{11}\fontname{times} Количество обращений')

ylabel('\bf\fontsize{11}\fontname{times} Погрешность')

ok2=figure(2);

set(ok2, 'name', 'Проверка качества генератора rand')

plot(i,Disp);

str = '\bf\fontsize{11}\fontname{times}Зависимости погрешности дисперсии от количества обращений к функции rand';

title(str)

xlabel('\bf\fontsize{11}\fontname{times} Количество обращений')

ylabel('\bf\fontsize{11}\fontname{times} Погрешность')

ok3=figure(3);

set(ok3, 'name', 'Проверка качества генератора rand')

plot(i,Otk);

str = '\bf\fontsize{11}\fontname{times}График зависимости погрешности среднеквадратичного отклонения от количества обращений к функции rand';

title(str)

xlabel('\bf\fontsize{11}\fontname{times} Количество обращений')

ylabel('\bf\fontsize{11}\fontname{times} Погрешность')

Результат выполнения(Рисунок 2)

Рисунок 2

  1. Список литературы.

  1. Кетков Ю. Л., Кетков А. Ю., Шульц М. М. “MATLAB 7: программирование, численные методы”, СПБ. БХВ-Петербург, 2005 — 752 с.

  2. К. Чен, П. Джиблин, А. Ирвинг, “MATLAB в математических исследованиях”, изд. “Мир”, 2001 — 353 c.

  3. С. П. Иглин, “Теория вероятностей и математическая статистика на базе MATLAB”,НТУ “ХПИ”, 2006—612 c.

  4. С. В. Поршнев, “Компьютерное моделирование физических процессов в пакете MATLAB”,изд. ”Горячая линия-телеком”,2003—592 с.

  5. Н. Н. Снетков, “Имитационное моделирование экономических процессов”, изд. центр ЕАОИ, 2008. – 228 с.

Соседние файлы в папке docx54