Как разделить матрицу на равные части?
Вопрос
Допустим, у меня есть матрица 100x100, я хочу разделить ее на равные части 10x10.
Проблема в том, что входная матрица может быть любого размера (но всегда мод 10).
Я посмотрел на функцию mat2cell
, но она не работает для динамического числа частей.
Или я что-то упустил? Р>
Решение
Вам просто нужно указать mat2cell
, как именно вы хотите разделить матрицу. Если вы уверены, что оно всегда будет кратным 10 в обоих направлениях, то это (довольно) просто. Предполагая, что X
является матрицей, которую вы хотите разделить, и вы хотите, чтобы полученный массив ячеек был в Y
:
Y = mat2cell (X, repmat (10, [1 size (X, 1) / 10]), repmat (10, [1 size (X, 2) / 10]));
р>
Не связан с StackOverflow