Гистограмма на элементах двумерной матрицы в Matlab - PullRequest
2 голосов
/ 06 апреля 2011

Мне интересно, есть ли какая-либо встроенная функция или простой способ построения гистограммы элементов 2d array.

Например, если A=rand(100,1), то A - это 1D array, и hist(A) может выполнять гистограмму.

Однако, что если A=rand(100,100), и я хотел бы создать гистограмму для элементов A, точно так же, как обрабатывать каждый элемент в A как элемент на 1D array. Есть ли простой способ сделать это?

Ответы [ 2 ]

13 голосов
/ 06 апреля 2011

Вам просто нужно преобразовать A в вектор, тогда вы можете использовать hist как обычно:

hist(A(:))
2 голосов
/ 06 апреля 2011

Эта команда будет делать то, что вы хотите:

hist(reshape(A, prod(size(A)), 1))

Она создает вектор из матрицы A, преобразовывая его в матрицу с одним столбцом и числом строк, равным числуэлементов A:

prod(size(A)) = number_of_columns(A) * number_of_rows(A)

Или краткий путь:

hist(A(:))

Это берет каждый элемент A в последовательности и, следовательно, также генерирует вектор.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...