У вас вопросы?
У нас ответы:) SamZan.net

Лабораторная работа 3 по дисциплине Моделирование Имитационное моделирование случайных соб

Работа добавлена на сайт samzan.net: 2015-07-10

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 7.4.2025

Министерство Образования Российской Федерации

Новосибирский Государственный Технический Университет

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

по дисциплине

Моделирование

«Имитационное моделирование случайных событий»

Вариант 5

Факультет АВТ                                              Преподаватель Альсова О.К.

Группа АП-319

Студент Устюжанин И.В.

Новосибирск

2006


1. Цели работы

  •  изучить алгоритмы и методы имитации случайных событий;
  •  получить практические навыки решения задач, связанных с имитационным моделированием событий;
  •  сравнить эффективность использования (простота реализации, объем вычислений, точность) имитационных методов моделирования событий с аналитическими методами.

2. Задание к лабораторной работ

  •  Решить задачи, соответсвующие Вашему варианту, на основе использования аналитического метода (с помощью формул теории вероятностей) и имитационного моделирования. Количество имитационных экспериментов равно 100.
  •  Сравнить значения характеристик, расчитанных аналитическим методом, с оценками характеристик, рассчитанных на основе применения метода имитационного моделирования. Сделать выводы.     

Задача 1.2.

Оценить надежность изделия, состоящего из трех узлов и устройств A, B, C, D, E, F. Узел выходит из строя, когда выходят из строя все устройства, входящие в узел. Изделие выходит из строя, когда отказывает хотя бы один из его узлов. Вероятности безотказной работы всех устройств равны соответственно: P(A)=0,8; P(B)=0,7; P(C)=0,95; P(D)=0,85; P(E)=0,9; P(F)=0,7. Рассчитать вероятность безотказной работы всей системы.

Алгоритм работы программы имитации:

  1.  Генерируются 6 СЧ в диапазоне от 0 до 1
  2.  Проверяется условие работы изделия (если СЧ меньше заданной вероятности, устройство работает, иначе – нет): все узлы должны работать. Если условие выполняется наращивается счетчик успехов
  3.  Пункты 1 – 2 повторяются 100*n раз
  4.  Рассчитывается вероятность безотказной работы изделия (счетчик успехов делится на количество экспериментов)

Оценка характеристик, рассчитанных на основе применения метода имитационного моделирования:

  1.  При 100 экспериментах –
  2.  При 100*100 экспериментах –

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

Задача 10.

Техническое устройство, состоящее из 3 узлов работало в течение времени Т. За это время первый узел оказывается неисправным с вероятностью  второй с вероятностью  и третий – с вероятностью . Оценить вероятность того, что оказался неисправен только один узел; что оказался неисправным только второй узел.

p1 = 0.15

p2 = 0.1

p3 = 0.2

А – устройство проработало

H1 – не отказал ни один узел

H2 – отказал 1 узел

H3 – отказал 2 узел

H4 – отказал 3 узел

H5 – отказали 1 и 2 узлы

H6 – отказали 1 и 3 узлы

H7 – отказали 2 и 3 узлы

H8 – отказали все узлы

                         

Алгоритм работы программы имитации:

  1.  Генерируются 3 СЧ в диапазоне от 0 до 1
  2.  Если все 3 числа оказываются меньше заданных вероятностей (т.е. устройство отказало), они генерируются снова, т.к. по условию устройство проработало
  3.  Проверяется условие неисправности одного из узлов, при его выполнении наращивается счетчик успехов №1
  4.  Проверяется условие неисправности только второго узла, при его выполнении наращивается счетчик успехов №2
  5.  Пункты 1 – 5 повторяются 100*n раз
  6.  Рассчитываются вероятности (счетчики успехов делятся на количество экспериментов)

Оценка вероятностей, рассчитанных на основе применения метода имитационного моделирования:

  1.  При 100 экспериментах –
  2.  При 100*100 экспериментах –

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

  1.  Приложение

function varargout = main(varargin)

gui_Singleton = 1;

gui_State = struct('gui_Name',       mfilename, ...

                  'gui_Singleton',  gui_Singleton, ...

                  'gui_OpeningFcn', @main_OpeningFcn, ...

                  'gui_OutputFcn',  @main_OutputFcn, ...

                  'gui_LayoutFcn',  [] , ...

                  'gui_Callback',   []);

if nargin & isstr(varargin{1})

   gui_State.gui_Callback = str2func(varargin{1});

end

if nargout

   [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});

else

   gui_mainfcn(gui_State, varargin{:});

end

function main_OpeningFcn(hObject, eventdata, handles, varargin)

handles.output = hObject;

guidata(hObject, handles);

function varargout = main_OutputFcn(hObject, eventdata, handles)

varargout{1} = handles.output;

function pushbutton1_Callback(hObject, eventdata, handles)

lab3_1;

function pushbutton2_Callback(hObject, eventdata, handles)

lab3_2;

function pushbutton3_Callback(hObject, eventdata, handles)

close;

%Задача 1.2

function varargout = lab3_1(varargin)

gui_Singleton = 1;

