fisica:informatica:201617:esercitazione3rand
Differenze
Queste sono le differenze tra la revisione selezionata e la versione attuale della pagina.
| Entrambe le parti precedenti la revisioneRevisione precedenteProssima revisione | Revisione precedente | ||
| fisica:informatica:201617:esercitazione3rand [03/03/2017 alle 10:12 (9 anni fa)] – [Esercizio 6: Realizziamo un generatore di numeri pseudo-casuali] Susanna Pelagatti | fisica:informatica:201617:esercitazione3rand [06/02/2018 alle 08:55 (8 anni fa)] (versione attuale) – [Esercizio 7: Usiamo il generatore] Susanna Pelagatti | ||
|---|---|---|---|
| Linea 49: | Linea 49: | ||
| </ | </ | ||
| - | ===== Esercizio 2: Generazione di numero | + | ===== Esercizio 2: Generazione di numeri |
| - | Modificare l' | + | Modificare l' |
| ===== Esercizio 3: Generazione di numero casuali reali ===== | ===== Esercizio 3: Generazione di numero casuali reali ===== | ||
| Scrivere un programma C che legge dallo standard input un numero N di reali da generare e stampa sullo standard output una sequenza di N numeri casuali reali nell' | Scrivere un programma C che legge dallo standard input un numero N di reali da generare e stampa sullo standard output una sequenza di N numeri casuali reali nell' | ||
| - | // | ||
| - | ===== Esercizio 4: La macchina di Galton ===== | ||
| - | La macchina di Galton (Galton Board) e' un dispositivo ideato nella seconda meta dell' | ||
| - | per illustrare in modo semplice il teorema del limite centrale. | ||
| - | Qui vogliamo realizzare una versione virtuale della macchina, che utilizzi un | ||
| - | generatore di numeri pseudocasuali. Le regole sono semplici: dato un opportuno | ||
| - | sistema di riferimento (illustrato in Figura sotto) ed un intero n > 0 una pallina parte | ||
| - | dall' | ||
| - | contestualmente verso destra o verso sinistra (in modo casuale) di +0.5 o -0.5 con | ||
| - | uguali probabilita' | ||
| - | < | ||
| - | n = 8 | ||
| - | ...1.2.3.4.5.6.7.8.9 | ||
| - | ===================== | ||
| - | 0|........o........| | ||
| - | 1|.........o.......| | ||
| - | 2|..........o......| | ||
| - | 3|.........o.......| | ||
| - | 4|........o........| | ||
| - | 5|.......o.........| | ||
| - | 6|......o..........| | ||
| - | 7|.....o...........| | ||
| - | 8| | | |o| | | | | | | ||
| - | ===================== | ||
| - | ...1.2.3.4.5.6.7.8.9 | ||
| - | |||
| - | Figura 1 La macchina di Galton per n = 8 | ||
| - | </ | ||
| - | E' facile convincersi che la posizione di arrivo nel punto piu' basso puo' assumere tutti i valori tra 1 e n+1 (non con la stessa probabilita' | ||
| - | |||
| - | Realizzare un programma C che letto il numero dipassi da standard input igeneri e visualizzi sullo schermo possibili percorsi della pallina. Si puo' utilizzare una grafica a piacere o quella della Figura 1. | ||
| ===== Esercizio 5: Ma quanto siamo casuali ? ===== | ===== Esercizio 5: Ma quanto siamo casuali ? ===== | ||
| - | Per restringersi all' | + | Per restringersi all' |
| < | < | ||
| - | A+((B-A+1.0)*rand()/ | + | A+(int)((B-A)*rand()/ |
| </ | </ | ||
| oltre a | oltre a | ||
| < | < | ||
| - | A+rand()%(B-A + 1.0) | + | A+rand()%(B-A + 1) |
| </ | </ | ||
| - | Utilizzare entrambe per generare sequenze di interi nell' | + | Utilizzare entrambe per generare sequenze di interi nell' |
| ci sono differenze nella distribuzione valori ottenuti ? | ci sono differenze nella distribuzione valori ottenuti ? | ||
| Linea 123: | Linea 92: | ||
| ===== Esercizio 7: Usiamo il generatore ===== | ===== Esercizio 7: Usiamo il generatore ===== | ||
| - | Sulla base dell' | + | Sulla base dell' |
| + | ===== Esercizio 8: La macchina di Galton ===== | ||
| + | La macchina di Galton (Galton Board) e' un dispositivo ideato nella seconda meta dell' | ||
| + | per illustrare in modo semplice il teorema del limite centrale. | ||
| + | Qui vogliamo realizzare una versione virtuale della macchina, che utilizzi un | ||
| + | generatore di numeri pseudocasuali. Le regole sono semplici: dato un opportuno | ||
| + | sistema di riferimento (illustrato in Figura sotto) ed un intero n > 0 una pallina parte | ||
| + | dall' | ||
| + | contestualmente verso destra o verso sinistra (in modo casuale) di +0.5 o -0.5 con | ||
| + | uguali probabilita' | ||
| + | < | ||
| + | n = 8 | ||
| + | ...1.2.3.4.5.6.7.8.9 | ||
| + | ===================== | ||
| + | 0|........o........| | ||
| + | 1|.........o.......| | ||
| + | 2|..........o......| | ||
| + | 3|.........o.......| | ||
| + | 4|........o........| | ||
| + | 5|.......o.........| | ||
| + | 6|......o..........| | ||
| + | 7|.....o...........| | ||
| + | 8| | | |o| | | | | | | ||
| + | ===================== | ||
| + | ...1.2.3.4.5.6.7.8.9 | ||
| + | Figura 1 La macchina di Galton per n = 8 | ||
| + | </ | ||
| + | E' facile convincersi che la posizione di arrivo nel punto piu' basso puo' assumere tutti i valori tra 1 e n+1 (non con la stessa probabilita' | ||
| + | Realizzare un programma C che letto il numero di passi da standard input generi e visualizzi sullo schermo possibili percorsi della pallina. Si puo' utilizzare una grafica a piacere o quella della Figura 1. | ||
| + | |||
| + | ===== Esercizio 9: Simulazione di un moto Browniano discreto ===== | ||
| + | |||
| + | Scrivere un programma C che simula il moto di una particella che si muove di moto casuale su un piano, in un’area quadrata delimitata dagli assi $x=0$, $y=0$ e dalle rette $x=200$, $y=200$. All' | ||
| + | All’istante $i+1$, le coordinate della particella sono calcolate come: | ||
| + | \begin{align} | ||
| + | x_{i+1} = x_i + A\\ | ||
| + | y_{i+1} = y_i + B | ||
| + | \end{align} | ||
| + | Dove A e B sono due numeri double pseudo-casuali compresi nell’intervallo [-1,1]. Per la generazione di A e di B il programma usa separatamente due semi A0 e B0 letti da tastiera (invece, se si usa il generatore dell' | ||
| + | |||
| + | Il programma C termina quando la particella raggiunge (o supera) gli estremi dell’area, | ||
| + | |||
| + | //Nota: bisogna avere pazienza....// | ||
fisica/informatica/201617/esercitazione3rand.1488535967.txt.gz · Ultima modifica: 03/03/2017 alle 10:12 (9 anni fa) da Susanna Pelagatti
