Add randomGauss

This commit is contained in:
Angelos Chalaris
2023-04-02 22:34:07 +03:00
parent 079b4103e0
commit 8bc4b3e7fd

23
snippets/randomGauss.md Normal file
View File

@ -0,0 +1,23 @@
---
title: Generate Gaussian random numbers
tags: math,random
cover: chess-pawns
author: chalarangelo
firstSeen: 2023-04-03T05:00:00-04:00
---
Generates Gaussian (normally distributed) random numbers.
- Use the [Box-Muller transform](https://en.wikipedia.org/wiki/Box%E2%80%93Muller_transform) to generate random numbers with a Gaussian distribution.
```js
const randomGauss = () => {
const theta = 2 * Math.PI * Math.random();
const rho = Math.sqrt(-2 * Math.log(1 - Math.random()));
return (rho * Math.cos(theta)) / 10.0 + 0.5;
};
```
```js
randomGauss(); // 0.5
```