1. 程式人生 > >MATLAB中生成隨機數方法總結

MATLAB中生成隨機數方法總結

好久沒用MATLAB了,今天在利用MATLAB進行資料處理時,突然發現自己忘記了該如何產生自己需要的隨機數形式,於是又查了一通資料。現對其進行一個簡單的總結,供自己和大家以後參考:

1. randi : 產生均勻分佈的偽隨機整數

%產生一個1至10之間的隨機矩陣,大小為2x5;
s1 = randi(10,2,5);

%產生一個-5至5之間的隨機矩陣,大小為1x10;
s2 = randi([-5,5],1,10);

2. rand: 產生均勻分佈的偽隨機數

%產生一個0至1之間的隨機矩陣,大小為1x5;
s3 = rand(1,5);

%產生一個0至1之間的二進位制隨機矩陣,大小為1x10;
s4 = round(rand(1,10));

%產生一個a至b之間的隨機矩陣,大小為1x5;
% a + (b-a) * rand(1,5); 如:a,b = 2,5
s5 = 2 + (5-2) * rand(1,5);


3. linspace:產生線性間隔向量

%建立一個從1到10的100個線性間隔的向量,大小為1x100;
s6 = linspace(1,10);

%建立一個從0到10的6=[(10-0)/2+1]個線性間隔數的向量,大小為1x6;
s7 = linspace(0,10,6);


4. unifrnd:產生連續統一的隨機數字

%建立一個大小從0到2之間的隨機矩陣,size為1x5;
s8 = unifrnd(0,2,1,5);  

%從(0,1)(1,2)(2,3)...中分別產生一個隨機數,組成隨機矩陣;
%如:從(0,1)(1,2)(2,3)(3,4)(4,5)分別產生一個隨機陣列成矩陣;
a = 0:4;
b = 1:5;
s9 = unifrnd(a,b);



5. unidrnd:產生離散的統一隨機數字

%建立一個大小從1到10之間的隨機矩陣,size為2x5;
s10 = unidrnd(10,2,5);  

%產生一個10以內的隨機數;
s11 = unidrnd(10);
s12 = unidrnd(10);
s13 = unidrnd(10);



基本常用的都羅列出來了,另外還有一些其他隨機數,方法其本類似,這裡就不在一一列舉。


相關推薦

MATLAB生成隨機數方法總結

好久沒用MATLAB了,今天在利用MATLAB進行資料處理時,突然發現自己忘記了該如何產生自己需要的隨機數形式,於是又查了一通資料。現對其進行一個簡單的總結,供自己和大家以後參考: 1. randi

matlab生成隨機數的相關知識

col 分布 tla 隨機排序 均勻分布 隨機生成 matlab bsp rand randperm()函數: 功能:用於生成從1到N的隨機整數,並且沒有重復,它本質上是一個隨機排序的函數; 用法:1. randperm(n) 隨機生成從1到n的不重復的整數;

C語言和java生成隨機數的原理和方法

C語言 一.函式 1:int rand(void) 該函式會產生一個[0,RAND_MAX]的偽隨機數,那什麼是偽隨機數? 相當於一個序列a1-an,第一次使用會返回a1, 第二次使用會返回a2….第n次返回an,這樣每次呼叫rand()都能產生一個不同

多執行緒生成隨機數序列重複問題的解決方法

使用過隨機數的程式設計師都知道在程式中並不能夠實現的真正的完全的隨機數函式。隨機數函式產生的是通過公式計算出來的一系列偽隨機數,這個公式會採用一個種子數計算出一個數,而該數將成為產生下一個數的種子數。基於產生隨機數的原理,兩次呼叫隨機數後產生的隨機數序列將是一樣的,顯然,這

關於js數組方法總結

filter foreach 默認 tin ffffff 關於 調用 index reducer 數組在筆試中經常會出現的面試題,javascript中的數組與其他語言中的數組有些不同,為了方便之後數組的方法學習,整理了關於數組的操作方法 數組創建 JavaScript中創

JAVA循環刪除list元素的方法總結

