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
ここでは、リストの固定値は1つだけです。しかし、私はいくつかの通常
、私はリストをworkscheduleになりたい、その後4倍になりますfrequencieをトイレに行くために(10と90ティックの間など)workstarthourとworkendhourの間に分布したい[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
2つの値で囲まれたリストを作る方法はわかりません。例えば、乗員はパッチでティック10に到着し、ティック90でパッチを離れる.10と90の間で、彼は通常のランダム関数によって正規分布した他のパッチに移動することができる。 – Christus
正規分布は限定されていないので、求めるものを正確に求めることはできません。さらに、10と90の間の4つのランダムな整数値が欲しいかもしれませんが、これは正しいとは言えません。それは実際にランダムでなければならない数字ではなく、それらの間隔です。あなたが望むものを正確に言うようにしてください。 – Alan