《Netlogo多主体建模入门》笔记6
时间:2020-02-02 01:25:27
收藏:0
阅读:91
6- 玩具经济模型与 Turtles间的互动
一个模拟财富变化的模型:
人(agent)在遇到其他人的时候,会发生交易,财富可能降低,也可能增加
Δ m 是 个体1 的money 变化;
m1 个体1 的财富;
m2 个体2 的财富;
ε 是随机系数,决定个体2的交易后的财富。
添加滑块
- 这里的变量是全局变量,可以在代码中拿来用的。增量代表鼠标拖动 时的变化量。
- 值: 代表默认值,可以被修改。
- 可以选择垂直放置滑块。
Let适合于为第一次使用的变量进行赋值,它包含了定义变量的意思
Set则适合于已定义的变量的赋值
one-of agentset:
从集合agentset中随机选择一个元素
n-of n agentset :
从集合agentset中随机选择n个元素
如何检测代码没有逻辑错误导致 BUG?
在最下方的命令行输入 命令。
或者画个图。
代码:
turtles-own [money] to setup clear-all create-turtles agent_num[ setxy random-xcor random-ycor set money (total_money / agent_num) ] reset-ticks end to go ask turtles[ let agsets other turtles-here if count agsets >= 1 [ transaction (one-of agsets) ] forward 1 ] tick end to transaction [trader] let deltam 0 let money1 ([money] of trader) let epsilon (random-float 1) set deltam (epsilon - 1) * money + epsilon * money1 if money + deltam >= 0 and money1 - deltam >= 0 [ set money money + deltam ask trader[ set money money1 - deltam ] ] end to to-update-plot let lst [money] of turtles set-histogram-num-bars 100 if not empty? lst [ set-plot-x-range 0 max lst histogram lst ] end
原文:https://www.cnblogs.com/wiki-ray/p/12250749.html
评论(0)