来自包含随机数的变量的直方图未显示
Histogram from a variable contains random number is not shown
我想绘制一个直方图,显示 cset-size
变量在海龟中的分布。但是当我为直方图指定 histogram [cset-size] of turtles
时,它没有显示任何内容。下面放上我的直方图设置的截图和整个代码。
是不是我忘记指定了什么或者我的代码有什么问题?
globals [ cset-size ]
to setup
ca
crt 100
[
set shape "person"
set color yellow
setxy random-xcor random-ycor
]
end
to go
ask turtles
[
let a 4
let b 1 / 6
set cset-size round random-gamma a b
set label cset-size
]
end
有两个问题 - 要绘制的值和时间不足。直方图构造本身很好。
第一个问题是 cset-size
在 globals
列表中。也就是说,它是一个只有一个值的全局变量,每只海龟都在更改该值而不是存储自己的值。从您的代码中可以清楚地看出,您希望每只海龟都有自己的 cset-size
值。让每只乌龟都有自己的价值:
删除globals [ cset-size ]
试试这个:turtles-own [ cset-size ]
第二个问题是你的模型没有任何时间概念。默认情况下,NetLogo 每个 tick
更新一次绘图,因此它不会不断更新显示并减慢模型速度。这需要两个更改:
- 添加命令
reset-ticks
作为设置过程的最后一行
- 将命令
tick
添加到您的 go 程序的最后一行
这些将初始化计时器作为模型设置的一部分,包括告诉 NetLogo 显示。并且每次通过 go 程序都会提前时间,从而触发绘图更新。
我想绘制一个直方图,显示 cset-size
变量在海龟中的分布。但是当我为直方图指定 histogram [cset-size] of turtles
时,它没有显示任何内容。下面放上我的直方图设置的截图和整个代码。
是不是我忘记指定了什么或者我的代码有什么问题?
globals [ cset-size ]
to setup
ca
crt 100
[
set shape "person"
set color yellow
setxy random-xcor random-ycor
]
end
to go
ask turtles
[
let a 4
let b 1 / 6
set cset-size round random-gamma a b
set label cset-size
]
end
有两个问题 - 要绘制的值和时间不足。直方图构造本身很好。
第一个问题是 cset-size
在 globals
列表中。也就是说,它是一个只有一个值的全局变量,每只海龟都在更改该值而不是存储自己的值。从您的代码中可以清楚地看出,您希望每只海龟都有自己的 cset-size
值。让每只乌龟都有自己的价值:
删除globals [ cset-size ]
试试这个:turtles-own [ cset-size ]
第二个问题是你的模型没有任何时间概念。默认情况下,NetLogo 每个 tick
更新一次绘图,因此它不会不断更新显示并减慢模型速度。这需要两个更改:
- 添加命令
reset-ticks
作为设置过程的最后一行 - 将命令
tick
添加到您的 go 程序的最后一行
这些将初始化计时器作为模型设置的一部分,包括告诉 NetLogo 显示。并且每次通过 go 程序都会提前时间,从而触发绘图更新。