normrnd(normrnd函数的用法)
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)
,等价表达
生成高斯分布的函数mvnrnd与normrnd有什么区别
命令 参数为μ,σ的正态分布的随机数据
函数 normrnd
格式 :
R = normrnd(MU,SIGMA) %返回均值为MU,标准差为SIGMA的正态分布的随机数据,R可以是向量或矩阵.
R = normrnd(MU,SIGMA,m) %m指定随机数的个数,与R同维数.
R = normrnd(MU,SIGMA,m,n) %m,n分别表示R的行数和列数

MATLAB中 normrnd产生的随机数,怎么不让它产生小于0的。
这个函数生成均值为1.2,方差为5.76的随机数,矩阵大小为100行200列。所谓随机数,要服从那个分布当然就会有小于0的情况发生了。
要不小于0,不然就用
A=abs(normrnd(1.2,5.76,100,200)); 但是这样就改变了数据的统计特性了,均值和方差就变了~~
求助Matlab的randn和normrnd的区别
当然是有区别的。
正态分布只需要2个参数。
randn() 是标准正态分布
normrnd是自己可以指定均数和标准差的正太分布。