나는 줄리아에서 미세 시뮬레이션 모델을 구축 중입니다. 나는 내 기능의 구조를 만들었고 1 "사람"을 위해 훌륭하게 돌아 간다. 모델을 통해 100000 명이 넘는 사람들을 실행하고 한 위치에 결과를 저장하는 스크립트를 작성하고 싶습니다.Julia, 함수를 여러 번 실행하여 배열에 결과 저장
결국 저는 이것을 병렬로 실행하고 싶습니다.
아래에는 더미 확률을 가진 코드의 간단한 작업 버전이 포함되었습니다.
using Distributions
# Microsim function
function MicroSim(start_age, stages)
stage = 0
age = start_age
# Set all trackers to 0
Death_tracker = 0
Disease_tracker = 0
# While loop
while stage <= stages
age = age
###########################################################
# Probability of Death
pD = 0.02
if age == 100
pD = 1.0
else
pD = pD
end
# Coin flip
dist_pD = Bernoulli(pD)
Died = rand(dist_pD, 1)
if Died == [1]
Death_tracker = 1
# death tracker loop break
if Death_tracker == 1
# println("I died")
break
end
else
Death_tracker = Death_tracker
end
###########################################################
# Update age and stage
age = age + 1
stage = stage + 1
end
return age, Death_tracker
end
MicroSim(18,100)
수 없습니다 당신 루프 기능 여러 번? 'for i in 1 : 100 println (MicroSim (18,100)) end' – amrods