MATLAB中如何产生指定范围的随机数

1、eg:要求产生20个10到15之间的随机数。

 y=10+(15-10)*rand(4,5)    

y =
   13.2688   14.5186   10.9890   12.3996   14.2972
   12.4709   14.4546   10.1527   14.5236   14.0274
   13.8953   11.6708   13.7204   13.0493   12.8836
   13.5752   13.4937   12.5001   13.0883   10.9146
其中:   a、函数rand(x)或者rand(x,y)产生0~1之间均匀分布的随机矩阵
     b、>> format rat %以有理数形式输出
           >> rand(3)
ans =

        319/455       1695/2428       568/4437  
      677/1016      1601/2402      1086/1087  
      1185/2198       971/5451       461/2694  

2、eg:产生16个均值为0.8,方差为0.4的正态分布随机数(即:4阶正态分布矩阵)。

 format short   %恢复默认输出格式
 y=0.8+sqrt(0.4)*randn(4)

y =
    1.2980    0.6030    0.6672    1.2422
    0.2460    0.4395   -0.2745    0.9705
    1.0024    0.1513    1.1843    1.1126
    0.4469    0.2253    0.7255   -0.1380
其中:a、函数randn(x)或者randn(x,y)产生均值为0,方差为1的标准正态分布随机矩阵。
            b、正态分布均值u,方差σ^2,yi=u+σ*xi。

  • 16
    点赞
  • 100
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
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)的方式,其a和b分别为所需范围的下限和上限。例如,如果a和b分别为2和5,可以使用以下代码产生一个大小为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函数可以创建一个大小从1到10之间的随机矩阵,大小为2x5,代码如下: s10 = unidrnd(10,2,5) 如果只需要产生一个10以内的随机数,可以直接使用unidrnd函数,代码如下: s11 = unidrnd(10) 希望以上信息对您有所帮助。 #### 引用[.reference_title] - *1* *2* *3* [MATLAB随机数](https://blog.csdn.net/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 ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值