Gli istogrammi sperimentali di distribuzione di due variabili casuali tendono ad assumere le forme seguenti. Controlla che le aree di queste figure valgono effettivamente 1. Valuta la mediana e la media di queste variabili casuali | |
Consideriamo la distribuzione a sinistra. L'area è evidentemente 1. La mediana divide a metà l'area dell'istogramma, ovvero l'area "che sta sotto" al grafico della funzione approssimante. Il triangolo a sinistra ha area 1/2, così come il rettangolo. Le due sottofigure sono separate dalla retta x=1. Quindi 1 è la mediana. | |
Per trovare la media possiamo ragionare geometricamente/fisicamente: il triangolo e il rettangolo hanno la stessa area. Quindi il baricentro, che ha come ascissa la media, è il punto medio tra i due baricentri. Il baricentro del rettangolo ha ascissa 1.25 (al centro del rettangolo), quello del triangolo ha ascissa 2/3 (la media delle ascisse dei vertici), quindi la media cercata è (1.25+2/3)/2 = 0.625+1/3 = 0.958333 | |
Posso procedere anche calcolando ∫[0,1.5] x·f(x)dx dove f(x) = x se x<1, f(x) = 1 altrimenti: ∫[0,1.5]x·f(x)dx = ∫[0,1]x·f(x)dx + ∫[1,1.5]x·f(x)dx = ∫[0,1]x·x dx + ∫[1,1.5]x dx = 13/3 + 1.52/2 12/2 = 1/3 + 2.25/2 1/2 = 1/3 + 9/8 1/2 = (8+27-12)/24 = 23/24 (= 0.958333 ). | |
Con R potrei fare: source("http://macosa.dima.unige.it/r.R") f <- function(x) ifelse(x < 1, x, 1) graphF(f,0,1.5, "blue") t = function(x) x*f(x); integral(t,0,1.5) # 0.9583333 frazio(last()) # 23/24 | |
Con WolframAlpha dando come input: (integrate x*x from x=0 to x=1)+(integrate x from x=1 to x=1.5) otterrei 0.958333 Poi: 0.958333 → 23/24 ≈ 0.95833333333 | |
Anche nel caso della distribuzione a destra l'area complessiva è 1. L'area del triangolo è 1/2. L'area del resto è: ∫[1,2] x2dx = [x1]x=2 [x1]x=1 = 1/2+1 = 1/2. OK. Anche in questo caso la mediana è 1. In questo caso la curva è il grafico di f tale che f(x) = x se x<1, f(x) = x2 altrimenti. La media è: ∫[0,2] x·f(x)dx = ∫[0,1] x·f(x)dx + ∫[1,2] x·f(x)dx = ∫[0,1]x2 dx + ∫[1,2]x1 dx = 13/3 + ln(2) ln(1) = 1/3 + ln(2) = 1.026 . | |
Con R potrei fare: f <- function(x) ifelse(x < 1, x, x^-2) graphF(f,0,2, "blue"); t=function(x) x*f(x); integral(t,0,2) # 1.026481 1/3+log(2) # 1.026481 | |
Con WolframAlpha dando come input: (integrate x*x from x=0 to x=1)+(integrate x*x^-2 from x=1 to x=2) otterrei 1/3+log(2) |
Vediamo 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) { if(x < 1) {y=x*x} else {y=x}; return y }; a = 0; b = 1.5 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>
5000 rettangoli, integrale di F su [a,b] = 0.9583333308337496 10000 rettangoli, integrale di F su [a,b] = 0.95833333270828 20000 rettangoli, integrale di F su [a,b] = 0.9583333331770886 40000 rettangoli, integrale di F su [a,b] = 0.9583333332942705 80000 rettangoli, integrale di F su [a,b] = 0.9583333333235661
Prendo 0.958333...
<pre><script> with(Math) { function F(x) { if(x < 1) {y=x*x} else {y=1/x}; return y }; a = 0; b = 2 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>
5000 rettangoli, integrale di F su [a,b] = 1.026480495559943 10000 rettangoli, integrale di F su [a,b] = 1.0264805093099452 20000 rettangoli, integrale di F su [a,b] = 1.026480512747447 40000 rettangoli, integrale di F su [a,b] = 1.0264805136068151 80000 rettangoli, integrale di F su [a,b] = 1.0264805138216497
Prendo 1.026480514