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

1 次查看(过去 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