MATLAB.Exponenta
Рубрика Matlab&Toolboxes

Simulink\Stateflow

"Примеры использования Stateflow".

Модель эргодической цепи Маркова.

Пример из книги Кемени Дж., Снелл Дж. Кибернетическое моделирование. Некоторые приложения. М.Советское радио, 1972,192 с.

На Земле Оз погода бывает всего трех типов: дождь, солнечно или снег. Если сегодня солнечный день, то завтра будет дождь или снег с одинаковой вероятностью. Если сегодня-дождь (или снег), то половина шансов за то, что такая же погода будет завтра. Если же происходит изменение, то только в половине случаев оно приводит к солнечному дню.

Решение. Образуем эргодическую цепь Маркова с тремя состояниями rain, sunny и snow для дождя, солнца и снега соответственно. Ее моделью будет Stateflow-диаграмма.

Начальное состояние - sunny, о чем свидетельствует наличие графического объекта переход по умолчанию (Default transition) к состоянию sunny. Этот переход сопровождается действием перехода (Transition action) /nrain=0;nsunny=0;nsnow=0. Это действие устанавливает в ноль счетчики количества дождливых, солнечных дней и дней, когда идет снег.

Заметим, что данном случае это действие является избыточным, так как начальные значения этих переменных равны нулю по умолчанию. В этом нетрудно убедиться, открыв проводник Stateflow Explorer и просмотрев графу InitVal.

При входе в это состояние выполняется действие nsunny++, т.е. количество солнечных дней увеличивается на единицу.

Следующее событие event (смена суток организована в модели при помощи генератора прямоугольных импульсов Pulse Generator) переводит диаграмму в соединяемое подключение Connective Junction , откуда с вероятностью 0.5 диаграмма переходит в состояние snow и с вероятностью 0.5 - в состояние rain. Вероятностный переход основан на использовании условия ml('exprnd(1)')>.5 (вызов MATLAB-функции exprnd(1), т.е. генерация случайного числа из диапазона (0,1) и сравнение этого числа с числом 0.5). Остальные переходы организованы аналогичным образом в соответствие с логикой, описанной в задаче. Результат работы модели на протяжении 10 лет модельного времени, как это следует из рисунка, дал 728 солнечных, 1514 снежных и 1408 дождливых дней. Аналитическое решение дает вероятность для солнечной погоды 1/5, а для снега и дождя - 2/5.

В оглавление книги \ К предыдущему разделу


I Всероссийская научная конференция «Проектирование научных и инженерных приложений в среде MATLAB» (май 2002 г.)
II Всероссийская научная конференция «Проектирование научных и инженерных приложений в среде MATLAB» (май 2004 г.)
III Всероссийская научная конференция «Проектирование научных и инженерных приложений в среде MATLAB» (октябрь 2007 г.)
IV Всероссийская научная конференция «Проектирование научных и инженерных приложений в среде MATLAB» (май 2009 г.)
V Всероссийская научная конференция «Проектирование научных и инженерных приложений в среде MATLAB» (май 2011 г.)
На первую страницу \ Сотрудничество \ MathWorks \ Softline \ Контакты \ Вакансии  
  Информация на сайте была обновлена 15.05.12 Copyright 2001–2012 Softline Co  
Наши баннеры  

подарки – подарочные сертификаты

Rambler's Top100