Как создать числовой вектор, который дает равномерную сетку для всех размеров матрицы X? - PullRequest
0 голосов
/ 27 января 2012

У меня следующий вопрос: я применяю функцию histcnd к матрице размером 744x2.Эта функция вычисляет частоты значений в пределах определенных границ.То, что я хочу, это установить края, например, группы из 5 значений, но я не могу сделать это.Синтаксис функции - это Histcnd (X, ребра), где ребра должны иметь одинаковую длину с количеством столбцов в X. Как определить «ребра» как вектор из 2 столбцов, чтобы объединить значения каждого столбцакаждые 5 значений?Большое спасибо.

1 Ответ

0 голосов
/ 27 января 2012

Как насчет использования что-то вроде этого:

X = randn(744,2);
[a,b] = size(X);
edges = num2cell([linspace(min(X(1,:)),max(X(1,:)),a/5); linspace(min(X(2,:)), max(X(2,:)),a/5)],2);

# not sure if it's the same histcnd, the one I found wants edges to be a cell array
H = histcnd(X, edges);

Вы, вероятно, можете выбрать минимальные / максимальные значения для каждой оси более интеллектуальным способом, если вам что-то известно о ваших данных.

...