Netlogo创建一个周期性功能

时间:2016-07-29 11:40:57

标签: netlogo sin cos periodicity

我会根据ticks和价格变量在Netlogo中创建一个周期函数。

我想要一个价格保持在2个范围(0到1)之间的功能,如果我可以选择周期性,我会很高兴。

我可重复的小例子:

$.noConflict

提前谢谢

1 个答案:

答案 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