change column in matrix

3 visualizzazioni (ultimi 30 giorni)
Rica
Rica il 7 Dic 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 Commento
Muruganandham Subramanian
Modificato: Muruganandham Subramanian il 7 Dic 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?

Accedi per commentare.

Risposte (2)

Andrei Bobrov
Andrei Bobrov il 7 Dic 2012
Modificato: Andrei Bobrov il 7 Dic 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
Modificato: Muruganandham Subramanian il 7 Dic 2012
a=1:2250;
d=reshape(a,[75 30]);

Categorie

Scopri di più su Creating and Concatenating Matrices in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by