rearranging matrices horizontally rather than vertically

조회 수: 17 (최근 30일)
AA
AA 2015년 5월 2일
답변: pfb 2015년 5월 2일
I want to reshape this matrix but the following command does the rearrangement not properly.
b=(rand(30,1)).'
c = reshape(b,[3,10])
i want to rearrange in the following manner
b= 4 1 3 5 7 1 2 3 5 6 ...... 2 3 4
c= 4 1 3 5 7 1 2 3 5 6 (10 columns)
My command rearranges c as 4 5 2 ....
how can i change this?

채택된 답변

pfb
pfb 2015년 5월 2일
This is because the index order in a matrix is along columns. I'm not sure your command does what you say. Anyway
b= [4 1 3 5 7 1 2 3 5 6 1 2 ];
c = reshape(b,[3,4]);
gives
c =
4 5 2 6
1 7 3 1
3 1 5 2
while
c = reshape(b,[4,3])'
gives
c =
4 1 3 5
7 1 2 3
5 6 1 2
Probably the random numbers are only for the sake of example. If this is not the case, why don't you simply write
b = rand(3,10);
?

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Creating and Concatenating Matrices에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by