Matlab中产生正态分布随机数的函数normrnd-----用来产生高斯随机矩阵
语法:
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): 生成m×n形式的正态分布的随机数矩阵。
>> help normrnd
NORMRND Random arrays from the normal distribution.
R = NORMRND(MU,SIGMA) returns an array of random numbers chosen from a
normal distribution with mean MU and standard deviation SIGMA. The size
of R is the common size of MU and SIGMA if both are arrays. If either
parameter is a scalar, the size of R is the size of the other
parameter.
R = NORMRND(MU,SIGMA,M,N,...) or R = NORMRND(MU,SIGMA,[M,N,...])
returns an M-by-N-by-... array.
例:生成正态分布随机数。
>> a=normrnd(0,1)
a =
-1.4814
>> a=normrnd(0,1,1,6)
a =
1.1287 -0.2900 1.2616 0.4754 1.1741 0.1269
>> a=normrnd(0,1,[1 6])
a =
0.1555 0.8186 -0.2926 -0.5408 -0.3086 -1.0966
>> a=normrnd(10,2,2,3)
a =
13.6280 13.6090 11.0531
10.6240 8.5538 9.4795
m=50;
n=2;
x=0:1:100;
y=exp(-(x-m).^2/(2*n^2));
subplot(2,1,1)
plot(x,y)
subplot(2,1,2)
% z=normrnd(50,2,100,1);
% plot(z)
z=0:1:100;
d=normpdf(z,50,2);
plot(z,d)
,等价表达