1.滞回区间
1.1 常规
假设有一个功能,当某个值val超过阈值threshold == 10时起作用。如果设计为:
val > 10 功能起作用
val < 10 功能不起作用
那么会因为val在threshold附近波动而导致这个功能反复起作用和不起作用,很不稳定。
1.2 滞回
设计成滞回:
val > 10 功能起作用
val < 0 功能不起作用
那么val == 5
时的状态呢?所以这里还有个逻辑:- 当val是从0往上升时,val == 5 功能不起作用
- 当val是从10往下降时,val == 5 功能起作用
2.伪代码
if(val > 10):
doing;//功能起作用
flag = 1;
else if(val < 0):
none;//功能不起作用
flag = 0;
else:
//滞回
if(flag == 1):
doing;
else:
none;