產生隨意隨機數發生器

2021-09-08 12:52:30 字數 1344 閱讀 4306

怎樣利用給定的隨機數發生器產生其它隨意你想得到的隨機數發生器。

假定給定的隨機數發生器是變數產生離散變數x

服從某一分布(比如均勻分布。高斯分布等等),隨意你想得到的隨機數發生器滿足分布

y,如果x和

y其概率密度分布函式分布為

g(x),h(y)

。 假定用x

隨機數發生器產生

y隨機數發生器,以下分為2步求解隨機數發生器。

以下給出兩個樣例

如果我們有乙個[0,1]上的均勻分布隨機數發生器u(0,1), 基於它構造引數

a=1.5

的指數分布的隨機數發生器。

以下給出圖例。

matlab中輸入產生乙個[0,1]上的均勻分布隨機數發生器u(0,1)並視覺化表示其概率密度函式並產生指數分布發生器,命令為例如以下:

x=0:0.001:10;

[n m]=size(x);

y=rand(1,m);

figure(1)

plot(x,y,'.')

title('均勻分布隨機數發生器產生的散點圖');

figure(2)

hist(y,m/100);

title('均勻分布概率分布曲線');

z=-log(1-y);

figure(3)

plot(x,z,'.');

title('指數分布隨機數發生器產生的散點圖');

figure(4)

hist(z,m/100)

title('指數分布概率分布曲線');

結果例如以下:

以下來介紹

乙個標準正態分佈的隨機數發生器n(0,1)得到對數正態分佈的隨機數發生器

程式一樣。僅僅是轉化方程不一樣,如今給出實驗結果

boost 隨機數發生器

在很多應用中都需要使用隨機數。本庫力求提供乙個高效的,通用的隨機數庫。boost庫有多種隨機數生成方式。先熟悉一下各種隨機數生成器的概念。數字生成器 number generator 它是乙個函式物件,沒有引數。類似於常見的rand 均勻隨機數生成器 uniform random number ge...

linux下的真隨機數發生器 產生真隨機數

在翻閱linux核心方面的書時發現了乙個獲取真隨機數的方法。linux核心將機器的物理硬體產生的雜訊等 例如發生的鍵盤敲擊,中斷次數,頻率,溫度等等 放入系統的熵池 dev random 和 dev urandom 中放的就是熵池中的部分隨機資料,dev random 裡只放入熵池中達到一定熵值的情...

opencv隨機數發生器RNG

用opencv做演算法的朋友們肯定為隨機數煩惱過,新版本一直支援隨機數產生器啦,而且還繼續支援之前版本的c格式的函式,不過與時俱進,我這裡介紹c 的rng類。它可以壓縮乙個64位的i整數並可以得到scalar和array的隨機數。目前的版本支援均勻分布隨機數和gaussian分布隨機數。隨機數的產生...