For this loop I want the output to print str='b' anytime A='1'
1 view (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
Categories
Find more on Logical in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!