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!!

채택된 답변

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 CenterFile Exchange에서 Data Type Conversion에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by