Estratto del documento

Simulazione del decadimento delle particelle

#include <iostream>

#include <cstdlib>

#include <ctime>

#include <math.h>

using namespace std;

bool uno_su_N(int);

int main(){

srand(time(0));

// Parametri della simulazione:

const unsigned long int NUM_PARTICELLE = 800;

const unsigned long int PASSI = 1000;

// (quando prima di avere finito i passi non ci

// sono più particelle ci si ferma...)

// Questa è l'inverso della probabilità che nell'unità di tempo

// (= in un passo) una particella decada...

const int PROB_INVERSA = 40;

bool part_attive[NUM_PARTICELLE];

unsigned long int i,j;

// Questo contatore, inizialmente al massimo, tiene conto via

// via dei decadimenti che hanno luogo...

unsigned long quante_attive = NUM_PARTICELLE;

// Si impostano inizialmente tutte le particelle su "ancora presente"

(true)

for (j=0;j<NUM_PARTICELLE;j++) part_attive[j]=true;

cout << "Passo" << "\t" << "N_sp" << "\t" << "N_th" << endl;

cout << "------------------------" << endl;

for (i=1;i<=PASSI;i++){

// Particella per particella, se è il caso (calcolato

probabilisticamente)

// la si fa decadere. Se è già svanita, la si salta.

for (j=0;j<NUM_PARTICELLE;j++)

if (part_attive[j])

if (uno_su_N(PROB_INVERSA)){

part_attive[j]=false;

quante_attive--;

}

// Stampa del numero di particelle attive

cout << i << "\t" << quante_attive << "\t" << (unsigned long int)

(NUM_PARTICELLE*exp(-(i*1.0/PROB_INVERSA))) << endl;

// Si verifica se le particelle sono decadute tutte...

if (quante_attive<=0) break;

}

}

bool uno_su_N(int N){

int numero=rand() % N;

return (numero == 0);

// Un numero sarà zero (modulo N) in un caso su N...

}

Anteprima
Vedrai una selezione di 1 pagina su 2
Programma C ++ - Il decadimento radioattivo Pag. 1
1 su 2
Sintesi

Il decadimento radioattivo

Il decadimento radioattivo segue una legge esponenziale: ovvero, se a t=0 sono presenti N nuclei radioattivi instabili che possono decadere in nuclei stabili, al tempo t ne sono rimasti N(t) = N * exp(-r*t), dove r è l'inverso della vita media T, definita come il tempo necessario perché un campione radioattivo si riduca di e volte. Tale legge però è risultato di un processo stocastico: infatti, la probabilità che un nucleo decada, oltre ad essere scorrelata dagli altri nuclei, è scorrelata istante per istante.

D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi