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

怎么样可以实现统计一条序列里在不同位置出现重复元素的数目,并把重复的数目存在另一个数组里。
例如:序列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 ExchangeCreating 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!