我会根据ticks和价格变量在Netlogo中创建一个周期函数。
我想要一个价格保持在2个范围(0到1)之间的功能,如果我可以选择周期性,我会很高兴。
我可重复的小例子:
$.noConflict
提前谢谢
答案 0 :(得分:1)
听起来你只想要一个基于mod
的循环。
to test
ca
reset-ticks
print map price n-values 100 [?]
print map [price02 0 1 ?] n-values 100 [?]
end
to-report price [#ticks]
let _cycle 10 ;cycle length
let _first 3 ;length of first cycle component
report ifelse-value (#ticks mod _cycle < _first) [
0.1
][
0.2
]
end
修改强>
或者,您可能只是尝试缩放正弦波。
to-report price02 [#min #max #ticks]
let _cycle 10
let _sin sin (#ticks * 360 / _cycle)
let _scaledsin (1 + _sin) / 2
report #min + (#max - #min) * _scaledsin
end