| MATLAB.Exponenta | |||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||
![]() |
|||||||||||||||||||||||||||||
| Вход | |||||||||||||||||||||||||||||
Simulink\Stateflow"Примеры использования Stateflow". Модель эргодической цепи Маркова. Пример из книги Кемени Дж., Снелл Дж. Кибернетическое моделирование. Некоторые приложения. М.Советское радио, 1972,192 с.
Начальное состояние - 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. |
|
подарки – подарочные сертификаты |