說明:如果您有任何疑問或想咨詢其他業(yè)務(wù)請撥打電話 400 685 0732
全網(wǎng)監(jiān)測海量數(shù)據(jù)按需發(fā)布監(jiān)測預(yù)警
實時把握輿情動態(tài)精準(zhǔn)追溯信息源頭
在實驗或者是其他需要用到數(shù)字的時候,我們經(jīng)常會需要用到隨機數(shù)字,這時我們就需要借助一些神隨機字生成器來達到我們的目的,可隨機數(shù)字生成器有哪些呢?接下來我們就一起來好好的了解一下吧。
隨機數(shù)字生成器——隨機數(shù)字生成器的種類
偽隨機數(shù)與偽隨機數(shù)生成器
計算機是確定性的機器,因此它無法直接生成真正的隨機數(shù),而渾沌系統(tǒng)的隨機數(shù)生成速度又比較慢,在許多情況下不適合作為快速的(偽)隨機數(shù)庫函數(shù)算法??焖俚膫坞S機數(shù)生成算法中最著名的要數(shù)linear-congruentialmethod(線性同余法),也就是:
Xn+1=(aXn+b)%c
//%就是C/C++中的MOD(同余)運算符
這種方法可以從一個種子X0=seed開始,連續(xù)生成任意長的偽隨機數(shù)序列Xn。它的運算過程極其簡單,并且如果令c=2m,其中m為Xn的字長,則連MOD運算都直接省掉了——Xn+1≥2m時高位自動溢出而被截除。用這種辦法生成的偽隨機數(shù)序列,在給定范圍和精度內(nèi)確實滿足均勻分布的要求,但是并非連續(xù)分布,因為計算機存放數(shù)據(jù)的精度不是無限!正是由于最小數(shù)據(jù)間隙的存在,該序列將會以一個相當(dāng)長的周期循環(huán)。
混沌動力學(xué)系統(tǒng)產(chǎn)生的隨機數(shù)
對于一般的科學(xué)研究來說,只要保證偽隨機數(shù)的內(nèi)在規(guī)律不與所研究的自然規(guī)律相似,并且在所需數(shù)據(jù)精度下呈現(xiàn)“準(zhǔn)連續(xù)的均勻分布”即可,而對“由少量數(shù)據(jù)反推生成規(guī)律”這種反向工程的困難程度不作限制。有時甚至還需要一種簡單清晰的生成規(guī)律,以便確認(rèn)這種規(guī)律是否與所研究的自然規(guī)律相似。
但是,在數(shù)據(jù)加密的時候,往往對這種反向工程極為擔(dān)心,因此需要設(shè)計一種難于被反推出的生成規(guī)律。由大質(zhì)數(shù)組合出巨大合數(shù)的乘法對反向工程來說相當(dāng)困難,但是它需要用特殊的、巨大的數(shù)據(jù)結(jié)構(gòu)來存放數(shù)據(jù)和進行運算,因此不適合用于擴展成為快速產(chǎn)生偽隨機數(shù)的算法。
硬件隨機數(shù)生成器
正因為硬件隨機數(shù)生成器產(chǎn)生的數(shù)字完全是隨機的,即使是設(shè)計和使用它的人也無法找到這些真隨機數(shù)的生成規(guī)律,所以用一個軟件來精確的校正其分布變得相當(dāng)困難,必須使用大量統(tǒng)計數(shù)據(jù)獲得經(jīng)驗校正函數(shù),而且還不能保持非常好的校正精度,這一點對加密應(yīng)用來說問題不大,但是對于科學(xué)計算而言就會大大降低計算結(jié)果的精度。
Excel怎么隨機生成數(shù)字
首先介紹一下如何用RAND()函數(shù)來生成隨機數(shù)(同時返回多個值時是不重復(fù)的)。
在單元格中輸入=RAND(),回車后單元格即返回了一個隨機數(shù)字。
RAND()函數(shù)返回的隨機數(shù)字的范圍是大于0小于1。因此,也可以用它做基礎(chǔ)來生成給定范圍內(nèi)的隨機數(shù)字。
生成制定范圍的隨機數(shù)方法是這樣的,假設(shè)給定數(shù)字范圍最小是A,最大是B,公式是:
=A+RAND()*(B-A)。
舉例來說,要生成大于60小于100的隨機數(shù)字,因為(100-60)*RAND()返回結(jié)果是0到40之間,加上范圍的下限60就返回了60到100之間的數(shù)字。
上面RAND()函數(shù)返回的0到1之間的隨機小數(shù),如果要生成隨機整數(shù)的話就需要用RANDBETWEEN()函數(shù)了,該函數(shù)生成大于等于1小于等于100的隨機整數(shù)。
這個函數(shù)的語法是這樣的:=RANDBETWEEN(范圍下限整數(shù),范圍上限整數(shù)),結(jié)果返回包含上下限在內(nèi)的整數(shù)。注意:上限和下限也可以不是整數(shù),并且可以是負(fù)數(shù)。
RAND()和RANDBETWEEN()是生成隨機數(shù)的基礎(chǔ)函數(shù),也可以靈活變通。比如說要生成0.01至1之間包含兩位小數(shù)的隨機數(shù),則可用下圖的公式實現(xiàn):
以上就是隨機數(shù)據(jù)生成器有哪些的所有內(nèi)容,大家可以根據(jù)自己的需求來選擇不同的隨機數(shù)據(jù)生成器,如果各位還想了解更多與之有關(guān)的信息,歡迎關(guān)注我們文軍營銷的官網(wǎng)。
推薦閱讀
說明:如果您有任何疑問或想咨詢其他業(yè)務(wù)請撥打電話 400 685 0732