-
當(dāng)前位置:首頁(yè) > 創(chuàng)意學(xué)院 > 營(yíng)銷推廣 > 專題列表 > 正文
偽隨機(jī)數(shù)的數(shù)組排列
大家好!今天讓創(chuàng)意嶺的小編來大家介紹下關(guān)于偽隨機(jī)數(shù)的數(shù)組排列的問題,以下是小編對(duì)此問題的歸納整理,讓我們一起來看看吧。
開始之前先推薦一個(gè)非常厲害的Ai人工智能工具,一鍵生成原創(chuàng)文章、方案、文案、工作計(jì)劃、工作報(bào)告、論文、代碼、作文、做題和對(duì)話答疑等等
只需要輸入關(guān)鍵詞,就能返回你想要的內(nèi)容,有小程序、在線網(wǎng)頁(yè)版、PC客戶端和批量生成器
問友Ai官網(wǎng):https://ai.de1919.com。
本文目錄:
matlab如何得到偽隨機(jī)序列?
% 小數(shù)開方偽隨機(jī)數(shù)發(fā)生器 randmtx = randUI(10, 10, 10000, 0, 1)% row 偽隨機(jī)數(shù)矩陣的行數(shù)
% col 偽隨機(jī)數(shù)矩陣的列數(shù)
% seed 種子
% k1, k2 生成的偽隨機(jī)數(shù)的范圍
function randmtx = randU2(row, col, seed, k1, k2)
if nargin < 3
seed = 11;
end
m = 4;
seed2 = sqrt(seed);
while seed2 < 1
seed2 = seed2 * 10;
end
n = round(seed2/m);% 返回最接近seed2/m的整數(shù)
x = (10^n)*seed2;
randmtx(1,1) = x - floor(x);
for i = 2:row*col
temp = sqrt(abs(randmtx(1,i-1)));
if temp == 0
temp = eps;
end
while temp < 1
temp = temp * 10;
end
n = round(temp/m);
x = (10^n)*temp;
randmtx(1,i) = (x - floor(x));
end
randmtx = reshape(randmtx, row, col);
if nargin < 4
return
end
randmtx = randmtx * (k2 - k1) + k1;
偽隨機(jī)是什么意思?
現(xiàn)在的計(jì)算機(jī)還無法產(chǎn)生一個(gè)真正的隨機(jī)數(shù),它能產(chǎn)生的隨機(jī)數(shù)都是偽隨機(jī)數(shù),在這方面它跟人腦還沒法比,但是它有強(qiáng)大的計(jì)算功能,可以通過復(fù)雜的計(jì)算彌補(bǔ)這一缺點(diǎn)。 存在一個(gè)基本的隨機(jī)率m,被的隨機(jī)率都以m和固有概率共同計(jì)算,如網(wǎng)絡(luò)游戲中攻擊力的浮動(dòng),裝備的精煉。m=f(t)是時(shí)間t的函數(shù),t至少精確到0.01秒。t還是一個(gè)周期較大的周期函數(shù).因?yàn)橛?jì)算機(jī)是結(jié)構(gòu),條理非常清晰的數(shù)理邏輯. 它所執(zhí)行的東西都是按照人們編好的程序一步一步來的. 所以這并不是真正的隨機(jī).舉個(gè)例子來說,你玩過網(wǎng)游吧,一般的游戲里都有本地圖內(nèi)隨機(jī)傳送的技能或物品. 如果真隨機(jī)的話,你無限次傳送可以到達(dá)任何一個(gè)地方. 但如果偽隨機(jī)的話,無限次傳送之后有些地方仍然是無法到達(dá)的。 計(jì)算機(jī)通過復(fù)雜得計(jì)算,讓大家看起來好像是數(shù)據(jù)之類的東西是處于隨機(jī)狀態(tài)的,但是他還是有一定的規(guī)律。真正的隨機(jī),沒辦法預(yù)測(cè)下一步。C語言中怎么對(duì)數(shù)組隨機(jī)排序?
可以用一個(gè)輔助數(shù)組進(jìn)行隨機(jī)排序,方法如下:1 獲取要排序的數(shù)組長(zhǎng)度L。
2 定義整型的輔助數(shù)組,長(zhǎng)度為L(zhǎng)。
3 生成L個(gè)隨機(jī)整型數(shù)字,存與輔助數(shù)組中,這樣要排序數(shù)組和輔助數(shù)組就是一一對(duì)應(yīng)的了。
4 對(duì)輔助數(shù)組排序,排序過程中,當(dāng)改變輔助數(shù)組中數(shù)字的位置時(shí),同步改變要隨機(jī)排序的原數(shù)組中對(duì)應(yīng)的元素位置。比如為排序交換輔助數(shù)組的第三個(gè)和第五個(gè)元素,那么就要同時(shí)交換原數(shù)組中的第三個(gè)和第五個(gè)元素。
5 當(dāng)輔助數(shù)組排序完成后,原數(shù)組中的值就是隨機(jī)順序了。
6 刪除輔助數(shù)組。
什么是偽隨機(jī)碼序列
什么是偽隨機(jī)序列呢?讓我們看一個(gè)例子。序列α= 0110100,其中0和1的個(gè)數(shù)相差1。把α看成周期為7的無限序列,左移1位得,α1 = 1101000,把α1也看成周期為7的無限序列。 α= 0110100α1=1101000在一個(gè)周期里,α和α1的對(duì)應(yīng)位置元素相同的位置有3個(gè),元素不同的位置有4個(gè),它們的差等于-1,這個(gè)數(shù)稱為α的自相關(guān)函數(shù)在1處的值,記作。類似地,把α左移2位,3位,…6位,可以求出α的自相關(guān)函數(shù)在2處,3處,…6處的值也等于-1。當(dāng)0 < s <7時(shí),稱為α的自相關(guān)函數(shù)的旁瓣值。從剛才所求出的結(jié)果知道,α= 0110100的自相關(guān)函數(shù)的旁瓣值只有一個(gè):-1。像這樣的序列稱為偽隨機(jī)序列或擬完美序列。即,一個(gè)周期為v的無限序列,如果在一個(gè)周期里,0和1的個(gè)數(shù)相差1,并且它的自相關(guān)函數(shù)的旁瓣值只有一個(gè):-1,則稱它為偽隨機(jī)序列或擬完美序列。α的自相關(guān)函數(shù)的旁瓣值的絕對(duì)值越大,就表明(或把的0和1互換得到的序列)與α越像。因此如果周期為v的序列α是一個(gè)偽隨機(jī)序列,那么α不管左移幾位(只要不是v的倍數(shù)),得到的序列都和α很不像,這樣就很難分辨出α是什么樣子。好比川劇的變臉,由于每一次都變得和演員的臉很不一樣,因此很難知道演員自己的臉是什么樣子。反之如果演員每一次化裝后都跟他自己的臉有許多相同之處,那么就容易辨認(rèn)演員長(zhǎng)得什么樣。這說明了用偽隨機(jī)序列作為密鑰序列,是比較安全的。 偽隨機(jī)序列是用函數(shù)生成隨機(jī)數(shù)。它并不真正是隨機(jī)的。只是比較近似隨機(jī) 一個(gè)簡(jiǎn)單的隨機(jī)數(shù)產(chǎn)生方法如下: X0=345 Xn=(Xn-1*A+B)/C 其中A,B,C是常數(shù),上式每執(zhí)行一次就生成一個(gè)偽隨機(jī)數(shù) 還可以在數(shù)組中填入若干個(gè)數(shù)然后順序取出進(jìn)行模擬。性能好,但是這種隨機(jī)數(shù)就很不象隨機(jī)數(shù)了。 還有就是根據(jù)當(dāng)前系統(tǒng)時(shí)間,內(nèi)存值等等用函數(shù)生成了。以上就是關(guān)于偽隨機(jī)數(shù)的數(shù)組排列相關(guān)問題的回答。希望能幫到你,如有更多相關(guān)問題,您也可以聯(lián)系我們的客服進(jìn)行咨詢,客服也會(huì)為您講解更多精彩的知識(shí)和內(nèi)容。
推薦閱讀:
點(diǎn)的對(duì)比構(gòu)成圖片(點(diǎn)的對(duì)比構(gòu)成圖片大全)
申請(qǐng)英國(guó)高中需要什么條件(申請(qǐng)英國(guó)高中需要什么條件和學(xué)歷)