E (costante matematica): differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
m →‎Approssimazione con il metodo stocastico: Correzione imprecisione del programm nell'uso della terminologia dell'errore relativo al valore vero della costante e
m →‎Rappresentazione stocastica: Correzione formalismo matematico + sintassi paragrafo
Riga 132:
nell'intervallo <math>[0,1]</math>.
 
Definito <math>K</math> come il numero di somme parziali <math>n_i</math> di variabili <math>X_n</math> tali che esse siano strettamente minori di <math>1</math> si ha:
 
:<math>e \simeq V = \frac{\sum_{i=0}^Kn_i}{K} = \frac{\sum_{i=0}^K min(n_i:X_1+X_2+...+X_n >1)}{K};</math> ; [1]
:dove
:<math>n_i = min(n:X_1+X_2+...+X_n >1);</math>
:
allora il [[valore atteso]] <math>V</math> è proprio la costante <math>e</math>.
 
=== Approssimazione con il metodo stocastico ===
Si può studiare un algoritmo che verifichi quanto detto. Il seguente programma, costruito ad-hoc per verificare se questa rappresentazione di <math>e</math> sia corretta (oltre che per definire la bontà del metodo), applica la relazione [1] usando per le somme parziani <math>n_i</math> valori pseudo-casuali generati dalla funzione stocastostocast():<syntaxhighlight lang="c" line="1">;
 
è importante notare come un l'uso di questa funzione sia sufficiente per questo scopo, nonostante essa contraddica l'ipotesi di completa randomicità delle variabili.<syntaxhighlight lang="c" line="1">
/*
Questo semplice codice dimostra come si possa ottenere una rappresentazione statistica della costante e
mediante l'uso di variabili casuali (in questo caso pseudo-casuali) distribuite omogeneamente nell'intervallo I[0,1).
L'approssimazione deriva dalla media delle somme parziali di valori casuali la cui somma sia strettamente minore di 1.
Quindi più somme parziali n si hanno per fare la media, più accurata sarà la stima di e.
Coded by Pietro Squilla
*/
 
Line 152 ⟶ 157:
#define EXP 2.718281
 
int stocastostocast();
 
double errore(double media);
Line 180 ⟶ 185:
 
for(i=0; i<=n; i++){
vett[i] = stocastostocast();
}
 
Line 216 ⟶ 221:
 
 
int stocastostocast(){
long long int contatore=0;
double X, S=0;
Line 242 ⟶ 247:
</syntaxhighlight>
 
Ripetendo il calcolo molte volte con questo programma, per avere un consistente insieme di dati da analizzare (dato che ad ogni esecuzione la stima di <math>e</math> sarà sempre diversa per la natura statistica del calcolo), si ottiene il seguente output sul file Dati_statistici.txt dove:
* <math>N</math> è il numero di somme parziali <math>n_i</math> di variabili aleatoriepseudo-casuali considerate
 
* <math>e</math> è l'approssimazione della costante
come il suo errore percentuale relativo per la natura statistica del calcolo), si ottiene il seguente output sul file Dati_statistici.txt:<syntaxhighlight>
 
* <math>Errore</math> è l'errore in percentuale tra il valore approssimatovero di <math>e</math> ed il valore veroapprossimato calcolato<syntaxhighlight>
N = 100
e = 2.670000
Line 398 ⟶ 406:
 
 
</syntaxhighlight>Dove:
* <math>N</math> è il numero di somme parziali di variabili aleatorie
 
* <math>e</math> è l'approssimazione della costante
 
* <math>Errore</math> è l'errore percentuale tra il valore approssimato di <math>e</math> ed il valore vero
 
Come si può notare, all'aumentare deidel valorivalore di <math>N</math>(coincidenti alalla somma dei valori <math>n_i</math> presenti nella relazione [1], ovvero delledel numero di somme parziali dei valori casuali <math>X_n</math>),
 
si arriva ad ottenere una stima della costante <math>e</math> con un'incertezza media in percentuale minore della precisione rappresentativa delle variabili (double) usate nel calcolo.
 
Tuttavia si dimostra anche che questo tipo di stima è poco efficiente, dato che bisogna raggiungere valori di <math>N</math> nell'ordine di grandezza di <math>10^8</math> somme parziali per ottenere solo le prime 4 cifre decimali significative di <math>e</math> esatte in media.
 
== Note ==