distplot

Постройте перераспределения Цепи Маркова

Описание

пример

distplot(mc,X) создает тепловую карту из данных X показ эволюции распределения состояний в дискретной цепи Маркова mc.

пример

distplot(mc,X,Name,Value) дополнительные опции использования заданы одними или несколькими аргументами name-value. Например, задайте тип графика или частоты кадров для анимированных графиков.

distplot(ax,___) графики на осях заданы ax вместо текущей системы координат (gca) использование любой из комбинаций входных аргументов в предыдущих синтаксисах.

h = distplot(___) возвращает указатель на график распределения. Используйте h изменить свойства графика после того, как вы создаете его.

Примеры

свернуть все

Создайте Цепь Маркова с четырьмя состояниями из случайным образом сгенерированной матрицы перехода, содержащей восемь неосуществимых переходов.

rng('default'); % For reproducibility 
mc = mcmix(4,'Zeros',8);

mc dtmc объект.

Постройте диграф Цепи Маркова.

figure;
graphplot(mc);

Figure contains an axes object. The axes object contains an object of type graphplot.

4 состояния абсорбирующее состояние.

Вычислите перераспределения состояния на каждом шаге для 10 шагов дискретного времени. Примите начальное равномерное распределение по состояниям.

X = redistribute(mc,10)
X = 11×4

    0.2500    0.2500    0.2500    0.2500
    0.0869    0.2577    0.3088    0.3467
    0.1073    0.2990    0.1536    0.4402
    0.0533    0.2133    0.1844    0.5489
    0.0641    0.2010    0.1092    0.6257
    0.0379    0.1473    0.1162    0.6985
    0.0404    0.1316    0.0765    0.7515
    0.0266    0.0997    0.0746    0.7991
    0.0259    0.0864    0.0526    0.8351
    0.0183    0.0670    0.0484    0.8663
      ⋮

X 11 4 матрица. Строки соответствуют временным шагам, и столбцы соответствуют состояниям.

Визуализируйте перераспределение состояния.

figure;
distplot(mc,X)

Figure contains an axes object. The axes object with title Distribution of States contains an object of type image.

После 10 переходов распределение, кажется, улаживает споры с большинством вероятностной меры в 4 состояния.

Рассмотрите эту теоретическую, правильно-стохастическую матрицу перехода стохастического процесса.

P=[001/21/41/400001/302/300000001/32/3000001/21/2000003/41/41/21/2000001/43/400000].

Создайте Цепь Маркова, которая характеризуется матрицей P перехода.

P = [ 0   0  1/2 1/4 1/4  0   0 ;
      0   0  1/3  0  2/3  0   0 ;
      0   0   0   0   0  1/3 2/3;
      0   0   0   0   0  1/2 1/2;
      0   0   0   0   0  3/4 1/4;
     1/2 1/2  0   0   0   0   0 ;
     1/4 3/4  0   0   0   0   0 ];
mc = dtmc(P);

Вычислите перераспределения состояния на каждом шаге для 20 шагов дискретного времени.

X = redistribute(mc,20);

Анимируйте перераспределения в гистограмме. Задайте полувторую частоту кадров.

figure;
distplot(mc,X,'Type','histogram','FrameRate',0.5);

Figure contains an axes object. The axes object with title Distribution of States contains an object of type categoricalhistogram. This object represents Step 20.

Входные параметры

свернуть все

Дискретная цепь Маркова с NumStates состояния и матрица перехода PВ виде dtmc объект. P должен быть полностью задан (никакой NaN записи).

Эволюция вероятностей состояния в виде (1 + numSteps)- NumStates неотрицательная числовая матрица, возвращенная redistribute. Первая строка является распределением начального состояния. Последующие строки являются перераспределениями на каждом шаге. distplot нормирует строки на их соответствующие суммы перед графическим выводом.

Типы данных: double

Оси, на которых можно построить в виде Axes объект.

По умолчанию, distplot графики к текущей системе координат (gca).

Аргументы name-value

Задайте дополнительные разделенные запятой пары Name,Value аргументы. Name имя аргумента и Value соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: 'Type','graph','FrameRate',3 создает анимированный график перераспределений с помощью частоты кадров 3 секунд.

Постройте тип в виде разделенной запятой пары, состоящей из 'Type' и значение в этой таблице.

ЗначениеОписание
'evolution'

Эволюция начального распределения. Графиком является (1 + NumSteps)- NumStates тепловая карта. Строка i отображает перераспределение на шаге i.

'histogram'

Анимированная гистограмма перераспределений. Вертикальная ось отображает вероятностную меру и горизонтальные состояния отображений оси. 'FrameRate' аргумент пары "имя-значение" управляет прогрессом анимации.

'graph'

Анимированный график перераспределений. distplot окрашивает узлы их вероятностной мерой на каждом шаге. 'FrameRate' аргумент пары "имя-значение" управляет прогрессом анимации.

Пример: 'Type','graph'

Типы данных: string | char

Длина шагов дискретного времени, в секундах, для анимированных графиков в виде разделенной запятой пары, состоящей из 'FrameRate' и положительная скалярная величина.

Значением по умолчанию является пауза на каждом временном шаге. Анимация продолжает, когда вы нажимаете клавишу "пробел".

Пример: 'FrameRate',3

Типы данных: double

Выходные аргументы

свернуть все

Обработайте к графику распределения, возвращенному как графический объект. h содержит уникальный идентификатор графика, который можно использовать, чтобы запросить или изменить свойства графика.

Введенный в R2017b