2010-03-04 67 views
2

我想我使用現有的模型化學平衡的代碼在Netlogo..I的東西,想實現如下:的NetLogo編程問題 - 化學平衡溫度和壓力下實施

海龜,自己[速]

問龜 [

;; set velocity (ambient-temperature = 30) 
;; fd velocity 
if temp > 40 [ "speed" increases of turtles ] 
ifelse temperature < 30 [ speed of turtles decreases] 

]

;;到臨時

它似乎但不工作

(它的溫度超過40海龜的速度增加 如果溫度是海龜的小於30的速度降低) 溫度是滑蓋在模型上

相同壓力 問龜 [

;; if pressure > 50 then speed increases of turtles 
;; if pressure < 50 then speed decreases of turtles 

]

;;施壓

感謝

回答

2

我認爲你正在嘗試做的是這樣的:

turtles-own [speed] 


to setup 
    ca 
    create-turtles 50 [ 
    set speed 1 
    ] 
end 

to go 
    ask turtles [ 
    if (temperature > 40) [ 
     set speed min (list (speed + 1) 100) ;cap the speed at 100 otherwise it will shoot to infinity 
    ] 
    if (temperature < 30) [ 
     set speed max (list (speed - 1) 0); min speed is 0 
    ] 
    ;move 
    forward speed 
    ] 
end 

我不得不(分別爲0和100)添加最小和最大速度,否則速度會很快射向無限。另外,「溫度」是我的模型中的滑塊。