how to use reshape ?

조회 수: 12 (최근 30일)
pruth
pruth 2020년 7월 3일
댓글: pruth 2020년 7월 6일
I have a matrix with - 23043864x3 double.
i want to split this matrix in to 339 rows using reshape.
So it wil becaome - 339 x (something) double.
any help would be apriciated !
thank you
  댓글 수: 2
KSSV
KSSV 2020년 7월 3일
If a is your array..
b = reshape(a,339,[]) ;
this is what you want?
pruth
pruth 2020년 7월 6일
yess. thank you !!! it works !
i tried this before but without using comma. that is why got the error.

댓글을 달려면 로그인하십시오.

채택된 답변

Gifari Zulkarnaen
Gifari Zulkarnaen 2020년 7월 3일
try this:
B = reshape(A,339,[]); % A is the original matrix, B is the reshaped matrix
  댓글 수: 1
pruth
pruth 2020년 7월 6일
worked !! thanks !

댓글을 달려면 로그인하십시오.

추가 답변 (2개)

John D'Errico
John D'Errico 2020년 7월 3일
편집: John D'Errico 2020년 7월 3일
The good thing about reshape is IF you put in an empty argument, then it figures out how many columns you will need.
But first, reshape will fail here, if the number of elements in your array is not an integer mutiple of 339.
(23043864*3)/339
ans =
203928
So the desired reshape will not fail.
However, you need not compute the number of columns yourself.
B = reshape(A,339,[]);
So the use of empty brackets tells reshape to figure out how many columns would have been necessary.
Finally, this even works to turn the matrix into a 3-dimensional matrix.
A = rand(23043864,3);
B = reshape(A,339,[],3);
size(B)
ans =
339 67976 3
As you should see, I never needed to compute the number of columns. Let reshape do the thinking for you.
  댓글 수: 1
pruth
pruth 2020년 7월 6일
thank you for the information !! I appreciate !

댓글을 달려면 로그인하십시오.


Alan Stevens
Alan Stevens 2020년 7월 3일
If A is your 23043864x3 matrix, then
B = reshape(A, 339, 203928);
should work. Of course, you could simply use A where I've put B above if you no longer need the original A.

카테고리

Help CenterFile Exchange에서 Line Plots에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by