《Netlogo多主体建模入门》笔记6

6- 玩具经济模型与 Turtles间的互动   一个模拟财富变化的模型:   人(agent)在遇到其他人的时候,会发生交易,财富可能降低,也可能增加 Δ m 是 个体1 的money 变化; m1 个体1 的财富; m2 个体2 的财富; ε 是随机系数,决定个体2的交易后的财富。 《Netlogo多主体建模入门》笔记6   添加滑块   《Netlogo多主体建模入门》笔记6  
  • 这里的变量是全局变量,可以在代码中拿来用的。增量代表鼠标拖动 时的变化量。
  • 值: 代表默认值,可以被修改。
  • 可以选择垂直放置滑块。
《Netlogo多主体建模入门》笔记6     Let适合于为第一次使用的变量进行赋值,它包含了定义变量的意思 Set则适合于已定义的变量的赋值     one-of agentset: 从集合agentset中随机选择一个元素 n-of n agentset : 从集合agentset中随机选择n个元素   如何检测代码没有逻辑错误导致 BUG?   在最下方的命令行输入 命令。 《Netlogo多主体建模入门》笔记6   或者画个图。 《Netlogo多主体建模入门》笔记6    代码:  
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
 

 




 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
上一篇:尝试在群集上无头运行NetLogo时出现Java错误


下一篇:在Linux中安装NetLogo