row circular shift in matrix
26 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Abhishek Bakhla
le 20 Avr 2020
Commenté : Abhishek Bakhla
le 24 Avr 2020
How can I shift all the elements of a particular row in matrix in left circular shift or right circular shift.
0 commentaires
Réponse acceptée
Tommy
le 20 Avr 2020
Modifié(e) : Tommy
le 23 Avr 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 commentaires
Tommy
le 23 Avr 2020
Yes sorry I goofed! I used n where I should've used m. Let me know if that fixes it for you.
Plus de réponses (1)
Voir également
Catégories
En savoir plus sur Graphics Object Programming dans Help Center et File Exchange
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!