多主体仿真.ppt
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
end
调用方式
To test_polygon ca create-turtles 1 ask turtles [ draw-polygon 8 who ]
end
Multiagent Simulation with NetLogo
Slide 3
NetLogo常用建模技术(续)
5. 子程序和函数
• 不带参数的函数 (略) • 带参数的函数 (右例)
set label (word "sort-by >:" sort-by > my_stocks)
sort-by > 将 ] my_stocks按照降序 end
排列,但不改变原值
to show_stocks
(这个例程验证 my_stocks的原值
不变)
ask turtle 0 [ set label (word "my_stocks:" my_stocks)
butfirst命令返回string除 to cut_head_str 了第一个字符外的字串 set string butfirst string
临时变量total
let total sum my_stocks set label (word "total=" total) ] end
Multiagent Simulation with NetLogo
Slide 7
NetLogo常用建模技术(续)
6. 列表(续)
to show_st_item ask turtle 0 [
Last revision June 7, 2003
Slide 2
NetLogo常用建模技术(续)
5. 子程序和函数
• 不带参数的子程序 (略) • 带参数的子程序 (右例)
此例程带两个参数
to draw-polygon [num-sides len] ;; turtle procedure pen-down repeat num-sides [ fd len rt 360 / num-sides ]
st_num和st_val 是界面全局变量
set my_stocks replace-item st_num my_stocks st_val
print_label
]
将my_stocks的第st_num end
项替换为st_val
to add_all_value
ask turtle 0 [
将my_stocks的 所有项目之和赋给
NetLogo常用建模技术(续)
6. 列表(续)
_left和new_pro 是界面全局变量
fput(lput)是 左(右)端添加
to add_property ask turtle 0 [ ifelse _left = true [ set my_property fput new_pro my_property ] [ set my_property lput new_pro my_property ] print_label ] end
end
to setup ca create-turtles 1 [ set size 3 set my_property [ ] set my_stocks n-values 5 [0] print_label ] end
Multiagent Simulation with NetLogo
Slide 5
st_num是界面全 局变量
let value item st_num my_stocks
set label (word "stock " st_num " value = " value)
]
item 命令返回my_stocks end
第st_num项的值
to sort_stocks
ask turtle 0 [
end
Multiagent Simulation with NetLogo
Slide 4
NetLogo常用建模技术(续)
6. 列表(list)
Word 是个万能 字串连接函数
空的列表
初始化为 [0 0 0 0 0]
turtles-own [my_property my_stocks]
to print_label ; a turtle procedure set label (word "property:" my_property " stocks: " my_stocks)
Lecture ห้องสมุดไป่ตู้0
Multiagent Simulation with NetLogo (Part 4)
Multiagent Simulation with NetLogo
Last revision June 7, 2003
Slide 1
NetLogo常用建模技术(续)
Multiagent Simulation with NetLogo
set my_property remove-duplicates my_property print_label ] end
Multiagent Simulation with NetLogo
Slide 6
NetLogo常用建模技术(续)
6. 列表(续)
to change_st_value ask turtle 0 [
] end
Multiagent Simulation with NetLogo
Slide 8
NetLogo常用建模技术(续)
7. 串(string)
globals [ string result]
to copy_user_str1 set string user_input_str1 end
User_input_str1 是界面全局变量
to remove_property
将my_property中 所有叫new_pro的项
目删去
ask turtle 0 [
set my_property remove new_pro my_property
print_label
]
to remove_dup_pro
end
ask turtle 0 [
将my_property中 所有重复出现的 项目删去
to-report absolute-value [number] ifelse number >= 0 [ report number ] [ report (- number) ]
end
返回表达式。 注意:不修改原始值
To test_absolute print absolute-value -5
调用方式
To test_polygon ca create-turtles 1 ask turtles [ draw-polygon 8 who ]
end
Multiagent Simulation with NetLogo
Slide 3
NetLogo常用建模技术(续)
5. 子程序和函数
• 不带参数的函数 (略) • 带参数的函数 (右例)
set label (word "sort-by >:" sort-by > my_stocks)
sort-by > 将 ] my_stocks按照降序 end
排列,但不改变原值
to show_stocks
(这个例程验证 my_stocks的原值
不变)
ask turtle 0 [ set label (word "my_stocks:" my_stocks)
butfirst命令返回string除 to cut_head_str 了第一个字符外的字串 set string butfirst string
临时变量total
let total sum my_stocks set label (word "total=" total) ] end
Multiagent Simulation with NetLogo
Slide 7
NetLogo常用建模技术(续)
6. 列表(续)
to show_st_item ask turtle 0 [
Last revision June 7, 2003
Slide 2
NetLogo常用建模技术(续)
5. 子程序和函数
• 不带参数的子程序 (略) • 带参数的子程序 (右例)
此例程带两个参数
to draw-polygon [num-sides len] ;; turtle procedure pen-down repeat num-sides [ fd len rt 360 / num-sides ]
st_num和st_val 是界面全局变量
set my_stocks replace-item st_num my_stocks st_val
print_label
]
将my_stocks的第st_num end
项替换为st_val
to add_all_value
ask turtle 0 [
将my_stocks的 所有项目之和赋给
NetLogo常用建模技术(续)
6. 列表(续)
_left和new_pro 是界面全局变量
fput(lput)是 左(右)端添加
to add_property ask turtle 0 [ ifelse _left = true [ set my_property fput new_pro my_property ] [ set my_property lput new_pro my_property ] print_label ] end
end
to setup ca create-turtles 1 [ set size 3 set my_property [ ] set my_stocks n-values 5 [0] print_label ] end
Multiagent Simulation with NetLogo
Slide 5
st_num是界面全 局变量
let value item st_num my_stocks
set label (word "stock " st_num " value = " value)
]
item 命令返回my_stocks end
第st_num项的值
to sort_stocks
ask turtle 0 [
end
Multiagent Simulation with NetLogo
Slide 4
NetLogo常用建模技术(续)
6. 列表(list)
Word 是个万能 字串连接函数
空的列表
初始化为 [0 0 0 0 0]
turtles-own [my_property my_stocks]
to print_label ; a turtle procedure set label (word "property:" my_property " stocks: " my_stocks)
Lecture ห้องสมุดไป่ตู้0
Multiagent Simulation with NetLogo (Part 4)
Multiagent Simulation with NetLogo
Last revision June 7, 2003
Slide 1
NetLogo常用建模技术(续)
Multiagent Simulation with NetLogo
set my_property remove-duplicates my_property print_label ] end
Multiagent Simulation with NetLogo
Slide 6
NetLogo常用建模技术(续)
6. 列表(续)
to change_st_value ask turtle 0 [
] end
Multiagent Simulation with NetLogo
Slide 8
NetLogo常用建模技术(续)
7. 串(string)
globals [ string result]
to copy_user_str1 set string user_input_str1 end
User_input_str1 是界面全局变量
to remove_property
将my_property中 所有叫new_pro的项
目删去
ask turtle 0 [
set my_property remove new_pro my_property
print_label
]
to remove_dup_pro
end
ask turtle 0 [
将my_property中 所有重复出现的 项目删去
to-report absolute-value [number] ifelse number >= 0 [ report number ] [ report (- number) ]
end
返回表达式。 注意:不修改原始值
To test_absolute print absolute-value -5