Converting a 3D matrix into a 2D in the correct order.

1 回表示 (過去 30 日間)
Pedro Vicente
Pedro Vicente 2018 年 6 月 19 日
コメント済み: Andrei Bobrov 2018 年 6 月 19 日
Hi guys, so i have a index matrix of 1x8x50 (i know this is almost a vector). exemple:
T(:,:,48) = 37.3795 32.7215 31.9475 35.0683 35.8266 61.2570 45.0210 44.3608
T(:,:,49) = 38.7236 33.9132 33.1193 36.3396 37.1225 63.2087 46.5356 45.9089
And i Want to put it all in a 2D matrix with the index of (50;8). But when do reshape(T[size(T,3),size(T,2)]), it organizes the matrix by column. What i would like is that each 3D matriz would be a row of my 2D matrix. Like T(:,:,1) would be the first line of the 2D matrix and so on.
Thank you!!
  1 件のコメント
KSSV
KSSV 2018 年 6 月 19 日
Read about squeeze

サインインしてコメントする。

採用された回答

Andrei Bobrov
Andrei Bobrov 2018 年 6 月 19 日
permute(T,[3,2,1])
  2 件のコメント
Stephen23
Stephen23 2018 年 6 月 19 日
編集済み: Stephen23 2018 年 6 月 19 日
+1 permute is the correct way to do this.
Andrei Bobrov
Andrei Bobrov 2018 年 6 月 19 日
Thank you Stephen!

サインインしてコメントする。

その他の回答 (1 件)

Sayyed Ahmad
Sayyed Ahmad 2018 年 6 月 19 日
編集済み: Sayyed Ahmad 2018 年 6 月 19 日
for i=1:8
for j=1:50
a(1,i,j)=i*10000+j;
end
end
b=a;
b=reshape(b,8,50);
b=b';

カテゴリ

Help Center および File ExchangeData Type Conversion についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by