MATLAB: Column shuffling of a matrix

column shuffling of a n*n matrix

Please let me know if i want column shuffling instead of rows what changes i must need in this code.
% for the color image, for even rows and cols
% Need to perform switching of rows at each channel
A = imread('Untitled.png');
[m, n, c] = size(A);
temp= zeros(m,n);
for i = 1 : c
A1 = A(:, :, i);
a1 = A1(1 : m/2, :);
a2 = A1(end: -1 : m/2+1, :);
temp(1:2:end,:) = a1;
temp(2:2:end,:) = a2;
A(:, :, i) = temp;
end

Best Answer

A = imread('Untitled.png');
m = size(A);
out = zeros(m);
m1 = round(m(2)/2);
out(:,1:2:end,:) = A(:,1:m1,:);
out(:,2:2:end,:) = A(:,end:-1:m1+1,:);
Related Question