天天看點

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...]),産生随機數組(感覺就是三維數組,請看如下例子)。

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

randn

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

二、舉例分析

      産生一個随機分布的指定均值和方差的矩陣:将randn産生的結果乘以标準差,然後加上期望均值即可。例如,産生均值為0.6,方差為0.1的一個5*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。

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

繼續閱讀