matlab隨機函數

目錄

1. randsrc    無參數隨機輸出-1或1。有參數,按照概率輸出m*m或m*n階矩陣

2. rand       隨機產生0—1中某一數

3. randint    無參數隨機輸出0或1。有參數,按照概率輸出m*m或m*n階矩陣

4. randperm    返回從1到n隨機分佈的整數序列,長度爲n,如果需要重複多次出現,可用:randi(n,1,k)

                       randperm(10,k)+n;%k是變量個數,生成(n+1)~(10+n)中k個不重複數

5. intersect   intersect(A,B),A,B爲向量,返回A,B中相同的元素,並且排序後輸出

                     intersect(A,B,'rows'),A,B需爲相同列的矩陣,返回他們相同的行

6. cumsum    累積和,累積量

7. rectpuls

1. randsrc
out = randsrc

out = randsrc(m)        % m*m階矩陣

out = randsrc(m,n)     % 輸出m*n階

out = randsrc(m,n,alphabet)

out = randsrc(m,n,[alphabet; prob])

out = randsrc(m,n,...,state);

無參數,則隨機輸出-1或1。

有參數,輸出m*m或m*n矩陣,按照1/2的概率隨機分佈-1和1,如果有alphabet向量參數,則按照同樣的概率輸出由該參數確定的數字(alphabet向量中的每個項都以相等的概率出現)。

再有prob參數,確定每一個數字的出現概率。

   

 
2. rand
而rand是隨機產生0—1中某一數

 
3. randint
out = randint

out = randint(m)

out = randint(m,n)

out = randint(m,n,rg)

out = randint(m,n,rg,state)

描述同上。但是無參數的話隨機輸出0或1。有參數,按照同樣概率輸出m*m或m*n階矩陣。如有rg參數,則按照同樣概率隨機輸出[0,rg-1](rg>0)或[rg+1,0](rg<0)或[min,max](rg爲兩個元素的向量)之間的數字。

 
4. randperm
p = randperm(n)返回從1到n隨機分佈的整數序列,長度爲n。

p = randperm(n,k) 返回一行從1到n的整數中的k個,而且這k個數也是不相同的。

randperm返回不重複的重排採樣(k-permutations)。

 

如果需要重複多次出現,可用:randi(n,1,k)。

 

其他:

5. intersect
intersect(A,B),A,B爲向量,返回A,B中相同的元素,並且排序後輸出。

intersect(A,B,'rows'),A,B需爲相同列的矩陣,返回他們相同的行。

[c, ia, ib] = intersect(...);將相同元素的索引index輸出到ia,ib中。

 

6. cumsum
B = cumsum(X);  求向量X中元素的累積和,如果X爲矩陣,則按列求累積量.

B = cumsum(X,dim);  按dim給定的維度求累積量。

例如:B = cumsum(X,1)返回的是沿着第一維(各列)的累加和,cumsum(X,2)返回的是沿着第二維(各行)的累加和。

 

相關函數:cumprod, prod, sum

sum 函數

eg.

 

7. rectpuls
rectpuls(T);  以零爲中心寬度爲1的方波,區間爲左閉右開區間,即rectpuls(-0.5) = 1;而rectpuls(0.5) = 0;

rectpuls(T,W) generates a rectangle of width W.

 

轉自https://www.jianshu.com/p/825ddb8e59ec

一、rand ():生成(0,1)區間上均勻分佈的隨機變量

rand(5,1) %生成隨機數排列的列向量。

rand(5)%生成5行5列的隨機矩陣。

rand(5,2)%生成5行2列的隨機矩陣。

x=rand(10000,1);

hist(x);%繪圖,生成隨機數的分佈

 

二、randn ():生成(0,1)區間上正態分佈的隨機變量

randn(5,1)%生成隨機數排列的列向量

randn(5)%生成5行5列的隨機矩陣。

randn(5,2)%生成5行2列的隨機矩陣。

x=randn(10000,1);

hist(x);%繪圖,生成隨機數的分佈

 

三、連續型分佈隨機函數

unifrnd ():生成某個區間上均勻分佈的隨機變量

unifrnd(-2,3,5,1)%在(-2,3)區間內生成一列隨機變量

unifrnd(-2,3,5)%在(-2,3)區間內生成5行5列的隨機變量

unifrnd(-2,3,5,2)%在(-2,3)區間內生成5行2列的隨機變量

x=unifrnd(-2,3,100000,1);

hist(x,50)%繪圖,生成隨機數的分佈

normrnd ():生成指定均值,標準差的正態分佈的隨機變量

normrnd(2,3,5,1)%生成指定均值爲2,標準差爲3的正態分佈的5行1列隨機變量

