2016-04-01 18 views
0

çocuklar. I (çiftçiler) ajanım için NetLogo Bu prosedürü oluşturulmuş: Ben arasına maksimum değeri elde etmek istiyorum, "n-aband" içinAracı, iki değer arasındaki en yüksek değeri nasıl seçer?

to calculate-deforestation 

ask farmers [ 
    set net-family-labor (family-labor - (ag-size * cell-labor-ag-keep)) 
    set net-family-money (family-money - (ag-size * cell-cost-ag-keep)) 
    ifelse net-family-labor < 0 or net-family-money < 0 
    [ set n-aband-cell-labor (family-labor/cell-labor-ag-keep) 
     set n-aband-cell-money (family-money/cell-cost-ag-keep) 

     set n-aband with-max [ n-aband-cell-labor n-aband-cell-money ] 

     ]  

    [ set n-def-cell-labor (net-family-labor/cell-labor-deforest) 
     set n-def-cell-money (net-family-money/cell-cost-deforest) 

     set n-def with-min [ n-def-cell-labor n-def-cell-money ] 

     ] 
] 
end 

"n-aband-hücre emek" ve "n-aband-cell-money" (biri ya da diğeri; aynı "n-def" için de geçerlidir). Sınırlı sayıda NetLogo ilkelini biliyorum, ancak bulamadığım vakalarım, örneğin "with-max", "max-n-of", "max-one-of". Eminim çalışacak bir tane olmalı ama NetLogo sözlüğünde bunu bulmakta zorlanıyorum. Birisi bana davam için çalışacak birini önerebilir mi merak ediyorum. Şimdiden teşekkür ederim.

cevap

2

Bir listenin maksimum değerini almak istiyorsanız, max'u kullanın. Yani,

set n-aband max (list n-aband-cell-labor n-aband-cell-money)

iki değerden en yüksek n-aband ayarlayacaktır.

+1

Bunun için "liste" kullanmam gerektiğini bilmiyorum, teşekkürler! –