change column in matrix

2 views (last 30 days)
Rica
Rica on 7 Dec 2012
Hi!
is it possible in matlab to change coluns:
A=[a1 a2 a3 a4.......a2250],a1...a2250 are arrays oth size(30*1).
i want to get this matrix B=[a1 a75 a150.... a2 a76....a3 a77..... ].
that means i have a step of 74
i wish you could help thank you
  1 Comment
Muruganandham Subramanian
Edited: Muruganandham Subramanian on 7 Dec 2012
if you step size is 74..the matrix will be B=[a1 a75 a149 a223...] like this only.. check is your question is right?

Sign in to comment.

Answers (2)

Andrei Bobrov
Andrei Bobrov on 7 Dec 2012
Edited: Andrei Bobrov on 7 Dec 2012
B = reshape(permute(reshape(A,size(A,1),75,[]),[1 3 2]),size(A,1),[]);
or
s = size(A,2);
B = A(:,bsxfun(@plus,1:75:s,(0:(s/75-1))')');
or
B = A(:,reshepe(1:size(A,2),75,[])');

Muruganandham Subramanian
Edited: Muruganandham Subramanian on 7 Dec 2012
a=1:2250;
d=reshape(a,[75 30]);

Categories

Find more on Operators and Elementary Operations in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!