问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

MATLAB中rand()和randn()函数的区别详解

创作时间:
作者:
@小白创作中心

MATLAB中rand()和randn()函数的区别详解

引用
CSDN
1.
https://blog.csdn.net/cream_t_g/article/details/138405155

在MATLAB编程中,rand()和randn()是两个常用的随机数生成函数,但它们生成的随机数服从不同的分布。本文将详细介绍这两个函数的区别,并通过实例演示它们的使用方法。

rand()函数

rand()函数用于生成服从均匀分布的随机数,具体来说,生成的随机数分布在(0, 1)区间内,且每个值出现的概率是相等的。

调用格式

  • Y = rand(n):返回一个在(0,1)区间均匀分布的n*n的随机矩阵Y
  • Y = rand(m,n)Y = rand([m,n]):返回一个在(0,1)区间均匀分布的m*n的随机矩阵Y
  • Y = rand(size(A)):返回一个在(0,1)区间均匀分布的与矩阵A同维数的随机矩阵Y

示例

例题一: 利用rand()函数生成一个3x4在(0,1)区间均匀分布的矩阵Y

Y = rand(3,4)

例题二: 在(-5,5)区间均匀分布的矩阵Y

Y = 5-10*rand(3,4)

输出结果如下:

randn()函数

randn()函数用于生成服从标准正态分布的随机数,即均值为0,方差为1的正态分布(高斯分布)。生成的随机数集中在均值附近,并以指数衰减的方式分布在两侧。

总结

  • rand()生成的随机数更均匀地分布在[0, 1]区间内
  • randn()生成的随机数则更偏向于集中在均值附近,呈现出正态分布的特征

通过本文的介绍,读者应该能够清晰地理解rand()和randn()函数的区别,并在实际编程中正确使用它们。

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号