For this loop I want the output to print str='b' anytime A='1'

조회 수: 1 (최근 30일)
Ernest Adamtey
Ernest Adamtey 2021년 8월 6일
답변: Rik 2021년 8월 6일
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

답변 (1개)

Rik
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
11 results in bb 12 results in b
str
str = 'bbb'

카테고리

Help CenterFile Exchange에서 Logical에 대해 자세히 알아보기

태그

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by