0
對於我的畢業設計項目,我正在調查辦公室建築物內居住者的用電量。乘客抵達辦公室時可以離開辦公桌進行其他活動(例如午餐,會議,洗手間)。每個人在上班和回家時都有自己的時間。 我想要的是,居住者確定他們什麼時候離開工作臺隨機分配在上班和回家之間。Netlogo隨機值列表,以數值爲界
to go
if time = 0 [start-day]
ask occupants [
let $currenttime hour-of-day
ifelse (go-to-office-today AND (workDays = "M-F" AND (Day >= 0) AND (Day
<= 4) AND ($currenttime * 100 >= workStartHour) AND ($currenttime * 100
<= workEndHour - 100)))
[if (not atWork?) [GoWork] ]
[if (atWork?) [GoHome] ]
if go-to-office-today and workschedule-next < length workschedule [
let workschedule-item item workschedule-next workschedule
]]
tick
to start-day
ask occupants [ set schedule-next 0
set go-to-office-today false
]
let $Occupancy-Percentage (50 + random 0)
ask n-of(int ($Occupancy-Percentage/100 * count occupants)) occupants [
set go-to-office-today true
set workschedule [ ]
]
DetermineWorkSchedule
setMeetingSchedule
end
現在我只有一個固定值的列表。但我想幾個正態分佈(10和90只蜱之間例如)workstarthour和workendhour之間
去廁所frequencie將4次,然後我想要列表是workschedule [15 28 51 73]
to DetermineWorkSchedule
ask occupants [
let lunchtime [ ]
set lunchtime lput precision (random-normal 12 1) 0 lunchtime
set workschedule lput one-of lunchtime workschedule
let toilettime []
set toilettime lput precision (random-normal 15 2) 0 toilettime
set workschedule lput one-of toilettime workschedule
end
問題是什麼?你是要求完成任務還是調試你的代碼?指定難度本身會更好,而不是要求做它而不是你 – avtomaton
我不知道如何製作一個以兩個值爲界的列表。例如,乘員在一個補丁上到達嘀嗒10,並將補丁打到90.在10到90之間,他可以移動到通常由隨機正常功能分配的其他補丁。 – Christus
正態分佈沒有限制,所以你不能確切地知道你在問什麼。另外,也許你需要10到90之間的4個隨機整數值,但這看起來也不錯。這不是真的應該是隨機的數字,而是它們之間的間隔。試着準確地說出你想要的。 – Alan