MATLAB で reshape 関数を使用の方法
Matlabのreshape関数は、配列の次元を変更するために使用され、配列の要素を並べ替えて新しい形状を持つ行列を作成します。reshape関数の構文は次のとおりです。
A = reshape(X, m, n);
Xは再配置する行列あるいは配列で、m、nは新しい行列の次元です。
reshape関数は、X内の要素を列優先で再配列し、m行n列の新しい行列Aを作成します。X内の要素数がm*nと一致しない場合、reshape関数はエラーを出力します。指定された次元mまたはnのどちらかが0の場合、reshape関数は自動的に対応する次元を計算します。
行列形式の入力のほかに、reshape関数はベクトル形式の入力も受け入れ、ベクトルの長さは指定された新しい次元m*nと同じでなければなりません。
reshape 関数を使用する際は以下の点に注意してください。
- 指定した新しい次元と、入力する行列または配列の要素数は一致する必要があります。
- reshape関数は列優先(column-major order)に従って配列要素の並べ替えを行います。つまり行列において、列→行の順に要素が並んでいます。
- reshape関数を使用してもとの配列は影響を受けず、新しい行列のみ作成できます。
- reshape 関数の入力配列が 1 次元配列の場合、配列の要素数は、指定した新しい次元のサイズの積と同じである必要があります。