distplot

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

Описание

пример

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

пример

distplot(mc,X,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. The axes 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. The axes 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. The axes with title Distribution of States contains an object of type categoricalhistogram. This object represents Step 20.

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

свернуть все

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

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

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

Оси, на которых нужно построить график, заданные как Axes объект.

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

Аргументы в виде пар имя-значение

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

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

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

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

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

'histogram'

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

'graph'

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

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

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

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

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

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

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

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

свернуть все

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

Введенный в R2017b