Ответ 1
Важно понимать, что MATLAB хранит данные в порядковый номер столбца, поэтому вы знаете, что происходит, когда вы применяете оператор colon
без каких-либо запятых:
>> M = magic(3)
M =
8 1 6
3 5 7
4 9 2
>> M(:)
ans =
8
3
4
1
5
9
6
7
2
Я склонен думать, что "MATLAB идет вниз, а затем через". Это упрощает массивы reshape
и permute
без скремблирования ваших данных. Это также необходимо для обеспечения линейного индексации (например, M(4)
).
Например, обычным способом получения вектора столбца inline из некоторого выражения, которое генерирует массив, является:
reshape(<array expression>,[],1)
Как и в случае с (:)
, все столбцы друг на друга помещаются в один вектор столбца для всех данных в любых более высоких измерениях.
Но этот отличный синтаксический трюк позволяет избежать дополнительной строки кода.