3次元から2次元に形状変換

151 views (last 30 days)
sz
sz on 21 Oct 2021
Edited: Akira Agata on 21 Oct 2021
3×3のデータが100個ある3次元データがあります。
この3×3×100のものを9×100の二次元に並び変えて反感したいのですが、出来ません。
どのようにするか分かればスクリプトを書いて頂けると助かります。
1 1 0
1 1 1
0 1 1
上記のようなのが100こある状態です。
100個とも
110111011といったように形状を変えて二次元にしたいです。
よろしくお願いいたします

Accepted Answer

Akira Agata
Akira Agata on 21 Oct 2021
Edited: Akira Agata on 21 Oct 2021
下記の方法ではいかがでしょうか?
% 変数 A はサイズが 3×3×100 の3次元配列と想定
A = reshape(permute(A, [2 1 3]), 1, [], 100);
A = squeeze(A)';
例:
% 簡単のため 3×3×3 の3次元配列を作成
A = repmat([1 2 3; 4 5 6; 7 8 9], 1, 1, 3);
% 変換
A = reshape(permute(A, [2 1 3]), 1, [], 3);
% 2次元配列に集約
A = squeeze(A)';
% 表示
disp(A)
1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9 1 2 3 4 5 6 7 8 9

More Answers (0)

Categories

Find more on Creating and Concatenating Matrices in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!