2016-11-09 30 views
0

當一個變量增加一個非常小的值(比如說0.01)時,它不會按預期給出適當的(精確的)結果。NetLogo添加標稱值會產生異常結果

尋找建議(如果有的話)來處理相同的問題。

globals[p] 
to go 
set p 0 
while[p <= 1] 
[ 
    print p 
    set p p + 0.01 

] 
end 

回答

0

首先閱讀這個: 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 
相關問題