Grouping data in a matrx

3 views (last 30 days)
Farai Mahachi
Farai Mahachi on 15 Nov 2019
Edited: KALYAN ACHARJYA on 15 Nov 2019
I have a 2 column matrix with some data. The fist column represents a time index, and the second column represents data for that time index:
whatIhave.png
so I want to create a matrix that looks like the one below:
whatIwant.png
so that I can plot a scatter that looks the one below:
plotwhatIwant.png
I have tried findgroups without success. How best can I implement that?
Thanks a lot for your assistance.

Accepted Answer

KALYAN ACHARJYA
KALYAN ACHARJYA on 15 Nov 2019
Edited: KALYAN ACHARJYA on 15 Nov 2019
time_data=[1 1 1 2 3 3 3 4 4];
data=[10 16 14 18 13 14 23 26 29];
time_data1=unique(time_data);
data_result=cell(1,length(time_data1));
for i=1:length(time_data1)
idx=find(time_data==time_data1(i));
data_result{i}=data(idx);
end
data_result
The resultant groups are saved in a cell array.
Results:
data_result =
1×4 cell array
[1×3 double] [18] [1×3 double] [1×2 double]
>> data_result{1}
ans =
10 16 14
>> data_result{2}
ans =
18
>> data_result{3}
ans =
13 14 23
>> data_result{4}
ans =
26 29

More Answers (0)

Categories

Find more on Matrices and Arrays in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!