Valuta con questo script (o in altro modo) la probabilità che un fenomeno casuale con distribuzione gaussiana di media 1 e scarto quadratico medio 2 abbia una uscita compresa tra −2 e 3.
Genera con questo script qualche centinaio di uscite di una variabile casuale gaussiana di media 1 e scarto quadratico medio 2, rappresentane la distribuzione con opportuno software e calcola la frequenza relativa con cui esse cadono in [−2, 3).
Confronta (e discuti) i valori ottenuti nei due modi.

Con il primo script proposto ottengo:
  0.77453754512   se a=-2   b=3   m=1   sigma=2
Col secondo posso generare ad esempio 1000 valori:

Traccio l'istogramma di questi valori con quest'altro script ottenendo un istogramma simile al seguente, che ha un evidente andamento gaussiano:


A = -5   B = 8   intervals = 13   their width = 1
n=1000 min=-4.8721 max=7.1113 median=1.0338 1^|3^ quartile=-0.2587|2.3452 mean=1.0256725
%: | 0.5 | 2.1 | 4 | 7.6 | 15.7 | 19.3 | 20.6 | 14.8 | 8.6 | 4.9 | 1.5 | 0.3 | 0.1 |
5+21+40+76+157+193+206+148+86+49+15+3+1

Le frequenze che cadono tra -2 e 3 sono in tutto 76+157+193+206+148.  (76+157+193+206+148)/1000 = 0.78 = 78%.
C'è un'ottima corrispondenza tra 77.453...% e 78%.

  Per altri commenti: Limiti in probabilità neGli Oggetti Matematici.

Nota.  Se non avessi conosciuto (o non avessi avuto a disposizione) tecniche di integrazione della gaussiana avrei potevo usare uno script per calcolare la probabilità cercata (e valutarne la precisione): eccolo (qui:  limiti in probabilità una spiegazione del funzionamento), ottenendo, per es.:
n=100000  77.199%  +/-  0.39802120561447635%
n=50000  77.194%  +/-  0.5629332850326653%
n=10000  76.49%  +/-  1.2722475275578797%

Con R avrei ottenuto:
s <- 1; m <- 2
f <- function(x) dnorm(x,mean=m,sd=s)
integrate(f, -2,3)
# 0.7745375

    Per quanto riguarda le uscite sperimentali (generabili con questo file) posso ottenere esiti come i seguenti (analizzati con R: ho generato 1000 dati li ho messi in memoria, poi li ho caricati da questa, ma potevo anche metterli in un file):

dati <- scan(file="clipboard")
# Read 1000 items
summary(dati)
#   Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
# -4.9860 -0.3779  0.9785  1.0240  2.4900  7.5030
boxplot(dati,horizontal=TRUE, range=0)
dev.new()
hist(dati,probability=TRUE)
mean(dati); sd(dati)
# 1.023688  2.058485
f <- function(x) dnorm(x,mean=mean(dati),sd=sd(dati))
curve(f,add=TRUE)
# metto la scala per vedere meglio la curva
hist(dati,probability=TRUE,ylim=c(0,0.2))
curve(f,add=TRUE)

Per valutare la frequenza relativa con cui le uscite cadono in [-2,3) posso procedere in vari modi. Riferendosi al caso delle 1000 uscite posso ad es. procedere così:

j <- 0; for (i in 1:length(dati)) if(dati[i]<3 & dati[i] >= -2) j <- j+1
j/length(dati)*100
# 76.1