How can I shift rows and columns, and also replicating Sub matrixes.
Show older comments
First question, I have a 4x4 magic matrix, A. I want to create a new matrix D by shifting the rows in matrix A down by one, and by shifting the columns left by 2. What would follow D= ?
Second question I have a 2x2 matrix B. I want to create a 4x4 matrix by replicating B 4 times. How would I go about doing that?
Answers (3)
Azzi Abdelmalek
on 20 Jun 2014
A=reshape(1:16,4,4) , % First example
A=circshift(A,[1 0]) % Shift down by 1
A=circshift(A,[0 -2]) % Shift left by 2
B=[1 2;3 4] % Second example
B=repmat(B,2,2);
David Sanchez
on 20 Jun 2014
A = magic(4);
D = [A(end,:); A(1:end-1,:)]; % shift rows down
D = [D(:,3:end) D(:,1:2)]; % shift colums leftx2
B = rand(2); %2x2 matrix
G = [B B; B B];%4x4 matrix by replicating B 4 times
1 Comment
shivs
on 23 Oct 2022
How would you shift rows up
Andrei Bobrov
on 20 Jun 2014
A = magic(4);
D = circshift(A,[1,2]);
B = randi(10,2);
out = kron(ones(2),B);
Categories
Find more on Creating and Concatenating 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!