Adding columns to matrix using circshift by auto incrementing
Show older comments
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
Accepted Answer
More Answers (2)
Andrei Bobrov
on 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
on 4 Feb 2014
0 votes
Categories
Find more on Sparse Matrices 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!