필터 지우기
필터 지우기

Sorting and collecting data from arrays

조회 수: 2 (최근 30일)
oli8819
oli8819 2013년 6월 7일
I have two columns which contain data and I am struggling to figure out how you could design code to run through the matrix and select the groups of numbers with their corrsposning 2nd column number.
For example a matrix has to 2 columns and 10 rows and each number out of the first coulmn has its corrosponding number out of the second column.
What I want to do is to take all the 1's and their corrspronding value in the 2nd column and put them into a seperate matrix, and then take all the 2's with there corrsponding values and put them into a matrix and so...
A(:,1)=[1; 1; 1; 1; 2; 2; 2; 2; 3; 3]
A(:,2)=[9; 4; 6; 3; 6; 7; 6; 4; 9; 4]
Any help would be great cheers!

채택된 답변

Iain
Iain 2013년 6월 7일
range = unique(A(:,1));
for i = 1:numel(range)
collection{i} = A(range(i) == A(:,1),2);
end

추가 답변 (1개)

Azzi Abdelmalek
Azzi Abdelmalek 2013년 6월 7일
편집: Azzi Abdelmalek 2013년 6월 7일
out=arrayfun(@(x) A(find(A(:,1)==x),:),unique(A(:,1)),'un',0)
% the result
out{1}
out{2}
out{3}

카테고리

Help CenterFile Exchange에서 Matrices and Arrays에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by