Flatten Any Mulitdimensional Matrix into a 2-D Matrix!

Convert any multidimensional matrix into a 2-D Matrix. Then convert it back to its original form.

現在この提出コンテンツをフォロー中です。

Take any N-D matrix in MATLAB and flatten it down into an N x size(ND,dim) 2-D matrix using fDim.m. This is often times necessary when writing complex operations on multidimensional matrices.

It is also desired that after flattening, the dimension that is preserved has the correct sequence. This is especially important for vector processing.

Once flattened, and an operation has been performed on the 2-D matrix, often times the 2-D matrix will need to be converted back to the original multidimensional matrix. This can be performed using eDim.m.

See the multiDimDemo.m for test cases using various matrix sizes and dimensions.

Example:
Given a multidimensional vector:
>> vector_1 = rand(3,3,3,4,5,3);

Flatten it into a 2-D matrix preserving the 3rd dimension which corresponds to the proper xyz order:
>> [vector_1_f, fSeq] = fDim(vector_1,3);

Convert the flattened matrix back to it's original multidimensional form still preserving the proper xyz order:
>> vector_1_e = eDim(vector_1_f,fSeq);

引用

Darin Koblick (2026). Flatten Any Mulitdimensional Matrix into a 2-D Matrix! (https://jp.mathworks.com/matlabcentral/fileexchange/37589-flatten-any-mulitdimensional-matrix-into-a-2-d-matrix), MATLAB Central File Exchange. に取得済み.

謝辞

ヒントを与えたファイル: KeplerMinMax

カテゴリ

Help Center および MATLAB AnswersElementary Math についてさらに検索

一般的な情報

MATLAB リリースの互換性

  • すべてのリリースと互換性あり

プラットフォームの互換性

  • Windows
  • macOS
  • Linux
バージョン 公開済み リリース ノート Action
1.0.0.0