**
一
. matlab
裡和隨機數有關的函式:(1
)rand
:產生均值為
0.5、幅度在
0~1之間的偽隨機數 (
2)randn
:產生均值為
0、方差為
1的高斯白雜訊 (
3)randperm(n):產生1
到n的均勻分布隨機序列 (
4)normrnd(a,b,c,d)
:產生均值為
a、方差為
b大小為
cxd的隨機矩陣
rand
rand(n)
:生成0到1
之間的n
階隨機數方陣
rand(m,n)
:生成0到1
之間的m×n
的隨機數矩陣
randn
randn
()命令是產生白雜訊的,白雜訊應該是
0均值,方差為
1的一組數,同
rand
有randn(n)
,randn(m,n)
rand
是0-1
的均勻分布,
randn
是均值為
0方差為
1的正態分佈
二
.功能:生成服從正態分佈的隨機數r=
normrnd(mu,sigma) r
=normrnd(mu,sigma,m) r
=normrnd(mu,sigma,m,n) 說明
: r=
normrnd(mu,sigma)
:生成服從正態分佈
(mu引數代表均值,
delta
引數代表標準差
)的隨機數。輸入的向量或矩陣mu和
sigma
必須形式相同,輸出
r也和它們形式相同。標量輸入將被擴充套件成和其它輸入具有
相同維數的矩陣。 r
=norrmrnd(mu,sigma,m)
:生成服從正態分佈
(mu引數代表均值,
delta
引數代表標準差)的
隨機數矩陣,矩陣的形式由
m定義。
m是乙個1×
2向量,其中的兩個元素分別代表返回值
r中行與列的維數。
r = normrnd(mu,sigma,m,n) 其中
mu為均值,
sigma
為標準方差,m、
n為矩陣大小;
三、求矩陣中所有元素的均值和方差
x是乙個m*n的矩陣
均值:sum(x(:))/(m*n)
方差:var(x(:))
四、已知直方圖,隨機生成乙個影象,使得新圖與原圖的直方圖相同
img=imread('raw.bmp');
h=imhist(img);
h=h/sum(h);
x=1:1:256;
figure,plot(x,h);
cp=cumsum(h);
figure,plot(x,cp);
dst=uint8(zeros(size(img,1),size(img,2)));
for row=1:size(img,1)
for col=1:size(img,2)
dst(row,col)=x(sum(cp<=rand(1))+1);
endendfigure,imshow(dst);
MATLAB生成隨機點
clc,close all,clear all sc 1.3 定義縮放係數 xy tra 3 定義標籤平移距離 r 400 定義圓的半徑 num pt 5000 定義資料點個數 randr r rand num pt,1 生成隨機點 phi 2 pi 0 rand num pt,1 生成隨機角度 x...
numpy random 生成隨機矩陣
安裝 pip install numpy 生成乙個兩行四列的隨機矩陣,隨機數的值位於0到1之間 from numpy import random randarray random.random size 2,4 輸出 array 0.93848018,0.42005976,0.81470729,0....
matlab產生隨機數或隨機矩陣
matlab中隨機數生成器主要有 betarnd 貝塔分布的隨機數生成器 binornd 二項分布的隨機數生成器 chi2rnd 卡方分布的隨機數生成器 exprnd 指數分布的隨機數生成器 frnd f分布的隨機數生成器 gamrnd 伽瑪分布的隨機數生成器 geornd 幾何分布的隨機數生成器 ...