How do i reconstruct a matrix???

1 次查看(过去 30 天)
I have a matrix 2000x3 like this:
1 1 6
1 2 8
1 3 15
....
2 1 10
2 2 20
2 3 13
....
3 1 12
3 2 18
3 3 14
...
...
and i want to reconstruct like this:
1 1 6
1 2 8
1 3 15
....
2 3 13
2 2 20
2 1 10
....
3 1 12
3 2 18
3 3 14
...
...
Please help me..
  3 个评论
Image Analyst
Image Analyst 2013-6-24
编辑:Image Analyst 2013-6-24
The middle group has the second column flipped. But that's not enough to figure out what needs to be done in general. And what does this have to do with Image Processing, like the tag says?
George
George 2013-6-25
编辑:George 2013-6-25
i tag this question with ''image processing'' because these data come from grayscale image. What i want to do on my matrix is when the first column has an odd number the second and third column stay the same, when i have an even number the second and the third column reverse in order from bottom to top.

请先登录,再进行评论。

采纳的回答

Andrei Bobrov
Andrei Bobrov 2013-6-25
a - your array
a1 = a;
n = unique(a(:,1));
for jj = 1:numel(n)
if rem(n(jj),2) == 0
t = a1(:,1) == n(jj);
a1(t,:) = flipud(a1(t,:));
end
end

更多回答(2 个)

Evan
Evan 2013-6-24
M(:,:,2) = flipud(M(:,:,2))
As an example:
M = rand(3,3,3); %random example 3d matrix
M(:,:,2) = flipud(M(:,:,2));

George
George 2013-10-14
i write this matrix to a .txt file and i would like to numerate the lines, for example :
1 1 1 6
2 1 2 8
3 1 3 15
....
50 2 1 10
51 2 2 20
52 2 3 13
....
Please will someone help me?

Community Treasure Hunt

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

Start Hunting!

Translated by