필터 지우기
필터 지우기

How do i reconstruct a matrix???

조회 수: 1 (최근 30일)
George
George 2013년 6월 21일
답변: George 2013년 10월 14일
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
  댓글 수: 1
George
George 2013년 6월 25일
Thank you Andrei!!!

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

추가 답변 (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));
  댓글 수: 1
Evan
Evan 2013년 6월 26일
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

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


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