gui_State = struct('gui_Name',       mfilename, ...

                  'gui_Singleton',  gui_Singleton, ...

                  'gui_OpeningFcn', @lab3_1_OpeningFcn, ...

                  'gui_OutputFcn',  @lab3_1_OutputFcn, ...

                  'gui_LayoutFcn',  [] , ...

                  'gui_Callback',   []);

if nargin & isstr(varargin{1})

   gui_State.gui_Callback = str2func(varargin{1});

end

if nargout

   [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});

else

   gui_mainfcn(gui_State, varargin{:});

end

function lab3_1_OpeningFcn(hObject, eventdata, handles, varargin)

handles.output = hObject;

guidata(hObject, handles);

function varargout = lab3_1_OutputFcn(hObject, eventdata, handles)

varargout{1} = handles.output;

function edit1_CreateFcn(hObject, eventdata, handles)

if ispc

   set(hObject,'BackgroundColor','white');

else

   set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));

end

function edit1_Callback(hObject, eventdata, handles)

function edit2_CreateFcn(hObject, eventdata, handles)

if ispc

   set(hObject,'BackgroundColor','white');

else

   set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));

end

function edit2_Callback(hObject, eventdata, handles)

function pushbutton1_Callback(hObject, eventdata, handles)

n=str2num(get(handles.edit1,'String'));

p=[.8 .7 .95 .85 .9 .7];

l=0;

for i=1:n

   for j=1:100

       a=rand(1,6);

       for k=1:6

           if a(k)<=p(k) b(k)=1;

           else b(k)=0;

           end

       end

       if (b(1)&(b(2)|b(3)|b(4))&(b(5)|b(6))) l=l+1; end

   end

end

set(handles.edit2, 'String', num2str(l/(100*n)));

function pushbutton2_Callback(hObject, eventdata, handles)

close;

%Задача 10

function varargout = lab3_2(varargin)

gui_Singleton = 1;

gui_State = struct('gui_Name',       mfilename, ...

                  'gui_Singleton',  gui_Singleton, ...

                  'gui_OpeningFcn', @lab3_2_OpeningFcn, ...

                  'gui_OutputFcn',  @lab3_2_OutputFcn, ...

                  'gui_LayoutFcn',  [] , ...

                  'gui_Callback',   []);

if nargin & isstr(varargin{1})

   gui_State.gui_Callback = str2func(varargin{1});

end

if nargout

   [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});

else

   gui_mainfcn(gui_State, varargin{:});

end

function lab3_2_OpeningFcn(hObject, eventdata, handles, varargin)

handles.output = hObject;

guidata(hObject, handles);

function varargout = lab3_2_OutputFcn(hObject, eventdata, handles)

varargout{1} = handles.output;

function edit1_CreateFcn(hObject, eventdata, handles)

if ispc

   set(hObject,'BackgroundColor','white');

else

   set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));

end

function edit1_Callback(hObject, eventdata, handles)

function edit2_CreateFcn(hObject, eventdata, handles)

if ispc

   set(hObject,'BackgroundColor','white');

else

   set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));

end

function edit2_Callback(hObject, eventdata, handles)

function edit3_CreateFcn(hObject, eventdata, handles)

if ispc

   set(hObject,'BackgroundColor','white');

else

   set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));

end

function edit3_Callback(hObject, eventdata, handles)

function pushbutton1_Callback(hObject, eventdata, handles)

n=str2num(get(handles.edit1,'String'));

if n<1 break; end

a=[.15 .1 .2];k1=0;k2=0;

for i=1:n    

   for j=1:100

       u1=rand;

       u2=rand;

       u3=rand;

       while (u1<a(1))&&(u2<a(2))&&(u3<a(3))

           u1=rand;

           u2=rand;

           u3=rand;

       end

       if  (u1<=a(1))&&(u2>a(2))&&(u3>a(3))||...

           (u1>a(1))&&(u2<=a(2))&&(u3>a(3))||...

           (u1>a(1))&&(u2>a(2))&&(u3<=a(3))

           k1=k1+1;

       end

       if  (u1>a(1))&&(u2<=a(2))&&(u3>a(3))

           k2=k2+1;

       end

   end

end

set(handles.edit2, 'String', num2str(k1/(100*n)));

set(handles.edit3, 'String', num2str(k2/(100*n)));

function pushbutton2_Callback(hObject, eventdata, handles)

close;


F

E

C

B

A




1. 49. Архитектура Франции 17 век
2. . Бюджет продажів або виторгу.
3. Приключения Шерлока Холмса
4. Контрольная работа- Обгрунтування економічної ефективності раціональної організації праці на підприємстві
5. РЕФЕРАТ дисертації на здобуття наукового ступеня кандидата медичних наук Киї
6. что если Pcket Trcer предоставляет обучаемым функции моделирования визуализации творческой разработки оцен
7. Государственная кадастровая оценка сельскохозяйственных угодий
8.  Взаимосвязь федеральной и региональной промышленной политики Рассмотрение вопроса о взаимосвязи пром
9. Modified foods The term GM foods or GMOs geneticllymodified orgnisms is used to refer to crop plnts creted for humn or niml consumption using the ltest moleculr biology techniques.html
10. другого Толерантность это человеческая добродетель- искусство жить в мире разных людей и идей способно