Создание новой матрицы из двух отсортированных матриц - PullRequest
0 голосов
/ 27 мая 2018

У меня есть две NxN матрицы A и B.Я пытаюсь создать новую MxM матрицу C, составленную из чередующихся матриц A и B.
. Порядок в четных строках должен быть: A B A B A B ...
whileнечетные строки должны начинаться с матрицы B, как B A B A ...

Например,

Для N=2, если:

A = [1 2; 
     3 4];

B = [5 6; 
     7 8];

затем для M=2

C = [A B; 
     B A];

%so that: 
C = [1 2 5 6; 
     3 4 7 8; 
     5 6 1 2; 
     7 8 3 4];

для M=3:

C = [A B A; 
     B A B; 
     A B A];

для M=4

C = [A B A B; 
     B A B A; 
     A B A B; 
     B A B A];

Таким образом, полученная матрица будет иметьвсе диагонали с одинаковой матрицей A или B.

Как это сделать?

1 Ответ

0 голосов
/ 28 мая 2018

Вы можете построить матрицу [A B; B A] и индексировать ее модульно:

A = [1 2; 3 4];
B = [5 6; 7 8];
M = 3;
C = [A B; B A];
C = C(mod(0:size(A,1)*M-1, size(C,1))+1, mod(0:size(A,2)*M-1, size(C,2))+1);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...