导航菜单
首页 > 综合精选 > normrnd(normrnd函数和randn的用法)

normrnd(normrnd函数和randn的用法)

导读 normrnd函数和randn都是MATLAB中用于生成服从正态分布的随机数的函数。这两个函数有很多相似的地方,但也有些许不同。在本文中,我们将介绍这两个函数的用法,以及它们之间的区别
2023-06-21T10:46:37

normrnd函数和randn都是MATLAB中用于生成服从正态分布的随机数的函数。这两个函数有很多相似的地方,但也有些许不同。在本文中,我们将介绍这两个函数的用法,以及它们之间的区别。

normrnd函数的用法

normrnd(normrnd函数和randn的用法)

normrnd函数的语法如下:y = normrnd(mu,sigma)

其中,y是生成的随机数,mu和sigma分别是正态分布的均值和标准差。这个函数能够生成任意均值和标准差的正态分布随机数。

1. 如果只输入一个参数,则默认均值为0,标准差为1。

2. 如果mu是一个向量或者矩阵,则返回的随机数也是一个同样大小的向量或矩阵,并且每一个元素都是独立生成的。

3. 如果mu和sigma都是向量或矩阵,则它们必须是同一个大小,并返回的向量或矩阵也是一个同样大小的向量或矩阵,每个元素都是独立生成的。

4. 如果mu是一个标量,而sigma是一个向量或矩阵,则它们的元素将自动扩展为相同大小,以匹配出结果的大小。结果向量或矩阵的每个元素都是独立生成的,但是它们的均值和标准差是不同的。

5. 如果mu是一个向量或矩阵,而sigma是标量,则返回的向量或矩阵也是一个同样大小的向量或矩阵,其中每个元素都是独立生成的,但是均值相同,标准差不同。

randn函数的用法

normrnd(normrnd函数和randn的用法)

randn函数的语法如下:y = randn(sz1,...,szN)

其中,sz1,...,szN表示生成随机数的矩阵的维度。与normrnd函数不同的是,它不能够指定均值和标准差,只能生成均值为0,标准差为1的正态分布随机数。

1. 如果没有输入参数,则生成一个标量的随机数。

2. 如果只输入一个整数,则生成一个对应大小的随机数矩阵。

3. 如果输入多个整数,则生成对应大小的随机数矩阵。

4. 对于randn函数生成的随机数,它们的均值大致在0左右,标准差大致在1左右。

normrnd和randn函数之间的区别

normrnd(normrnd函数和randn的用法)

1. normrnd函数能够指定均值和标准差,而randn函数不能。

2. normrnd函数返回的随机数大小与输入的均值和标准差大小相同,而randn函数返回的随机数大小与输入的矩阵维度大小相同。

随机数生成实例

normrnd(normrnd函数和randn的用法)

下面我们将通过一些实例来更好地理解normrnd和randn函数的用法和特点。

1. 输入一个参数

没有指定mu和sigma的值,默认生成均值为0,标准差为1的正态分布随机数。代码如下:

 y = normrnd(5);

结果y为一个标量,大致在5左右,但是值域在负无穷大到正无穷大之间。

y = randn(5);

结果y为一个5x5的矩阵,元素值域也在负无穷大到正无穷大之间。

2. mu和sigma都是向量或矩阵

指定mu和sigma的值,分别是一个向量和一个矩阵。代码如下:

 mu = [4,5];
sigma = [1,2;3,4];
y = normrnd(mu,sigma);

结果y为一个2x2的矩阵,其中每个元素都是独立生成的正态分布随机数,均值和标准差分别与mu和sigma相对应。

y = randn(3,2);

结果y为一个3x2的矩阵,每个元素都是独立生成的正态分布随机数,均值大致在0左右,标准差大致在1左右。

3. mu是标量,sigma是向量或矩阵

将mu设为标量,sigma设为一个向量,会自动扩展为相同大小,生成的随机数元素均值不同,标准差相同。代码如下:

 y = normrnd(4,[4,4]);

结果y为一个4x4的矩阵,均值全部为4,标准差全部为1。

y = randn([2,3,4]);

结果y为一个2x3x4的数组,每个元素都是独立生成的正态分布随机数,均值大致在0左右,标准差大致在1左右。

4. mu是向量或矩阵,sigma是标量

将mu设为一个向量或矩阵,sigma设为标量,生成的随机数元素均值相同,标准差不同。代码如下:

 mu = [4,5,6];
sigma = 2;
y = normrnd(mu,sigma);

结果y为一个1x3的矩阵,均值与mu相同,标准差均为2。

y = randn(2,3,4);

结果y为一个2x3x4的数组,每个元素都是独立生成的正态分布随机数,均值大致在0左右,标准差大致在1左右。

免责声明:本文由用户上传,如有侵权请联系删除!

猜你喜欢:

最新文章: