2015-02-12 4 views
0

Редактировать: Я хочу создать точки (x, y) такие, что x + y < = 1.Как создать точки на вероятностном симплексе в matlab?

[x,y] = meshgrid(0:.05:1, 0:.05:1); 

Можно ли использовать вывод приведенного выше результата, чтобы генерировать (х, у), такие, что х + у = 1 <.

Вы можете игнорировать все, что ниже. Я запутался в том, что я прошу :) Предыдущая: Я хочу построить функцию плотности распределения Дирихле для точек на вероятностном симплексе в трехмерном пространстве, т. Е. Для p = (p1, p2, p3), p1 + р2 + р3 = 1. распределение задается

F (р1, р2, р3) = C * р1^(а1) * р2^(а2) * р3^(а3)

где с - фиксированная константа нормализации. Любая помощь приветствуется.

Примечание: p1 + p2 + p3 = 1 такое, что p1> 0, p2> 0 p3> 0 - плоскость в трех измерениях и, следовательно, двумерная. Следовательно, можно построить функцию на этом пространстве.

+0

Так что вы хотите построить плотность вероятности в зависимости от 3-й измерений? Как вы намерены даже нарисовать четвертую ось? –

+0

Извините за путаницу. Я имел в виду что-то вроде этого. http://stackoverflow.com/questions/25504662/plotting-a-curve-on-probability-simplex – user2808118

+0

Я осознаю свою ошибку. Я снова отредактирую вопрос и отправлю сообщение. – user2808118

ответ

0

Я хочу создать точки (x, y) такие, что x + y < = 1.

Ваша линия

[x,y] = meshgrid(0:.05:1, 0:.05:1); 

является хорошим началом. Остается только выбрать точки этой сетки, которые удовлетворяют вашему условию. Для этого вы используете logical indexing:

ind = x+y<=1; 
x = x(ind); 
y = y(ind); 

Вы можете построить эти пункты в качестве проверки:

plot(x,y,'.') 
axis square 

enter image description here

0

Пусть y = f (p1, p2, p3). Поскольку p3 = 1 - p1 - p2, нам нужно всего лишь построить y = f (p1, p2), который является двумерной функцией. Этот график «2.5D» может быть графиком с функцией MATLAB function mesh() или surf().

В случае, если существуют ограничения, такие как p1 + p2 < 1, просто сделайте y = 0 или NaN для p1 + p2> = 1. Попробуйте найти, чтобы сделать граф более красивым.

+0

p1 + p2 + p3 = 1 такое, что p1> 0, p2> 0 p3> 0 - плоскость в 3 измерениях и, следовательно, двумерная. Следовательно, можно построить функцию на этом пространстве. Мне было интересно, есть ли хорошо известный подход сделать то же самое в Matlab. – user2808118

Смежные вопросы