how to stop changing of a variable?
9 次查看(过去 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!