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?
    10 ビュー (過去 30 日間)
  
       古いコメントを表示
    
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 件のコメント
  Thorsten
      
      
 2015 年 7 月 7 日
				Or
 sum(double(St) == double('1'))
or
 numel(findstr(St, '1'))
  Steven Lord
    
      
 2015 年 7 月 7 日
				Or, with no arithmetic (besides NNZ's counting):
 nnz(str == '1')
採用された回答
  Azzi Abdelmalek
      
      
 2015 年 7 月 7 日
        
      編集済み: Azzi Abdelmalek
      
      
 2015 年 7 月 7 日
  
      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 件のコメント
その他の回答 (1 件)
  Debarati Banerjee
    
 2015 年 7 月 7 日
        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
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!





