hi why my while loop is never end? it running continuously.
이전 댓글 표시
function y = fcn
%#codegen
y=0;
i=0;
coder.extrinsic ('fprintf');
while(i<10)
if(y==1)
y=0;
fprintf('on\n');
else
y=1;
fprintf('off\n');
end
i = i+ 1;
fprintf('i=%d\n',i);
end
댓글 수: 12
Alex Sune
2019년 3월 26일
It is ok. It stops when i == 10
KAMALAKANNAN R
2019년 3월 26일
Alex Sune
2019년 3월 26일
try with a for loop instead
KAMALAKANNAN R
2019년 3월 26일
KAMALAKANNAN R
2019년 3월 26일
Geoff Hayes
2019년 3월 26일
How is fcn being called? Perhaps it is being called continuously and so creates the illusion that the while loop never ends.
KAMALAKANNAN R
2019년 3월 28일
Geoff Hayes
2019년 3월 28일
How is fcn being called?
KAMALAKANNAN R
2019년 3월 29일
Walter Roberson
2019년 3월 29일
Is it showing i= with numbers greater than 10? Or is it cycling showing 1 to 10 over and over again?
Your function would be invoked once per time step, so if you are running more than one time step it is going to repeat multiple times.
KAMALAKANNAN R
2019년 3월 29일
Walter Roberson
2019년 3월 29일
It should already be invoked once per time step if you are using discrete time. If you are using continuous time then I am not sure how often it would get invoked.
The problem I see is that you are running for multiple time steps rather than just having the function invoked at initialisation time.
답변 (0개)
카테고리
도움말 센터 및 File Exchange에서 Model Verification에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
