MATLAB产生随机数

本文介绍了MATLAB中生成各种分布随机数的函数,如normrnd用于产生正态分布随机数,rand产生0-1均匀分布随机数,randn产生均值为0,方差为1的高斯随机数。此外,还讲解了如何设置随机数种子以产生可复现的随机序列,以及rand和randn在不同操作系统和计算中的行为差异。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

(1)用计算机产生的是“伪随机数”。用投色子计数的方法产生真正的随机数 , 但电脑若也这样做 , 将会占用大量内存 ; 用噪声发生器或放射性物质也可产生真正的随机数 , 但不可重复 . 而用数学方法产生最适合计算机 , 这就是周期有限 , 易重复的 ” 伪随机数 ”

matlab里和随机数有关的函数:

betarnd 贝塔分布的随机数生成器
binornd 二项分布的随机数生成器
chi2rnd 卡方分布的随机数生成器
exprnd 指数分布的随机数生成器
frnd f分布的随机数生成器
gamrnd 伽玛分布的随机数生成器
geornd 几何分布的随机数生成器
hygernd 超几何分布的随机数生成器
lognrnd 对数正态分布的随机数生成器
nbinrnd 负二项分布的随机数生成器
ncfrnd 非中心f分布的随机数生成器
nctrnd 非中心t分布的随机数生成器
ncx2rnd 非中心卡方分布的随机数生成器
normrnd 正态(高斯)分布的随机数生成器,normrnd(a,b,c,d):产生均值为a、方差为b大小为cXd的随机矩阵
poissrnd 泊松分布的随机数生成器
rand:产生均值为0.5、幅度在0~1之间的伪随机数,rand(n):生成0到1之间的n阶随机数方阵,rand(m,n):生成0到1之间的m×n的随机数矩阵
randn:产生均值为0、方差为1的高斯白噪声,使用方式同rand
注:rand是0-1的均匀分布,randn是均值为0方差为1的正态分布
randperm(n):产生1到n的均匀分布随机序列
raylrnd 瑞利分布的随机数生成器
trnd 学生氏t分布的随机数生成器
unidrnd 离散均匀分布的随机数生成器
unifrnd 连续均匀分布的随机数生成器
weibrnd 威布尔分布的随机数生成器


以下介绍利用Matlab产生均值为0,方差为1的符合正态分布的高斯随机数。
我们利用的函数为normrnd(a,b,c,d):产生均值

Matlab中,可以使用rand函数来产生均匀分布的伪随机数。例如,使用rand函数可以产生一个0至1之间的随机矩阵,大小为1x5,代码如下: s3 = rand(1,5) 如果需要产生一个0至1之间的二进制随机矩阵,可以使用round函数对rand函数的结果进行四舍五入,代码如下: s4 = round(rand(1,10)) 如果需要产生一个a至b之间的随机矩阵,可以使用a + (b-a) * rand(1,5)的方式,其中ab分别为所需范围的下限上限。例如,如果ab分别为25,可以使用以下代码产生一个大小为1x5的随机矩阵: s5 = 2 + (5-2) * rand(1,5) 除了rand函数,还可以使用unifrnd函数来产生连续均匀分布的随机数。unifrnd函数可以用来创建一个指定范围内的随机矩阵。例如,使用unifrnd函数可以创建一个大小从0到2之间的随机矩阵,大小为1x5,代码如下: s8 = unifrnd(0,2,1,5) 如果需要从不同的范围中分别产生随机数,可以使用unifrnd函数结合linspace函数。例如,从(0,1)(1,2)(2,3)...中分别产生一个随机数,可以使用以下代码: a = 0:4; b = 1:5; s9 = unifrnd(a,b) 另外,如果需要产生离散均匀分布的随机数,可以使用unidrnd函数。unidrnd函数可以用来创建一个指定范围内的离散均匀分布的随机矩阵。例如,使用unidrnd函数可以创建一个大小从110之间的随机矩阵,大小为2x5,代码如下: s10 = unidrnd(10,2,5) 如果只需要产生一个10以内的随机数,可以直接使用unidrnd函数,代码如下: s11 = unidrnd(10) 希望以上信息对您有所帮助。 #### 引用[.reference_title] - *1* *2* *3* [MATLAB中的随机数](https://blog.youkuaiyun.com/qq_41686044/article/details/121754225)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^koosearch_v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Z_shsf

来包瓜子嘛,谢谢客官~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值