create two matrices from a larger matrix

4 views (last 30 days)
so I have this matrix harmonics [40x99226] and I want to create two matrices from the original, called harmA and harmB. harmA will have the rows 1,3,5...39 while harmB will get the rest 2,4,6...40. The new matrices will still carry all the 99226 samples that belong to each row. This is what I have so far, but it's not doing the trick.
Thank you for taking the time, I appreciate it!

Accepted Answer

Wayne King
Wayne King on 28 Mar 2013
Edited: Wayne King on 28 Mar 2013
Just do:
X = randn(40,99226);
harmA = X(1:2:end,:);
harmB = X(2:2:end,:);
MATLAB is generally really good at handling these types of matrix-vector operations without loops.

More Answers (1)

tony karamp
tony karamp on 28 Mar 2013
omg... you are right!
I had tried
harmA = X(1:2:end);
harmB = X(2:2:end);
but didn't work.
I didn't think to add the other dimension.
Thanks a bunch


Community Treasure Hunt

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

Start Hunting!