Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Марков / УЧЕБНОЕ ПОСОБИЕ.doc
Скачиваний:
189
Добавлен:
08.02.2015
Размер:
2.55 Mб
Скачать

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

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