# How to Count occurrences?

2 views (last 30 days)
Cre'Shawn Dabney on 8 Oct 2019
Answered: Jan on 10 May 2021
Given a text: ‘tagtacagccagtagagttgattccaaggaagtccggctgttgtagagtagc’ and a three-character target pattern (for example: ‘TAG’ ), your program should identify all target patterns in the text and output the number of occurrences of the target pattern.
Sample output Text:tagtacagccagtagagttgattccaaggaagtccggctgttgtagagtagctag
Target:TAG
Number of TAG:5
Target:tag
Number of tag:5
Target:GTa
Number of cag:2
Target:exit Program terminated!
##### 3 CommentsShow 1 older commentHide 1 older comment
Cre'Shawn Dabney on 8 Oct 2019
Hello, I am confused about the looping and case sensitivity part. In other words I can perform the first output which is
Text:tagtacagccagtagagttgattccaaggaagtccggctgttgtagagtagctag
Target:TAG
Number of TAG:5
But I cant seem to produce the rest of the outputs. This is what I used to produce the first output:
clear;clc;
text=input('Enter text:','s');
pattern=input('Target:','s');
count=0;
n=size(text,2);
m=size(pattern,2);
for i=1:n-m
%sunstring find
temp=text(i:i+m-1);
%comapre
if(strcmp(temp,pattern))
count=count+1;
end
end
fprintf('Pattern count: %d\n',count);
Priyadharshini A.R on 10 May 2021
Hello Dabney,
The loop must go on till n-m+1 so that it can traverse till last element in text

Jan on 10 May 2021
t = 'tagtacagccagtagagttgattccaaggaagtccggctgttgtagagtagc';
tag = 'tag';
result = sum(strfind(lower(t), lower(tag)))

Alaster Meehan on 8 Oct 2019
strcmpi ignors case
Cheers Alaster
Cre'Shawn Dabney on 8 Oct 2019
Thank you for your answer. I am still confused on how to write this code. Could you possibly demonstrate how? If not thank you so much for your participation!