To RESHAPE the number of elements must not change.

64 views (last 30 days)
rows = 450;
cols = 450;
samples = 1024;
samples = size(data2d,2);
Data = reshape(data2d,cols,rows,samples);
Data = flip(Data,1);
I have the data2d of 168921*1024
It gives me reshape error ??
  1 Comment
Rik
Rik on 21 Aug 2019
You are asking Matlab to put 172975104 elements in an array with 207360000 elements. What do you want to happen?

Sign in to comment.

Accepted Answer

Guillaume
Guillaume on 21 Aug 2019
Well, yes as the error message says, the number of elements must no change. You tell us that currently data2 has 168921 (* 1024) elements and want to reshape to 450*450 (* 1024) = 202500 (* 1024) elements. 202500 is not equal to 168921, so indeed you can't reshape.
You need to choose a different shape or change your input so that it has the same numbers of element as your desired shape.
  1 Comment
Ramesh Bala
Ramesh Bala on 21 Aug 2019
Yes you are correct. I changed it to 411*411 and it works

Sign in to comment.

More Answers (0)

Products


Release

R2018a

Community Treasure Hunt

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

Start Hunting!