我有几个指标,比如变量的平均值和标准差。
500次刻度后,模型停止。
例如,我想模拟这个模型100次,并绘制指数的平均值和CI。
有没有办法在netlogo中使用python或R?
是的,你可以使用BehaviorSpace运行你的模型100次,将你想要的结果保存到一个文件系统文件中,然后让一个不同的netlogo程序(或过程(读取数据并绘制出来。这是一个示例编写部分,它计算一系列数字的平均值和标准偏差,并在十次刻度后停止。
globals [ delist demean destd fname ]
to setup
clear-all
set fname "myfile.txt"
set delist []
reset-ticks
end
to go
if ( ticks >= 10 ) [
;; show delist
set demean mean delist;
set destd standard-deviation delist;
export-data
;;print (word "mean = " demean " stdev= " destd )
stop
]
set delist lput random 100 delist
tick
end
to export-data
if not (file-exists? fname ) [
file-open fname
file-print ( word "mean stdev" );
file-flush
file-close
]
file-open fname
file-print ( word demean " " destd )
file-flush
file-close
end
to clear-file
if (file-exists? fname ) [
file-delete fname
]
end
下面是在中读取上面的myfile.txt并绘制它的示例代码。假设一个绘图窗口小部件报告降级和降级
globals [ delist demean destd fname ]
to setup
clear-all
set fname "myfile.txt"
print " This file begins as follows:"
set delist []
ifelse (file-exists? fname ) [
file-open fname
if not file-at-end?
[ let str file-read-line
print str
]
]
[ print " expected file doesn't exits " ]
reset-ticks
end
to go
if file-at-end? [ print "Data has been all read." file-close stop]
set demean file-read
set destd file-read
print (word "mean = " demean " , std-dev = " destd )
tick
end