normrnd(2,3,5)%生成指定均值爲2,標準差爲3的正態分佈的5行5列的隨機變量

normrnd(2,3,5,2)%生成指定均值爲2,標準差爲3的正態分佈的5行2列的隨機變量

x=unifrnd(-2,3,100000,1);

hist(x,50)%繪圖,生成隨機數的分佈

chi2rnd():生成的隨機數服從自由度爲v的卡方分佈

chi2rnd(5,5,1)%生成服從自由度爲5的卡方分佈的5行1列隨機變量

chi2rnd(5,5)%生成服從自由度爲5的卡方分佈的的5行5列的隨機變量

chi2rnd(5,5,2)%生成服從自由度爲5的卡方分佈的5行2列的隨機變量

x=chi2rnd(5,100000,1);

hist(x,50)%繪圖,生成隨機數的分佈

frnd():生成的隨機數服從參數爲w,v的t分佈

frnd(3,5,5,1)%生成服從參數爲(3,5)的f分佈的5行1列隨機變量

frnd(3,5,5)%生成服從參數爲(3,5)的f分佈的的5行5列的隨機變量

frnd(3,5,5,2)%生成服從參數爲(3,5)的f分佈的5行2列的隨機變量

x=frnd(3,5,10000,1);

hist(x,50)%繪圖,生成隨機數的分佈

trnd():生成的隨機數服從參數爲v的t分佈

trnd(5,5,1)%生成服從參數爲5的t分佈的5行1列隨機變量

trnd(5,5)%生成服從參數爲5的t分佈的的5行5列的隨機變量

trnd(5,5,2)%生成服從參數爲5的t分佈的5行2列的隨機變量

x=trnd(5,100000,1);

hist(x,50)%繪圖,生成隨機數的分佈

同理:

betarnd()%生成服從參數爲(w,v)的Beta分佈的隨機數

exprnd() %生成服從參數爲mu的指數分佈的隨機數

gamma()%生成服從參數爲(w,v)的Gamma分佈的隨機數

lognrd()%生成服從參數爲(mu,sigma)的對數正態分佈的隨機數

raylrnd()%生成服從參數爲w的瑞利分佈的隨機數

wblrnd()%生成服從參數爲(scale,shape)的對數正態分佈的隨機數

......

 

四、離散型分佈隨機函數

unidrnd()%生成服從離散均勻分佈的隨機數

unidrnd(5,5,1) %生成一列隨機變量

unidrnd(5,5) %生成5行5列的隨機變量

unidrnd(5,5,2) %生成5行2列的隨機變量

x=unidrnd(9,100000,1);

hist(x,9) %繪圖,生成隨機數的分佈

binornd() %生成的隨機數服從參數爲(N,p)的二項分佈

binornd(10,0.3,5,1)%生成5個隨機數排列的列向量

%注:上述語句生成的隨機數所服從的參數爲(10,0.3)的二項分佈 

binornd(10,0.3,5) %生成5行5列的隨機數矩陣 

%注:上述語句生成的隨機數所服從的參數爲(10,0.3)的二項分佈 

binornd(10,0.3,[5,2])%生成一個5行2列的隨機數矩陣

%注:上述語句生成的隨機數所服從的參數爲(10,0.3)的二項分佈 

x=binornd(10,0.45,100000,1);

hist(x,11);%繪圖,生成隨機數的分佈

geornd()%此函數生成服從幾何分佈的隨機數。

geornd(0.4,5,1) %生成5個隨機數排列的列向量

%注:上述語句生成的隨機數所服從的參數爲(0.4)的二項分佈

geornd(0.4,5) %生成5行5列的隨機數矩陣 

%注:上述語句生成的隨機數所服從的參數爲(0.4)的二項分佈

geornd(0.4,[5,2]) %生成一個5行2列的隨機數矩陣

%注:上述語句生成的隨機數所服從的參數爲(0.4)的二項分佈

 x=geornd(0.4,100000,1);

hist(x,50)%繪圖,生成隨機數的分佈

poissrnd() %生成服從泊松(Poisson)分佈的隨機數

poissrnd(2,5,1) %生成5個隨機數排列的列向量

%注:上述語句生成的隨機數所服從的參數爲(2)的泊松分佈

poissrnd(2,5) %生成5行5列的隨機數矩陣 

%注:上述語句生成的隨機數所服從的參數爲(2)的泊松分佈

poissrnd(5,[5,2])%生成一個5行4列的隨機數矩陣 

%注:上述語句生成的隨機數所服從的參數爲(2)的泊松分佈

x=poissrnd(2,100000,1);

hist(x,50);%繪圖,生成隨機數的分佈

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章