あなたが与えた例は線形索引付けを示しています。多次元配列があり、それに単一のスカラーまたはベクトルを指定すると、各列に沿って上から下、左から右にインデックスが付けられます。各ディメンションへのインデックス作成の例を次に示します。
mat = [1 4 7; ...
2 5 8; ...
3 6 9];
submat = mat(1:2, 1:2);
submat
マトリックスの左上隅が含まれます:[1 4; 2 5]
。これは1:2
、サブインデックスの最初の次元が最初の次元(行)に1:2
アクセスし、2番目の次元が2番目の次元(列)にアクセスして、2行2列の正方形を抽出するためです。コンマで区切られた各次元のインデックスを指定せず、代わりに1つのインデックスを指定した場合、MATLABは、1つの大きな列ベクトルであるかのように行列にインデックスを付けます。
submat = mat(3, 3); % "Normal" indexing: extracts element "9"
submat = mat(9); % Linear indexing: also extracts element "9"
submat = mat([1 5 6]); % Extracts elements "1", "5", and "6"
詳細については、MATLABのドキュメントを参照してください。