netlogo - 在 Netlogo 中加载海龟的数据:循环似乎停止了
问题描述
我正在尝试将数据从 R 加载到 Netlogo。我总是得到错误
不能将海龟移出世界边缘。
错误,而龟 8 运行由过程调用的 SET
调用 由按钮“设置”
调用的过程 SETUP
我定义了世界的边缘
let minworldx r:get "min(dataTurtle$bcx)"
let maxworldx r:get "max(dataTurtle$bcx)"
letminworldy r:get "min(dataTurtle$bcy)"
let maxworldy r:get "max(dataTurtle$bcy)"
resize-world minworldx maxworldx minworldy maxworldy
海龟定义如下
set dataTurt r:get "dataTurtle" ; transfers data to Netlogo
print dataTurt ; just to test
ask turtles ; reads in data to the variables
[ set color 14
set heading 1
set xcor item who Item 1 dataTurt
set ycor item who Item 2 dataTurt
set label item who Item 0 dataTurt
set P_FertSpace 2000 ; just a value test value
]
我怎样才能确保我创建的所有海龟都获得了分配的数据?
解决方案
由于出现错误,循环正在停止。错误消息告诉您错误是因为您试图将乌龟放在不存在的地方。
这能解决吗?
let minworldx floor r:get "min(dataTurtle$bcx)" - 1
let maxworldx ceiling r:get "max(dataTurtle$bcx)" + 1
let minworldy floor r:get "min(dataTurtle$bcy)" - 1
let maxworldy ceiling r:get "max(dataTurtle$bcy)" + 1
resize-world minworldx maxworldx minworldy maxworldy
我用floor
andceiling
分别向下和向上舍入,然后加或减 1 以增加安全性。这应该确保海龟不会被定位在世界边界之外。
推荐阅读
- azure - 如何安装 Azure CLI 计费帐户
- python - 多线程/异步与 fetchmany
- mysql - 更新后的Mysql触发New是错误的
- ruby-on-rails - 编译 Rails / ReactJS 不在生产环境(heroku)中工作,但在本地工作。CSSSyntaxError:错过分号
- php - 验证 opencart 中的特定密码
- reactjs - `getByRole` 找不到相应文本框的名称
- java - 找不到工件 spring-boot-thin-layout:jar:1.0.27.RELEASE
- jsf - 带有确认对话框的 JSF inputSwitch
- javascript - “{machine_id} 的节点标识符是 {id}”执行 node.js 程序时出错
- tensorflow - TF 准确度得分和混淆矩阵不一致。TensorFlow 是否会在 BatchDataset 的每次访问时对数据进行洗牌?