MSM70

mail@pastecode.io avatar
unknown
r
2 years ago
1.5 kB
2
Indexable
# ΜΣΜ70, 5η Εργασία
# Κώστας Κούδας

# Η παρακάτω συνάρτηση προσομοιώνει τις αφήξεις οχημάτων στη διάρκεια μιας ώρας.
# Καταμετράει το πλήθος των κενών διαστημάτων διάρκειας μικρότερης των 20s
traffic <- function(){
  N <- 0
  arrival_time <- rexp(1, rate = 1/15)
  S <- arrival_time
  while (S <= 3600) {
    if (arrival_time < 20){
      N <- N+1
    }
    arrival_time <- rexp(1, rate = 1/15)
    S <- S+arrival_time
  }
  return(N)
}

# Εδώ καθορίζουμε τον αριθμό των προσομοιώσεων που θέλουμε να εκτελέσουμε 
experiments <- 100000

# Σε αυτό το σημείο φτιάχνουμε μια λίστα που να περιέχει
# το πλήθος των κενών διαστημάτων διάρκειας μικρότερης των 20s
# για κάθε μία προσομοίωση που εκτελέσαμε
arrivals <- c(traffic())
for (j in 1:experiments) {
  arrivals <- c(arrivals,traffic())
}

# Εδώ βρίσκουμε τη μέση τιμή από τα παραπάνω πλήθη.
mean(arrivals)

# Εδώ φτιάχνουμε ένα ιστόγραμμα με τη γραμμή της μέσης τιμής.
hist(arrivals)
abline(v = mean(arrivals),
       col = "red",
       lwd = 3)

# Εδώ φτιάχνουμε ένα θηκόγραμμα
boxplot(arrivals)