Matlab中Rand()函數用法


一、理論准備

       matlab函數randn:產生均值為0,方差 σ^2 = 1,標准差σ = 1的正態分布的隨機數或矩陣的函數。

      用法:Y = randn(n),返回一個n*n的隨機項的矩陣。如果n不是個數量,將返回錯誤信息。
      Y = randn(m,n) 或 Y = randn([m n]),
返回一個m*n的隨機項矩陣。

      Y = randn(m,n,p,...) 或 Y = randn([m n p...]),產生隨機數組(感覺就是三維數組,請看如下例子)。

  1: >> rand(1,2,3)
  2: ans(:,:,1) =
  3:    0.445586200710899   0.646313010111265
  4: ans(:,:,2) =
  5:    0.709364830858073   0.754686681982361
  6: ans(:,:,3) =
  7:    0.276025076998578   0.679702676853675

      Y = randn(size(A)),返回一個和A有同樣維數大小的隨機數組。

randn

      s = randn('state'),估計和C++里初始化隨機種子一個意思,隨便了。

二、舉例分析

      產生一個隨機分布的指定均值和方差的矩陣:將randn產生的結果乘以標准差,然后加上期望均值即可。例如,產生均值為0.6,方差為0.1的一個5*5的隨機數方式如下:

  1: x = .6 + sqrt(0.1) * randn(5)

      其他類似函數:rand, randperm, sprand, sprandn

三、拓展

      用matlab隨機產生60個1到365之間的正數 1+fix(365*rand(1,60)),fix就是取整函數。
      用rand函數隨機取100個從-1到1(原來寫成了2)的數x1,x2,...,x = rand(1,100) * 2 - 1。

      逗號表示行,分號表示列。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM