我想要添加一个变量的值(比如说运输成本),用于一组特定的海龟。运输费用取决于特定斑块与指定给海龟的地点之间的距离。由于每只海龟的成本是不同的,所以我想把海龟的总成本相加。为了澄清,我们假设总共有7只海龟,而一组中只有4只。
每只海龟的运输成本值被指定为成本。
to calculate-ttcost set ttcost 0 let cnt 0 ask turtles [ if in-group? [ set ttcost (tcost + tcost) set cnt cnt + 1 ] ] end
发布于 2020-02-27 16:25:01
如果更正了一个错误,那么代码应该可以工作,假设tcost被声明为带有海龟的运输成本的turtles-own变量(或者是给出了调用它的海龟的运输成本的记者),并假设您感兴趣的组中的海龟拥有自己的海龟--自己的变量in-group?设置为真。排字排成一行
set ttcost (tcost + tcost)这应该是
set ttcost (ttcost + tcost)但是还有一种更直截了当的编码方式,可以完成同样的任务。
let cnt count turtles with [in-group?]
let ttcost sum [tcost] of turtles with [in-group?]with将海龟的数量限制在那些in-group为真的海龟上。of为每个海龟创建一个tcost值列表,然后可以对其进行总结。
https://stackoverflow.com/questions/60420887
复制相似问题