Reversing every second row in a matrix

8 vues (au cours des 30 derniers jours)
Melissa2305
Melissa2305 le 19 Déc 2015
Commenté : Melissa2305 le 19 Déc 2015
Hello!
I have a question regarding matrix transformation. The simplified version of what I have is:
1 2 3
4 5 6
7 8 9
10 11 12
etc
What I want is that every second row is reversed, so resulting in:
1 2 3
6 5 4
7 8 9
12 11 10
I have tried the flip-function, but as far as I found out that reverses every row. Any idea how to do this?
Thanks!

Réponse acceptée

the cyclist
the cyclist le 19 Déc 2015
M = [ 1 2 3;
4 5 6;
7 8 9;
10 11 12];
M(2:2:end,:) = fliplr(M(2:2:end,:))
  1 commentaire
Melissa2305
Melissa2305 le 19 Déc 2015
This was exactly what I was looking for :) Thanks!

Connectez-vous pour commenter.

Plus de réponses (2)

Star Strider
Star Strider le 19 Déc 2015
This works:
M = [1 2 3
4 5 6
7 8 9
10 11 12];
M(2:2:end,:) = M(2:2:end, end:-1:1);

harjeet singh
harjeet singh le 19 Déc 2015
dear melissa use this code
clear all
close all
clc
a=[1 2 3;4 5 6;7 8 9;10 11 12];
for i=1:size(a,1)
if(mod(i,2)==0)
b(i,:)=(flipud(a(i,:)'))';
else
b(i,:)=a(i,:);
end
end
b

Catégories

En savoir plus sur Creating and Concatenating Matrices dans Help Center et File Exchange

Tags

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by