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

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

 Accepted Answer

N/A
N/A on 16 Nov 2022

0 votes

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)=[]

More Answers (0)

Categories

Tags

Asked:

N/A
on 16 Nov 2022

Answered:

N/A
on 16 Nov 2022

Community Treasure Hunt

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

Start Hunting!