本例子用一个例子来讲解了如何在matlab对一组向量进行统计连续数,并计数。
并且可以返回连续数据的起始位置和终止位置。
例子中使用的是连续的相同量,但是该例子有很强的拓展性,例如将导数归一化后,可以计算整体数据连续增长或者下降的长度及相应位置。
列出一个向量:
A= [0,1,1,1,0,1];
为了使得后续计算方便,对该向量的前后各加上“0”。并对新向量求导:
k = diff([0 A 0]);
找到连续开始的位置,由于原始数据由“0”和“1”构成,所以这里简化为找等于“1”的数据
ind = find(k == 1);
找到结束的位置:
en_position = find(k == -1);
结束位置减去开始位置,得到连续个数:
num = en_position - ind;
运行结果如上图所示。
转载来源:https://jingyan.baidu.com/article/09ea3ededb08b681afde39d1.html