Embedding a while into a for loop
Mostrar comentarios más antiguos
I am trying to write a function which counts the amount of times a character pattern (p) can be found within another string; I am trying to use loops only. Below is the code that I have; I get no error, then again my code doesn't seem to execute. I think I am missing smth obvious and would appreciate a second pair of eyes; I have set dna='ATCCCGG' and p='CG'. Any input is welcome; many thanks in advance.
function [count] = countPattern_CM(dna,p)
%countPattern_CM This function finds out how many times a pattern p occurs
%in data
if length(p)>length(dna)
msgbox(['The pattern(p) that you entered is longer than the dna',...
'\nstring. Please enter new pattern(p)! ']);
else
count=0; %This variable captures the occurence of
%the pattern p within dna
for i=1:length(dna)
k=i+length(p)-1;
while k<=length(dna);
if strcmp(dna(1,i:k),p)==1;
count=count+1;
else
continue;
end
end
end
end
end
1 comentario
Maroulator
el 6 de Ag. de 2016
Respuesta aceptada
Más respuestas (0)
Categorías
Más información sobre Common Operations en Centro de ayuda y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!