Adding columns to matrix using circshift by auto incrementing
Mostra commenti meno recenti
I want to develop a square matrix from a column matrix using circshift. Here is an example code:
z=[0;1;2;3];
x=[z,circshift(z,1),circshift(z,2),circshift(z,3)];
Output: >> x
x =
0 3 2 1
1 0 3 2
2 1 0 3
3 2 1 0
I have to do similar for the order of 1200 instead of 4 so I want it to be automatic. Can some one please suggest how can I use loop of vector in this case?
Thanks
Risposta accettata
Più risposte (2)
Andrei Bobrov
il 4 Feb 2014
z=[0;1;2;3];
x = [z;z];
n = numel(z);
out = x(bsxfun(@minus,(n+1:2*n)',0:n-1));
saad
il 4 Feb 2014
0 voti
Categorie
Scopri di più su Sparse Matrices in Centro assistenza e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!