how to stop changing of a variable?
10 ビュー (過去 30 日間)
古いコメントを表示
Function ...
...
if s<200
logic=1;
else
logic=0;
end
end
end
here I'll explain what I tryna make, assume 's' is a variable result of that firstly starting from 0 and having cumulative summation step by step. Till it arrives at 200, logic equals to 1, so far so good, where it arrives at 200, I want the logic be constant 0 always after at 200, the problem is 's' is decreasing after it got hit by 200. So that it starts to be '1' again. That's the thing I don't want it to be. If it happened in a loop, I'd use 'break', but loops is not used.
For any help, I thank you for your time in advance.
0 件のコメント
採用された回答
Stephen23
2019 年 7 月 23 日
編集済み: Stephen23
2019 年 7 月 24 日
Use a nested function:
logic = true;
...
function ...
...
logic = logic && s<200;
...
end
...
Or a persistent variable:
5 件のコメント
Stephen23
2019 年 7 月 24 日
@Enez Furkan Cihan: I am glad that my suggestion of using peristent helped you. You can help me by voting for my answer or accepting it.
その他の回答 (1 件)
Image Analyst
2019 年 7 月 23 日
Instead of this
if s<200
logic=1;
else
logic=0;
do this
logic = s < 200; % Just one line, not a whole if/else block.
if logic
return; % Exit out of the function entirely so s does not get altered anymore.
end
参考
カテゴリ
Help Center および File Exchange で Loops and Conditional Statements についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!