For this loop I want the output to print str='b' anytime A='1'
1 回表示 (過去 30 日間)
古いコメントを表示
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 件のコメント
回答 (1 件)
Rik
2021 年 8 月 6 日
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 件のコメント
参考
カテゴリ
Help Center および File Exchange で Logical についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!