MATLAB中如何產生指定範圍的隨機數

塗塗發表於2017-02-18

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。

相關文章