Измените матрицу 2 на 4 на матрицу 2 на 2 на 4 - PullRequest
0 голосов
/ 17 октября 2019

Предположим, у меня есть матрица

A = [1 2 3 4; 5 6 7 8; 9 10 11 12; 13 14 15 16];

Я бы сгенерировал матрицу B с размером [2,2,4], чтобы

B(:,:,1) = [1 2; 5 6];
B(:,:,2) = [9 10; 13 14];
B(:,:,3) = [3 4; 7 8];
B(:,:,4) = [11 12; 15 16];

Как я могу сгенерировать эту 3D-матрицу?

1 Ответ

2 голосов
/ 17 октября 2019

Одно решение с использованием mat2cell:

dim1 = [2,2];                 %first dimension of the submatrix
dim2 = [2,2];                 %second dimension of the submatrix
C = mat2cell(A,dim1,dim2)     %for square submatrix C=mat2cell(A,dim1) work also
B = reshape([C{:}],[2,2,4]) 
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...