I have a string S='010101' I need to take each element from the string and check whether it 1,if it is one then the count is incremented by one in matlab?
11 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Anushka
el 7 de Jul. de 2015
Comentada: Steven Lord
el 7 de Jul. de 2015
I have a string S='010101' I need to take each element from the string and check whether it 1,if it is one then the count is incremented by one in matlab?
I have used the following code,but the value of count is not changing.
St='010101';
count=0;
a=0;
for i=1:6
a=St(i);
if(a==1)
count=count+1;
end
end
3 comentarios
Thorsten
el 7 de Jul. de 2015
Or
sum(double(St) == double('1'))
or
numel(findstr(St, '1'))
Steven Lord
el 7 de Jul. de 2015
Or, with no arithmetic (besides NNZ's counting):
nnz(str == '1')
Respuesta aceptada
Azzi Abdelmalek
el 7 de Jul. de 2015
Editada: Azzi Abdelmalek
el 7 de Jul. de 2015
S='010101'
out=nnz(S-'0')
To correct your for loop
St='010101';
count=0;
a=0;
for i=1:6
a=St(i);
if(a=='1')
count=count+1;
end
end
0 comentarios
Más respuestas (1)
Debarati Banerjee
el 7 de Jul. de 2015
This seems to work:
St='010101';
count=0;
a=0;
for i=1:6
a=St(1,i);
if(str2num(a)==1)
count=count+1;
end
end
Ver también
Categorías
Más información sobre MATLAB Coder en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!