How do i reconstruct a matrix???

4 views (last 30 days)
George
George on 21 Jun 2013
Answered: George on 14 Oct 2013
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 Comments
Image Analyst
Image Analyst on 24 Jun 2013
Edited: Image Analyst on 24 Jun 2013
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 on 25 Jun 2013
Edited: George on 25 Jun 2013
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.

Sign in to comment.

Accepted Answer

Andrei Bobrov
Andrei Bobrov on 25 Jun 2013
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

More Answers (2)

Evan
Evan on 24 Jun 2013
M(:,:,2) = flipud(M(:,:,2))
As an example:
M = rand(3,3,3); %random example 3d matrix
M(:,:,2) = flipud(M(:,:,2));
  1 Comment
Evan
Evan on 26 Jun 2013
In light of George's update in the below comment, this code does not do what he is asking for. http://www.mathworks.com/matlabcentral/answers/79846#comment_156778

Sign in to comment.


George
George on 14 Oct 2013
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!