测量样本的数量序列

时间:2015-06-11 00:55:28

标签: matlab

所以需要一点帮助,解决方案可能非常简单。

我在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]

提前再次感谢。

1 个答案:

答案 0 :(得分:0)

你要的是什么?像这样:

sequence = [1; find(logical(diff(id)))];

编辑:

根据您的反馈,这很容易。只需使用unique功能。

[~, ~, sequence] = unique(id,'stable')