Примеры индексации Matlab
[rows,cols] = size(M); % M is a rows x cols matrix
Доступ к записи в строке i, столбце j:
x = M(i,j);
Доступ ко всем элементам в строке i:
r = M(i,:);
Доступ ко всем элементам в столбце j:
c = M(:,j);
Доступ к записи в строке i, столбце j, обработка M как вектора:
x = M(rows*(j-1)+i);
Доступ к подматрице из строки i в строку j и из столбца p в столбец q:
S = M(i:j,p:q);
Доступ ко всей матрице (избыточно):
M = M(:,:);
Объяснение
Оператор двоеточия либо дает диапазон индексов (1: 2 - это индексы в диапазоне от 1 до 2 включительно, а 3: 5 - диапазон 3, 4, 5), либо он дает весь диапазон для данного измерения, если нет диапазона указано.
Это в сочетании с тем фактом, что индексирование матрицы с помощью только одного индекса дает вам запись, которая будет получена в результате пошагового перехода по этому количеству записей (переход вниз по строкам, увеличение столбца и сброс строки после последней строки) вместо того, чтобы дать вам только указанную строку / столбец, вы получите ваши наблюдения.