怎样实现统计一条序列​里在不同位置出现重复​元素的... 。

怎么样可以实现统计一条序列里在不同位置出现重复元素的数目,并把重复的数目存在另一个数组里。
例如:序列S=[ACGCCTACCCACCCCT],序列里出现重复的是字母C,重复次数依次是2,3,4,另一个数组就应该是这样a=[2 3 4]。求用MATLAB实现的代码!在线等。。。

 采纳的回答

N/A
N/A 2022-11-16

0 个投票

A='ACGCCTACCCACCCCT'
A=A=='C'
k=diff([0 A 0]) %对A前后补0之后再作diff,补0是为了保证如果A的第一个和最后一个元素是1的话,也能够通过diff求得1或-1,然后再根据1和-1来寻找连续1的位置和个数
ind=find(k==1)  %1出现的位置即连续1出现的位置
num=find(k==-1)-ind  %-1和1出现的位置差即连续1出现的个数
num(num==1)=[]

更多回答(0 个)

类别

帮助中心File Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息

标签

提问:

N/A
2022-11-16

回答:

N/A
2022-11-16

Community Treasure Hunt

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

Start Hunting!