2013-02-05 53 views
1

我對Netlogo相當陌生,我試圖爲我的模型做一個情節。 I 想繪製有關龜的鏈接的平均數(計數鏈接)/(計數 海龜)。在Netlogo中試圖劃分時劃分爲零

當我點擊模型的設置,雖然此消息出現

除以零。 錯誤,而觀察者正在運行/ 調用情節'Promedio conexiones para cada agente'筆'舞會。 CONEX「。通過__CLEAR-ALL-AND-RESET蜱 稱爲 更新代碼 通過按鈕 '設置'

在安裝過程中,似乎它計數即使設置首先創建5個龜龜0調用過程SETUP 調用。但顯然在設置完成之前繪製一些東西。任何想法爲什麼發生這種情況。我把我的代碼放在更新字段上,並且在安裝字段上沒有任何 。

謝謝!

回答

2

通過Atirag給他自己的問題的答案是正確的,但這裏是從NetLogo transition guide多一點背景:

爲了從以前的NetLogo版本車型在5.0 工作不發生變化時,一箇舊型號是在5.0打開時,任何出現的clear-all(或ca) 被自動修改爲 __clear-all-and-reset-ticks,它結合的clear-allreset-ticks的影響。名稱上的兩個下劃線表示這是 不是正常的原語,但僅用於向後兼容。

你應該從你的代碼中刪除__clear-all-and-reset-ticks,與clear-all更換 它,並把reset-ticks在你的設置 過程結束。

底線是,__clear-all-and-reset-ticks的「reset-ticks」部分實際上試圖更新圖(就像適當reset-ticks原語)。如果你在setup的開頭叫它,那麼在更新圖表時之類的東西確實會觸發一個零除以後你的海龜就不會被創建。

備註:在安裝程序結束時調用__clear-all-and-reset-ticks也無濟於事,因爲它會清除你的海龜,這不是你想要的。這個原語基本上不應該在NetLogo> = 5.0中使用。

+0

難道真的沒有解決辦法嗎? – santafebound

+1

這取決於你的問題是什麼。在大多數情況下,在'setup'結尾處調用'reset-ticks'就是要走的路。如果「對你沒有幫助」,這可能是因爲你做了一些不尋常的事情,但除非我們知道它是什麼,否則我們不能提出解決方案。我建議你發佈一個單獨的問題,並在這裏鏈接回它。 –

+0

我的分母中有一個零,因爲我正在跟蹤我的情節中的比例。我會在第一次打勾時發生錯誤。我發現我可以在筆更新命令中使用一個約束,例如:''if count mtfs> 0 [plot(count ftms/count mtfs + 1)* 10]''。這解決了我的特殊問題。 – santafebound

2

沒關係。在新的Netlogo版本中,似乎必須在安裝開始時使用CLEAR-ALL,在安裝結束時使用RESET-TICKS,而不是在安裝開始時使用__CLEAR-ALL-AND-RESET-TICKS。否則,繪圖將無法按預期進行。