В моем скрипте я генерирую матрицу, в которой каждый столбец связан как минимум с другим. Например, столбец 1 связан со столбцом 2, столбец 3 связан с столбцом 4 и т. д. Но я также могу соединить столбцы 3 с 3 или 4 с 4 или любым другим числом.
На данный момент это всего лишь образ, но затем я хотел бы переместить связанные столбцы в отдельную строку, чтобы я мог легко их смешивать, используя any() или sum().
Это станет яснее на этом примере:
A = reshape(1:12, 3, []) % A is the matrix I start with, this reshape is OK
A =
1 4 7 10
2 5 8 11
3 6 9 12
reshape(A, [], 2) % this reshape is not OK
ans =
1 7
2 8
3 9
4 10
5 11
6 12
Тем не менее, я хотел бы, чтобы ответ был:
ans =
1 4
2 5
3 6
7 10
8 11
9 12
Как я уже сказал, этот пример предназначен только для 2 столбцов, но в моем случае мне также нужно поддерживать любое количество пар столбцов. Здесь для 3 столбцов:
B = reshape(1:18, 3, [])
B =
1 4 7 10 13 16
2 5 8 11 14 17
3 6 9 12 15 18
reshape(B, [], 3)
ans =
1 7 13
2 8 14
3 9 15
4 10 16
5 11 17
6 12 18
Что я хотел бы:
ans =
1 4 7
2 5 8
3 6 9
10 13 16
11 14 17
12 15 18
Есть ли способ сделать это в векторной форме?