
- •Аннотация
- •1.Основные понятия теории моделирования
- •1.2 Определение абстрактной системы по р. Калману
- •Где –упорядоченное по возрастанию множество моментов времени,
- •1.3 Классификация систем по типу поведения
- •1.4 Принципы моделирования
- •2. Основы технологии имитационного моделирования
- •1.2 Аналитическое и имитационное моделирование
- •2.2 Понятие статистического эксперимента
- •2 .3 Область применения имитационных моделей
- •2.4 Управление модельным временем
- •2.5 Оценка качества имитационной модели
- •3. Типовые математические схемы моделей систем
- •3.1.2. Системы разностных уравнений.
- •3.1.3. Примеры систем, описываемых в классе d – схем
- •3.2 Дискретно-детерминированная модель. Конечные автоматы
- •3.3 Дискретно-стохастическая модель. Вероятностный автомат
- •3.4 Марковский процесс с дискретным временем перехода. Уравнения для вероятностей состояний.
- •3.5 Непрерывно-стохастическая модель. Потоки случайных событий.
- •3.6. Марковские процессы с непрерывным временем. Дифференциальные уравнения относительно вероятностей состояний.
- •3.5. Процессы в системах массового обслуживания как непрерывные
- •3.6, Непрерывно-стохастическая модель. Системы массового обслуживания.
- •3.7 Обобщенные модели
- •4. Описание программных средств визуального моделирования системы matlab
- •4.1 Некоторые сведения о пакете matlab
- •4.2 Краткая характеристика расширения matlab – simulink.
- •4.3 Описание программного средства stateflow.
- •5. Разработка моделей средствами simulink-stateflow
- •5.1 Вероятностный автомат
- •5.2 Моделирование процессов функционирования систем массового обслуживания как марковских процессов.
- •5.2.1 Смо замкнутого типа
- •5.2.2 Смо циклического типа с ветвлением переходов
- •5.2.3 Смо смешанного типа
- •5.2.4 Смо смешанного типа с различными характеристиками каналов
- •5.3 Общая схема моделирования смо.
- •Заключение
5. Разработка моделей средствами simulink-stateflow
5.1 Вероятностный автомат
Рассмотрим
пример вероятностного автомата. Пусть
входное множество U
состоит из двух элементов U={0,
1} и пусть каждому из входных значений
соответствует матрица переходных
вероятностей
и
соответственно.
и
.
Пусть
множество состояний
,
ему соответствует множество выходных
значенийY={0,0,1,1,0}.
Для построения общей схемы системы (рис. 5.1) были использованы блоки SIMULINK: Sine Wave – генератор гармонических колебаний, Hit Crossing – блок «обнаружено пересечение» (позволяет идентифицировать момент времени, когда входной сигнал «пересекает» некоторое значение (заранее задается в настройках блока): при появлении такой ситуации на выходе блока формируется единичный сигнал).
Рис. 5.1 Simulink-схема для примера вероятностного автомата
Рис. 5.2 Блок – генератор входного сигнала
Рассмотрим процесс функционирования автомата при различных значениях входных сигналов u=1 и u=2 и, соответственно, при различных значениях матрицы P. Для этого построим вспомогательную SF-диаграмму (рис. 5.2) – Chart1 (на рис.5.1) – генерирующую входной сигнал u=1 и u=2 с одинаковой вероятностью 0,5.
В этой диаграмме (рис. 5.2) использованы два состояния: On_1 – состояние соответствующее значению u=1, On_2 – значению u=2, соответственно.
SF-диаграмма самого автомата представлена на рисунке 5.3.
Рис. 5.3 SF-диаграмма вероятностного автомата
Автомат имеет пять внутренних состояний. В зависимости от значения входного сигнала u автомат с некоторой вероятностью может перейти в различные состояния.
Переходы
из состояния в состояния происходят в
дискретные равновероятные моменты
времени, определяемые частотой следования
событий Up
(рис. 5.2 и рис. 5.3) – периодом гармонического
сигнала, в соответствии с входным
сигналом u
и принятыми матрицами переходных
вероятностей
и
.
Вероятность перехода из состояния в
состояние определена матрицейP,
а состояние, в которое будет совершен
переход, если оно не определено однозначно
(вероятность перехода в этом случае
равна единице), идентифицируется при
помощи вспомогательной случайной
переменной. Примем, что по умолчанию
автомат находится в состоянии
.
Процесс функционирования системы представлен на рисунке 5.4, настройки системы – на рисунке 5.5.
Рис. 5.4 Процесс функционирования системы
Рис. 5.5 Настройки системы
В этой схеме начальное значение входного сигнала в любой реализации процесса принято u=1. Простое добавление альтернативы (условного перехода) в переход по умолчанию (рис. 5.6) позволяет учесть случайность в появлении того или иного входного сигнала.
Рис. 5.6 Блок-генератор входного сигнала с произвольным начальным значением
Использование вместо SF-диаграммы Chart1 двух источников постоянного сигнала и ручного переключателя из библиотеки SIMULINK позволяет вводить входной сигнал вручную в процессе моделирования (рис. 5.7).
Рис. 5.7 Simulink-схема с использованием ручного переключателя
Данная система легко реализуется при помощи языка MATLAB. В качестве блок-схемы алгоритма можно использовать SF-диаграмму.
prob_aut.m
% Вероятностный автомат
% P-матрица переходов
% y-вектор выходов
% x-номер состояния
function prob_aut
i=1; j=1;
P1=[0 0.5 0 0 0.5;
0 0 0 1 0;
0 0 0.75 0 0.25;
0 0 0.4 0 0.6;
0 1 0 0 0];
P2=[0 0.7 0 0.3 0;
0 0 0 1 0;
0 0 0.75 0 0.25;
0 0 0.7 0 0.3;
0 1 0 0 0];
y=[0 0 1 1 0];
t0=0;T=0;tf=0;dt=1;
u=1;
r0=0;x0=1;y0=0;
sol=[t0;r0;x0;y0];
q=rand;
for t=t0:dt:tf-dt
n=0;
qw=rand; % определяем значение входного сигнала
if qw<=0.5 & qw~=0 & u==1
u=2;
end
if qw<=0.5 & qw~=0 & u==2
u=1;
end
if u==1
P=P1;
else
P=P2;
end
m=cumsum(P');
while n<1 % Переход в новое состояние
if q<=P(i,j) & P(i,j)~=0
i=j; n=j;
x=i;
y1=y(i);
T=T+dt;
sol=[sol;T,r,x,y1];
j=1;
q=rand;
else
j=j+1;
end
end
end