row circular shift in matrix
28 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Abhishek Bakhla
am 20 Apr. 2020
Kommentiert: Abhishek Bakhla
am 24 Apr. 2020
How can I shift all the elements of a particular row in matrix in left circular shift or right circular shift.
0 Kommentare
Akzeptierte Antwort
Tommy
am 20 Apr. 2020
Bearbeitet: Tommy
am 23 Apr. 2020
M(row,:) = [M(row,end) M(row,1:end-1)]; % shift to the right
M(row,:) = [M(row,2:end) M(row,1)]; % shift to the left
(edit) To shift by any amount:
M = randi(10,5)
shift = 8; row = 2;
[n,m] = size(M);
M(row,:) = [M(row,(end-mod(shift,m)+1):end) M(row,1:(end-mod(shift,m)))] % shift to the right
M(row,:) = [M(row,(mod(shift,m)+1):end) M(row,1:mod(shift,m))] % shift to the left
(edit) Fixed mistake
3 Kommentare
Tommy
am 23 Apr. 2020
Yes sorry I goofed! I used n where I should've used m. Let me know if that fixes it for you.
Weitere Antworten (1)
Siehe auch
Kategorien
Mehr zu Graphics Object Programming finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!