Ich baue ein Mikrosimulationsmodell in Julia. Ich habe die Struktur meiner Funktion aufgebaut und läuft super für 1 "Person". Ich möchte das Skript schreiben, um 100000+ Personen durch das Modell zu führen und die Ergebnisse an einem Ort zu speichern.Julia, Funktion mehrmals ausführen, Ergebnisse im Array speichern
Schließlich möchte ich das parallel ausführen.
Im Folgenden habe ich eine einfache funktionierende Version des Codes mit Dummy-Wahrscheinlichkeiten enthalten.
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)
können Sie nicht Schleife, die oft Funktion? 'für i in 1: 100 println (MicroSim (18,100)) ende ' – amrods