Узнайте, как элементы массива находятся в памяти и как такие элементы, как изменение формы, перестановка и т. Д., Работают с этими элементами.
Во-первых, вы можете просто объединить две матрицы друг на друга? [A; B] будет достаточно, конечно.
Что бы произошло, если бы вы затем использовали reshape для результата? Так что-то вроде этого ...
reshape([A;B],[16,2,50])
Далее, что произойдет, если вы примените перестановку?
permute(reshape([A;B],[16,2,50]),[2 1 3])
Мы приближаемся? Что делать, если вы изменили результат? (Да, возможно, вы захотите сделать все это в несколько шагов, чтобы сделать его читабельным. Читаемый код очень важен, когда вам нужно отладить его в следующем месяце или в следующем году. Также важны строки комментариев, которые сообщают, что делает блок кода. )
% interleave the rows of matrices A and B to create C
C = reshape([A;B],[16,2,50])
C = permute(C,[2 1 3]);
C = reshape(C,[32,50]);
Суть в том, чтобы научиться использовать инструменты в Matlab для перемещения ваших элементов в памяти с учетом цели. Прежде чем вы закончите, не забудьте эти комментарии. Легко читаемый код - это легко отлаженный код. Если предложенная мною строка комментария вам не подходит, добавьте больше строк. Комментарии практически бесплатны! На их создание у вас уходит всего несколько секунд и нет времени на выполнение, но они неизмеримо улучшают ваш код.