Numeri casuali a distribuzione maxwelliana

ostrogoto1
salve, sto scrivendo un programma in C in cui mi serve attribuire a un certo numero di particelle una velocità casuale che segua una distribuzione maxwelliana
Per caso potrebbe essere corretta l'idea di usare il normale sistema di generazione di numeri casuali e poi calcolare i valori cercati con l'antitrasformata di Fourier di una maxwelliana (con v in ascissa e frequenza in ordinata] dei risultati ottenuti (conosco la velocità media e sigma)?
C'è qualche librearia già pronta, oppure un metodo migliore?

Risposte
_luca.barletta
Quando la particella si muove in una direzione, la Maxwell si riduce ad una Gaussiana e allora puoi usare i metodi che trasformano una uniforme in una Gaussiana. Nello specifico, guarda la trasformazione di Box-Muller.

ostrogoto1
Scusa ma non capisco come una maxwelliana pure per una particella in una dimensione possa diventare una gaussiana...sono due curve diverse:

distribuzione maxwell: f(x)=(x^2)*exp(-x^2) [coeff a parte]

distrib gaussiana f(x)= (1/sigma)*exp(-x^2/sigma^2)

pure se considero sigma la variabile nella gaussiana perchè 'assomigliì a quella di Maxwell nella seconda resta x^2 davanti, mentre nella gaussiana sigma davanti all'esponenziale non è al quadrato...

_luca.barletta
"ostrogoto":
Scusa ma non capisco come una maxwelliana pure per una particella in una dimensione possa diventare una gaussiana...sono due curve diverse:


Le due distribuzioni sono legate, ti rimando a questo post.

Basta estrarre 3 variabili indipendenti distribuite gaussianamente e applicare quella relazione che vedi nel post linkato per ottenere una velocità distribuita come Maxwell-Boltzmann.

P.S. ti consiglio di usare l'editor di formule

ostrogoto1
Scusa se rispondo prima di aver approfondito l'ultima risposta, però mi sono ricordato appena ho spento il computer che in effetti c'è un legame tra una gaussiana e una maxwelliana, nel senso che la maxwelliana è il momento secondo di una gaussiana [in pratica si usa la gaussiana moltiplicata per x^2 per trovare sigma^2 della gaussiana. Si può sfruttare questo fatto in qualche modo per trovare un'altra soluzione al problema? [questo mio problema lo pongo per il semplice piacere di complicarmi la vita...]

_luca.barletta
"ostrogoto":
la maxwelliana è il momento secondo di una gaussiana [in pratica si usa la gaussiana moltiplicata per x^2 per trovare sigma^2 della gaussiana.


La frase che ho grassettato non ha molto senso, forse volevi dire che $v^2\cdot f(v)$ è una Maxwell quando $f(v)$ è una Gaussiana.
Poi, ovviamente, il secondo momento centrato della Gaussiana è la sua varianza.

"ostrogoto":

Si può sfruttare questo fatto in qualche modo per trovare un'altra soluzione al problema? [questo mio problema lo pongo per il semplice piacere di complicarmi la vita...]


No.

Rispondi
Per rispondere a questa discussione devi prima effettuare il login.