Reshape by rows instead of columns
조회 수: 56 (최근 30일)
이전 댓글 표시
I have a 1260 by 1 column vector (myVector) that I want to reshape to a 35*36 matrix. However, I can't figure out how to reshape it the particular way that I want:
reshape(myVector,35,36) takes each successive chunk of 35 elements from myVector and makes them the 36 columns of the new matrix. But I want to take each successive chunk of 36 elements from myVector and make each chunk the 35 rows of the new matrix. How do I do this?
댓글 수: 0
채택된 답변
Max Alger-Meyer
2022년 3월 8일
If I understand you correctly, all you need to do is transpose the reshaped result:
vector = 1:16
array1 = reshape(vector,4,4)
transpose(array1)
댓글 수: 5
Bruno Luong
2022년 8월 29일
@Amr Aboughazala "taking the transpose won't give the first answer"
because you take transpose on a wrong reshape.
The correct one is
x = [0,1,2,3,4,5];
reshape(x,[2,3])' % size is [2,3] not [3,2]
It does fine.
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Resizing and Reshaping Matrices에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!