netlogo有类似调试的功能么在netlogo中没有提供传统IDE中的单步跟踪。实际上,因为是多个主体同时运行,也无法一一跟踪。在并行程序设计中,调试手段本身就是一个比较难的问题。
可以采用的技巧是:
1、设置一个go on step按钮,功能与具有forever性质的go按钮相同,但不勾选forever选项,以此来实现按tick执行。将需要观察的值设置为海龟的变量(该变量可能仅只为观察而设,调试完后可以删除),选择其中的一个海龟进行inspect去发现问题。文本框太小不容易阅读,可以将其值复制到word中观察。如果被观察的海龟die了,立即在who处输入另一个新号,重新开始观察。
2、在适当的地方加入show显示局部变量的值,最好将tick也加入。这种方法有缺点,尤其是Agent数量特别多时:(1)由于show严重地影响了运行速度;(2)每一个海龟都输出,信息太多不易找出问题。解决办法:只显示其中的有限几个用于观察,如显示编号为100的倍数的海龟的有关信息:
[plain] view plaincopyprint?
to show-test-message [msg]
if (who mod 100) = 0
[
show msg
]
End
这样,观察有限的几个海龟的信息,能够给排错提供启发。
3、快速停止模型的运行
当模型中Agent数目特别多,尤其是其功能逻辑也相当复杂的时候,运行每一轮需要花费很长的时间。假设运行模型用“forever”型的”go”按钮,需要停止模型运行时,点击”go”按钮需要很长时间,等到所有海龟都停止才能结束。
技巧是,打开“procedures”页,在任意一行代码后输入空格,然后“check”,系统检查代码,模型也马上结束运行了。
netlogo界面按钮怎么移动位置安装并运行程序,介绍几个主要的控件,[界面]模型的图形界面,[程序]后台控制程序,[添加]添加右侧可选择的控件,[速度]调节图形界面运行的速度,[更新视图]不更新的话运行速度会更加快速(如果你急于要数据结果的话),[设置]设置图形的中心位置,字体大小等,[指令中心]这个区域可以输入命令来查看运行中的数据,类似调试。
快速了解NetLogo到底建模是什么样的,你可以打开它自带的模型库,可以看到会有很多自带模型:简单模型,课程模型,代码示例和分支网络类的。
模拟雨水汇集成河流的例子和模拟狼吃羊的例子。
如何建立我们自己的模型呢?如添加一个按钮,名为“setup"(随便取),会看到setup为红色,那是因为还没有添加代码的原因,在程序里添加
to setup
;;这里是按钮要做的事情
end
点击帮助中的NetLogo用户手册可以看到NetLogo的介绍和说明。
在NetLogo的安装目录里也可以找到其使用手册,里面的介绍很详细。
下面是我用其做的网络信任模型,切身的体会是NetLogo的语法特点和我们熟悉的C++,Java等有很大的不同,毕竟其是用于建模的,针对性比较强。根据你的目的择优选择。
有朋友私信要代码,因为比较久了,找了很久找到当时做过的一部分,有需要的朋友参考下吧,仅仅当做参考(可能有些错误需要你们自己修改下):http://pan.baidu.com/s/1kVSz2QV
X20-0327新中式吊灯组合
求3维Ising模型的Monte Carlo模拟的程序,matlab的...function selectChange(){
alert(“111”);
$.post(url,{NO:“111”},function (result){
alert("999");