For this loop I want the output to print str='b' anytime A='1'
    3 views (last 30 days)
  
       Show older comments
    
For this loop I want the output to print str='b' anytime A='1'
clc
clear
for q=20:21
str=[];
    A=dec2base(q,19)
    if A=='1'
        str=[str sprintf('b')]
    end
    str
end
but when A=11 the output is  'b' instead of 'bb'. Please help
0 Comments
Answers (1)
  Rik
      
      
 on 6 Aug 2021
        This behaviour is exactly as documented. if A=='1' does not create a loop.
clc
clear
str=[];
for q=20:21
    A=dec2base(q,19);
    str_=repmat('b',1,sum(A=='1'));
    fprintf('%s results in %s\n',A,str_)
    str=[str str_];
end
str
0 Comments
See Also
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!