所以需要一点帮助,解决方案可能非常简单。
我在Matlab中有一组值表示测量的样本ID。每个样本的测量次数为n
次(通常为4次,但并非总是如此)。样品的一组测量值表示序列,其中每个单独的测量值是一个循环。然后我转到下一个样本并执行相同的操作。测量完每个样品后,我再次重复该过程,因此每个样品都会进行多次测量,由构成序列的n
个循环组成。我需要为一组循环分配一个序列号。如何在Matlab中最好地完成?显示了一个示例部分数组。
id = [134950
134950
134950
134950
134951
134951
134951
134951
134736
134736
134736
134736
134737
134737
134737
134737
123841
123841
123841
123841]
因此,每组唯一ID都是一个序列。
我已尝试logical(diff(id))
,但我无法想出增加序列号的好方法。
要跟进,我要找的是创建一个与id相同维度的向量,但是会由
之类的东西组成 seq =[1
1
1
1
2
2
2
2
3
3
3
3
4
4
4
4
5
5
5
5]
提前再次感谢。
答案 0 :(得分:0)
sequence = [1; find(logical(diff(id)))];
编辑:
根据您的反馈,这很容易。只需使用unique
功能。
[~, ~, sequence] = unique(id,'stable')