0
請考慮下面的代碼,用於NetLogo中的相關隨機遊走。從包裹的柯西和威布爾分佈分別採用隨機轉角和隨機步長,並執行相關的隨機遊走。如何調整下面的netlogo代碼,以便它實際執行相關的隨機遊走
turtles-own [ orient step ]
to-report turning-angle-range [ #min #max ]
report #min + random-float (#max - #min)
end
to-report turning-angles-dist [ #correlation #mean-turning-angle]
let turning-angle ((1 - #correlation^2)/(2 * 180 * (1 + (#correlation^2) - 2 * #correlation * cos ((turning-angle-range 0 180) - #mean-turning-angle))))
report turning-angle
end
to-report weibull-dist [ #shape #scale #mean-step-length ]
let mean-step-length ((#shape/#scale) * ((#mean-step-length/#scale)^(#shape - 1)) * exp ((#mean-step-length/#scale)^(#shape)))
report mean-step-length
end
to Correlated-Random-Walk
ask turtles [
pen-down
set orient turning-angles-dist corr-eff mean-turn-angle
set heading orient
set step weibull-dist 2 10 mean-move-length
fd step
]
tick
end
我現在遇到的問題是,相關randomwalk並沒有實際發生的方式應該。海龜在世界各地以180度的垂直線移動。我猜測應該在每個刻度上選擇的隨機角度和步長不會像他們應該那樣發生或者進入步行過程。請幫忙。
謝謝艾倫!我是堆棧交換新手,所以我正在趕上手續。我發佈的代碼實際上對我有用,所以我不確定它爲什麼不適合你。我想知道在功能本身內改變兩個分佈的縮放比例是否可能更爲謹慎! – nigus21
@ nigus21您的模型使用接口全局變量。當您複製代碼選項卡時,這些不會被複制。 我同意,你應該重寫這些函數。我只是在診斷問題。 – Alan
@Allan看起來,改變角度和階躍分佈函數中的縮放係數將幫助我重新調整相關的隨機遊走,如果您同意,任何建議都將受到歡迎。是的,我的模型使用接口全局變量,這也許就是爲什麼它起初不適合你的原因。謝謝。 – nigus21