tor 循環 toolbar i++ 使用 修改 log span .get  印象中循環刪除list中的元素使用for循環的方式是有問題的,但是可以使用增強的for循環,然後今天在使用時發現報錯了,然後去科普了一下,再然後發現這是一個誤區。下面就來講一講。。伸手黨可直接跳

JAVA循環刪除list元素的方法總結(跳格刪除問題解決)(轉)

今天 src log 觸發 導致 spi als exceptio spa  印象中循環刪除list中的元素使用for循環的方式是有問題的,但是可以使用增強的for循環,然後今天在使用時發現報錯了,然後去科普了一下,再然後發現這是一個誤區。下面就來講一講。。伸手黨可直接跳至

PHP的魔術方法總結

__construct, __destruct , __call,__get, __set, __isset, __unset , __sleep, __wakeup, __toString, __clone and __autoload魔術方法。 1、__get、__set這兩個方法是為在

js陣列的方法總結

js中陣列的方法很多,經常都翻書看,無奈老是記不住,一到用的時候就忘了,大概還是因為用的少,也可能是因為方法確實太多,據不完全統計有23種。。。所以在這裡總結一下,當是記個筆記。 1、join() join(separator): 將陣列的元素組起一個字串,以separator為分隔符,省略

String類的equals方法總結(轉載)

轉載:https://blog.csdn.net/qq_25827845/article/details/53868815 1.String原始碼中equals大致寫法: 1 public boolean equals(Object anObject) { 2 if (this == anObj

深度學習的優化方法總結

梯度下降沿著整個訓練集的梯度方向下降。可以使用隨機梯度下降很大程度地加速,沿著隨機挑選的小批量資料的梯度下降。 批量演算法和小批量演算法 使用小批量的原因 n個樣本均值的標準差是σn√σn,其中σσ是樣本值真實的標準差。分母n−−√n表明使用更多的樣本來估計梯度的方

matlabformat使用方法

matlab中專用命令 format用於針對資料的顯示形式進行控制,但該命令不影響資料的儲存形式和計算精度 format:設定輸出格式 對浮點性變數,預設為format short。另外,format short, long不影響整型變數的顯示。 format   

MATLABFFT的分析總結

1、取樣頻率和取樣週期的設定: 取樣頻率的設定應滿足奈奎斯特准則,當取樣頻率設定之後求倒數即為取樣週期。 如: Fs = 1000; % Sampling frequency 取樣頻率 T = 1/Fs; %

matlab生成m序列

                實驗環境為matlab2013b1、首先編寫一個mseq.m檔案,內容為:function[mseq]=m_sequence(fbconnection) n=length(fbconnection); N=2^n-1;  register=[zeros(1,n-1) 1];  

Linux生成隨機數

生成隨機數的方法有7種 1.通過時間獲取隨機數 1)date +%s (隨機生成10位數字)        用於獲得時間戳。        如果用它做隨機數,相同一秒的資料是一樣的。在做迴圈處理,多執行緒裡面基本不能滿足要求了。 2)date +%N (隨機

nodejs密碼加密生成隨機數

方法一: Math.random().toString(36).substr(2)執行後的結果就是11位數的隨機數 方法二: 1、定義函式 function randomWord(ra

擴充套件jsArray的方法總結

//判斷是否存在,通過元素的id Array.prototype.getElementById=function(elementId){     for(var i=0;i<this.length;i++){     

JAVAsort()常用方法總結

一、Arrays.sort()的用法 import java.util.Arrays; public class Main{ public static void main(String args[

SecretKeyCreateUtil工具類,採用安全的生成隨機數方法(SecureRandom),此處為10位

public class SecretKeyCreateUtil {/** * 產生金鑰資訊 * 採用安全的生成隨機數方法(SecureRandom) * @throws IOException * @throws NoSuchAlgorithmException  */pu

bat生成隨機數

批處理、Bat 產生指定範圍隨機數字的程式碼,需要的朋友可以參考下下 最近研究批處理命令,偶然發現,居然還有隨機數,在此之前,是未敢想過。 說到隨機數,不同的軟體都有隨機函式的功能,使用方法大體類似,但卻有著區別。 本文,給您介紹一下MS-DOS中的批處理命令r