比较netlogo中不同海龟的变量

时间:2018-04-17 15:05:36

标签: netlogo

我从两个代理(行业)的简单模型开始,我想打印两个变量中较小的一个(属于每个代理)。我不确定如何比较来自不同代理的两个变量并打印该值。代码的相关部分粘贴在下面:

to setup-turtles  
 create-I1 1 [  
  setxy 0 7  
  set shape "factory"  
  create-active-links-to I2  
  set color 125  
   set product product-I1  
  set raw-material 0.35 * product-I1  
  set waste (0.003 * product-I1)  
  ]  

  create-I2 1 [  
  set shape "factory"  
  create-active-links-to I1  
  set color 55  
  set product product-I2  
  set raw-material 0.102 * product-I2  
  set waste 0.032 * product-I2  
  ]  

end  

*the problem is here  
to-report E1-2 min [waste of I2 or raw-material of I1]  
  report E1-2  
end  

1 个答案:

答案 0 :(得分:1)

你试图将I2废物的价值与I1原料的价值进行比较吗?看起来I1和I2都是海龟品种,每个品种只有一只乌龟。如果这是正确的,那么以下代码将起作用。

to-report E1-2
  report min (list [waste] of one-of I2 [raw-material] of one-of I1)
end

请注意,我已将one-of添加到您的尝试中。 NetLogo不知道您将只有一个T1和一个T2,因此您必须告诉NetLogo从所有T1中选择一只乌龟,从所有T2中选择一只来进行比较。在这种情况下,list不是必需的,因为您只有两个要比较的值,但我将其包括在内,以防您想要将最小值放在更多值上。