Reversing every second row in a matrix

조회 수: 14 (최근 30일)
Melissa2305
Melissa2305 2015년 12월 19일
댓글: Melissa2305 2015년 12월 19일
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!

채택된 답변

the cyclist
the cyclist 2015년 12월 19일
M = [ 1 2 3;
4 5 6;
7 8 9;
10 11 12];
M(2:2:end,:) = fliplr(M(2:2:end,:))
  댓글 수: 1
Melissa2305
Melissa2305 2015년 12월 19일
This was exactly what I was looking for :) Thanks!

댓글을 달려면 로그인하십시오.

추가 답변 (2개)

Star Strider
Star Strider 2015년 12월 19일
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 2015년 12월 19일
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

카테고리

Help CenterFile Exchange에서 MATLAB에 대해 자세히 알아보기

태그

Community Treasure Hunt

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

Start Hunting!

Translated by