其他分享
首页 > 其他分享> > 《Netlogo多主体建模入门》笔记6

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

作者:互联网

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
 

 




 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

标签:set,入门,turtles,money,建模,lst,Netlogo,let,deltam
来源: https://www.cnblogs.com/wiki-ray/p/12250749.html