И a
, и b
- это двумерные матрицы размером 3 на 3. Когда вы объединяете их по четвертому измерению, промежуточное третье измерение является синглтоном (т.е. 1). Таким образом, c(:,:,1,1)
будет вашей матрицей a
, а c(:,:,1,2)
будет вашей матрицей b
.
Вот ссылка на некоторую документацию , которая может помочь в понимании многомерных массивов.
EDIT:
Возможно, это поможет подумать об этих четырех измерениях в терминах, к которым нам, людям, легче относиться ...
Предположим, что четыре измерения в примере представляют три измерения в пространстве (x
, y
и z
) плюс время четвертого измерения. Представьте, что я измеряю температуру воздуха в нескольких точках пространства за один раз. Я могу измерять температуру воздуха в сетке, которая включает все комбинации трех позиций x
, трех позиций y
и одной позиции z
. Это даст мне сетку 3 на 3 на 1. Обычно мы, вероятно, просто скажем, что данные находятся в сетке 3 на 3, игнорируя конечное одноэлементное измерение.
Однако, допустим, я сейчас возьму другой набор образцов в этих точках позднее. Поэтому я получаю другую сетку 3 на 3 на 1 во второй момент времени. Если я объединю эти наборы данных вместе во временном измерении, я получу матрицу 3 на 3 на 1 на 2. Третье измерение одноэлементное, потому что я выбрал только одно значение z
.
Итак, в примере c=cat(4,a,b)
мы объединяем две матрицы вдоль четвертого измерения. Две матрицы имеют размер 3 на 3, при этом третье измерение подразумевается как одноэлементное. Однако при конкатенации по четвертому измерению нам в конечном итоге приходится явно показывать, что третье измерение все еще там, указав его размер как 1.