Reducing matrix dimension to a lower dimension

278 views (last 30 days)
MiauMiau
MiauMiau on 22 Dec 2015
Commented: MiauMiau on 22 Dec 2015
Hi all,
I have a 1 x 400 x 16 matrix (400 measurements, 16 times). I would like to end up simply with a 400 x 16 matrix. Though when I use
reshape(X, [400,16])
it seems that the 400 rows do not correspond to the 400 measurements of one iteration, but that the data is all mixed up. How can I get the dimension I want?
Thanks
  2 Comments
MiauMiau
MiauMiau on 22 Dec 2015
Hi
Yes, indeed:
>> size(X)
ans =
1 400 16
So for reshape(X,[16,400]) the first row of the columns 1 to 9 is:
-21.0249 -22.2957 -18.9817 -18.0000 -14.7391 -15.5531 -17.2633 -16.4054 -14.0155
(so basically the 9 first measurements of the first measurement (of 16))
But, looking at X, the first 9 column of val(:,:,1) (which is the data from the first measurement from the 16 measurements, so it is up to val(:,:,16) ) are:
-21.0249 -22.5019 -24.1185 -25.7687 -27.3287 -28.6710 -29.6799 -30.2676 -30.3871
..not quite the same.

Sign in to comment.

Accepted Answer

Ingrid
Ingrid on 22 Dec 2015
it looks like it is the squeeze command that you are looking for? Have you tried this:
squeeze(X);

More Answers (0)

Tags

Community Treasure Hunt

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

Start Hunting!