Как разделить матрицу на равные части? - PullRequest
9 голосов
/ 30 ноября 2009

Допустим, у меня есть матрица 100x100, я хочу разделить ее на равные части 10x10.

Проблема в том, что входная матрица может быть любого размера (но всегда мод 10). Я посмотрел на функцию mat2cell, но она не работает для динамического числа частей. Или я что-то упустил?

1 Ответ

13 голосов
/ 30 ноября 2009

Вы просто должны сказать mat2cell, как именно вы хотите разделить матрицу. Если вы уверены, что оно всегда будет кратным 10 в обоих направлениях, то это (довольно) просто. Предполагая, что X - это матрица, которую вы хотите разделить, и вы хотите получить результирующий массив ячеек в Y:

Y = mat2cell(X, repmat(10,[1 size(X,1)/10]), repmat(10,[1 size(X,2)/10]));

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