Допустим, у меня есть следующие одиннадцать значений:
>> values=[100:10:200]
values =
100 110 120 130 140 150 160 170 180 190 200
Каждое из 11 значений является случайным распределением, каждое из которых может принимать вероятности от 0 до 300.
Например, первое значение 100 берется из распределения вероятности dist следующим образом:
>> dist=[0 0.1;50 0.3; 90 0.3; 150 0.2 ;160 0.1]
dist =
0 0.1000
50.0000 0.3000
90.0000 0.3000
150.0000 0.2000
160.0000 0.1000
Это означает, что значение 100 могло принимать значение 0 с вероятностью 0,1, значение 50 с вероятностью 0,3 и т. Д. ...
Теперь простой график индексов (1-11) по оси x и диапазона значений, которые могут иметь место, нанесен по оси y (0-300) следующим образом:
plot(1:11,values);ylim([0 300])
Результирующая фигура выглядит следующим образом:
Допустим, я хочу построить вероятности каждого значения вдоль оси Y с оттенком синего цвета. Более высокая интенсивность синего означает более высокое значение.
В моем примере будет 5 точек синего цвета для значения = 100. На графике точки (1,0), (1,50), (1,90), (1,150), (1,160) будут заполнены синим кружком. Точка (1,0) должна иметь более светлый оттенок синего, чем точка (1,50), поскольку вероятность ее появления меньше. Точка (1,50) и точка (1,90) должны иметь одинаковый оттенок синего, поскольку они имеют одинаковую вероятность.
Моя идея представлена в отредактированной картине MSPAINT следующим образом:
Как сгенерировать вышеуказанный требуемый участок в Matlab?