目錄
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);%繪圖,生成隨機數的分佈