0
當一個變量增加一個非常小的值(比如說0.01)時,它不會按預期給出適當的(精確的)結果。NetLogo添加標稱值會產生異常結果
尋找建議(如果有的話)來處理相同的問題。
globals[p]
to go
set p 0
while[p <= 1]
[
print p
set p p + 0.01
]
end
當一個變量增加一個非常小的值(比如說0.01)時,它不會按預期給出適當的(精確的)結果。NetLogo添加標稱值會產生異常結果
尋找建議(如果有的話)來處理相同的問題。
globals[p]
to go
set p 0
while[p <= 1]
[
print p
set p p + 0.01
]
end
首先閱讀這個: http://floating-point-gui.de/
然後細分的間隔成n
件,這樣做:
to-report subdivide [#xmin #xmax #n]
let ps n-values (#n + 1) [?/#n]
report map [#xmin + ? * (#xmax - #xmin)] ps
end