A un servizio telefonico di informazioni arrivano molte telefonate. Sotto è raffigurato l'istogramma di distribuzione del tempo t in secondi che passa tra l'arrivo di una telefonata e quello della successiva. | |
L'area di ogni rettangolino rappresenta la frequenza relativa con cui i tempi cadono nell'intervallo di base; l'area complessiva dell'istogramma è 100% = 1. Come si vede è più probabile che t sia breve piuttosto che lungo. Il contorno superiore dell'istogramma è stato approssimato col grafico della funzione indicata nella figura. (a) Dimostra che l'area che sta tra grafico della funzione e parti non negative degli assi è 1. (b) Usando la funzione approssimante valuta la probabilità che il tempo di arrivo tra una telefonata e la successiva sia compreso tra 15 sec e 45 sec. (c) Valuta la probabilità che esso sia superiore a 35 sec. |
Per la parte (a) rinviamo ad un altro esercizio. | |
(b) Come probabilità che il tempo in secondi che intercorre tra due telefonate sia compreso tra 15 e 45 assumiamo la frequenza con cui il tempo cade in questo intervallo, ossia l'area dell'istogramma compresa tra questi due valori, che approssimiamo con: ∫I 0.1 e0.1x dx, I = [15,45]. | |
∫[15,45]0.1 e0.1xdx = [t=0.1x, dt/dx=0.1, dx=-10dt] ∫[-1.5,-4.5]etdt = ([et]t=-4.5[et]t=-1.5) = e-1.5e-4.5 = [con la calcolatrice] 0.212 = 21.2% | |
(controllo con una stima grafica: l'area è circa quella di un triangolo di base 20 e altezza 0.02: 0.02*20/2 = 0.2. OK) | |
(c) Pr(t > 35) = 1 − Pr( NOT t > 35)
= 1 − Pr(t ≤ 35) = 1 − ∫[0,35] 0.1 e0.1x dx
= 1 − |
I calcoli con WolframAlpha:
Posso anche rispondere ad (a): integrate 0.1*exp(-0.1*x) dx from 0 to INF |
Rivediamo come affrontare lo studio sperimentalmente. Utilizziamo un semplice programmino in JavaScript (software incorporato in tutti i browser) per calcolare l'integrale approssimandolo con l'area di una sequenza di rettangolini.
Vai qui: http://macosa.dima.unige.it/js/js.htm, clicca
"macosa.dima.unige.it/js.com" e metti nella finestra in alto:
<pre><script> with(Math) { function F(x) { return 0.1*exp(-0.1*x) }; a = 15; b = 45 document.writeln("F(x) = 0.1*exp(-0.1*x); a = 15; b = 45") n=5000 for(i = 0; i < 5; i = i+1) { s=0; h=(b-a)/n; for (var j=0; j < n; j=j+1) {s = s + F(a+(j+1/2)*h)} document.writeln(n, " rettangoli, integrale di F su [a,b] = ", s*h); n=n*2 } } </script></pre>
F(x) = 0.1*exp(-0.1*x); a = 15; b = 45 5000 rettangoli, integrale di F su [a,b] = 0.21202116042986965 10000 rettangoli, integrale di F su [a,b] = 0.21202116281510774 20000 rettangoli, integrale di F su [a,b] = 0.21202116341141733 40000 rettangoli, integrale di F su [a,b] = 0.21202116356049455 80000 rettangoli, integrale di F su [a,b] = 0.2120211635977679(c)
<pre><script> with(Math) { function F(x) { return 0.1*exp(-0.1*x) }; a = 0; b = 35 document.writeln("F(x) = 0.1*exp(-0.1*x); a = 0; b = 35") n=5000 for(i = 0; i < 5; i = i+1) { s=0; h=(b-a)/n; for (var j=0; j < n; j=j+1) {s = s + F(a+(j+1/2)*h)} document.writeln(n, " rettangoli, 1 - integrale di F su [a,b] = ", 1-s*h); n=n*2 } } </script></pre>
F(x) = 0.1*exp(-0.1*x); a = 0; b = 35 5000 rettangoli, 1 - integrale di F su [a,b] = 0.030197403222453345 10000 rettangoli, 1 - integrale di F su [a,b] = 0.030197388372357636 20000 rettangoli, 1 - integrale di F su [a,b] = 0.03019738465983124 40000 rettangoli, 1 - integrale di F su [a,b] = 0.030197383731682903 80000 rettangoli, 1 - integrale di F su [a,b] = 0.03019738349965262Vediamo anche come affontare il caso (a). Calcoliamo l'intergrale su diversi intervalli, tenendo conto che il contributo di intevalli via via più a destra tende ad essere trascurabile rispetto a quello degli intervalli a sinistra. Arrotondiamo anche il risultato.
<pre><script> with(Math) { function APPR(x,n) {return round(x*pow(10,n))/pow(10,n)} function F(x) { return 0.1*exp(-0.1*x) } a = 0; b = 1e1 n=1e5; s=0; h=(b-a)/n; for(var j=0; j < n; j=j+1) {s = s + F(a+(j+1/2)*h)}; A=s*h a = 1e1; b = 1e2 n=1e5; s=0; h=(b-a)/n; for(var j=0; j < n; j=j+1) {s = s + F(a+(j+1/2)*h)}; B=s*h a = 1e2; b = 1e3 n=1e5; s=0; h=(b-a)/n; for(var j=0; j < n; j=j+1) {s = s + F(a+(j+1/2)*h)}; C=s*h document.writeln(A,"+",B,"+",C," = ",A+B+C) document.writeln( APPR(A+B+C,10) ) document.writeln( APPR(A+B+C,8) ) } </script></pre>
0.6321205588259231+0.36783404111754364+0.000045399928230234575 = 0.999999999871697 0.9999999999 1OK
Alternativa: i calcoli con questo semplice script:
function F(x) { with(Math) { return 0.1*exp(-0.1*x) }} 0.21202116361020118 if a=15 b=45 n=256e4 [6.186717804723685e-14] 0.2120211636101393 if a=15 b=45 n=128e4 [1.4124812430793554e-13] 0.21202116360999806 if a=15 b=45 n=64e4 [5.898614929833457e-13] 0.2120211636094082 if a=15 b=45 n=32e4 [2.326583370404478e-12] 0.21202116360708162 if a=15 b=45 n=16e4 [9.31371646473167e-12] 0.2120211635977679 if a=15 b=45 n=8e4 [3.7273351072286687e-11] 0.21202116356049455 if a=15 b=45 n=4e4 [1.4907722278856284e-10] 0.21202116341141733 if a=15 b=45 n=2e4 [5.963095850436417e-10] 0.21202116281510774 if a=15 b=45 n=1e4 [2.3852380903743864e-9] 0.21202116042986965 if a=15 b=45 n=5e3 [0.21202116042986965] 0.2120211636102 (ma basta 0.212) 0.969802616577537 if a=0 b=35 n=256e4 [2.361444373377708e-13] 0.9698026165773008 if a=0 b=35 n=128e4 [7.961409309586998e-13] 0.9698026165765047 if a=0 b=35 n=64e4 [3.691380534576183e-12] 0.9698026165728133 if a=0 b=35 n=32e4 [1.4478307441834204e-11] 0.969802616558335 if a=0 b=35 n=16e4 [-1.9201973344706857e-11] 1 - 0.9698026165776 = 0.0301973834224 (ma basta 0.030)
Facendo i calcoli con R (vedi):
source("http://macosa.dima.unige.it/r.R") f = function(x) 0.1*exp(-0.1*x) integral(f, 15,45) # 0.2120212 integral(f, 35, Inf) # 0.030197