How to find multiple duplicates in an array

6 次查看(过去 30 天)
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 个评论
Jan
Jan 2013-7-11
编辑:Jan 2013-7-11
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
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)']

类别

Help CenterFile Exchange 中查找有关 Loops and Conditional Statements 的更多信息

产品

Community Treasure Hunt

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

Start Hunting!

Translated by