How can I get a first value of each index from the other column?
1 view (last 30 days)
Show older comments
I have this kind of data. First column and seconds column refer to an index and x value relatively.
data = [1 200; 1 201; 1 202; 1 201; 2 301; 2 313; 2 311; 3 401; 3 452; 3 433; 3 405; 4 504; 4 303; 4 604; 4 703; 5 600; 5 700; 5 606; 5 703; 5 905; 5 444;];
I want to have first value of 2nd colum of each index.
I'd like to have this kind of data that has half length (or tird whatever ratio) of index.
data = [1 200; 2 301;3 401;4 604;5 600;];
If anyone can help, it would be greatly appreciated.
Thank you!
0 Comments
Accepted Answer
Rik
on 24 Sep 2019
Use unique to get the list of first indices, the use either find or min in a loop.
2 Comments
Rik
on 24 Sep 2019
This doesn't exactly match your output, but I suspect that could be a typo.
data = [1 200; 1 201; 1 202; 1 201; 2 301; 2 313; 2 311; 3 401; 3 452; 3 433; 3 405; 4 504; 4 303; 4 604; 4 703; 5 600; 5 700; 5 606; 5 703; 5 905; 5 444;];
col1=unique(data(:,1));
output=col1;
for n=1:numel(col1)
output(n,2)=data(find(data(:,1)==col1(n),1),2);
end
clc,disp(output)
More Answers (0)
See Also
Categories
Find more on Loops and Conditional Statements 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!