How to find multiple duplicates in an array
显示 更早的评论
Hi, i am a beginner in matlab and trying to write a code for my data, but got stuck in this bit. I have a list of names in one vector(varies in length on each loaded data set) and time in another. In this list of names that corresponds to the time, there are at least 9 duplicates of each name, that i want to find and group together into bins and refer to the correct timing.
Example: n = [a b c d e a a e c d a ...]
t = [10.01 2.1 5.01 6.07 9.3 10.02 10.0 9 5.05 6.1 10.001 ...]
how can i ask matlab (7.6) to group all the a together and their t values, then all the b, all the c, and etc.
Much appreciated for any help.
1 个评论
Is n a cell string? Then this would be better:
n = {'a', 'b', 'c', ...}
What exactly does "group together into bins" mean and what is "the correct timing"? Perhaps it helps, if you post the wanted result for the shown example inputs.
回答(1 个)
Azzi Abdelmalek
2013-7-11
n = {'a' 'b' 'c' 'd' 'e' 'a' 'a' 'e' 'c' 'd' 'a'}
t = [10.01 2.1 5.01 6.07 9.3 10.02 10.0 9 5.05 6.1 10.001 ]
k=unique(n)
out=[k' cellfun(@(x) t(ismember(n,x)),k,'un',0)']
类别
在 帮助中心 和 File Exchange 中查找有关 Loops and Conditional Statements 的更多信息
产品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!