Extracting data from 2 column array based on infromation in the 1st colum

조회 수: 2 (최근 30일)
Hello first time posting, I'm having a bit of trouble extracting information from a 2 column array here is a an example array. There is an attach example of some an array, what I've been trying to do is find a way to sort out all the data in the 2nd column the corresponds to 1, 2 etc, and create corrosponding vectors for each set of data. here is some of the code I've been messing with
>> for i = if B(1:end,1 == 0) A = B
end end

채택된 답변

Stephen23
Stephen23 2016년 10월 3일
편집: Stephen23 2016년 10월 3일
The best solution is to use accumarray:
>> A = [1,36;1,24;1,26;1,82;1,45;,2,68;2,27;2,91;3,91]
A =
1 36
1 24
1 26
1 82
1 45
2 68
2 27
2 91
3 91
>> Z = accumarray(A(:,1),A(:,2),[],@(n){n})
Z =
[5x1 double]
[3x1 double]
[ 91]
This puts the data into a cell array, using the values in the first column as indices. You can access the data in the cell array using cell array indexing:
>> Z{1}
ans =
36
24
26
82
45
>> Z{2}
ans =
68
27
91
>> Z{3}
ans =
91

추가 답변 (0개)

카테고리

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

Community Treasure Hunt

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

Start Hunting!

Translated by