matlab中rand和randn分別是什麼函式

時間 2021-07-01 01:36:34

1樓:子衿悠你心

在matlab中,rand是0-1的均勻隨機分佈,而randn是均值為0方差為1的正態分佈。

舉個例子:x = rand 產生一個在(0,1)區間內的隨機數。

x = rand(n)或x = randn(n)產生一個n*n的隨機變數矩陣。

x = rand(m,n)或x = randn(m,n)產生一個m*n的隨機變數矩陣。

可以通過查閱matlab中的help來得到rand和randn更詳細的用法。

2樓:文件類共創空間

rand是0-1的均勻分佈,randn是均值為0方差為1的正態分佈;

rand(n)或randn(n)生成n*n的隨機數矩陣。

rand(n,m)或randn(m,n)生成m*n的隨機數矩陣。

3樓:橙子小可樂樂

1,rand 生成均勻分佈的偽隨機數。分佈在(0~1)之間

主要語法:rand(m,n)生成m行n列的均勻分佈的偽隨機數

rand(m,n,'double')生成指定精度的均勻分佈的偽隨機數,引數還可以

是'single'

rand(randstream,m,n)利用指定的randstream(我理解為隨機種子)生成偽

隨機數2,randn 生成標準正態分佈的偽隨機數(均值為0,方差為1)

主要語法:和上面一樣

3, randi 生成均勻分佈的偽隨機整數

主要語法:randi(imax)在開區間(0,imax)生成均勻分佈的偽隨機整數

randi(imax,m,n)在開區間(0,imax)生成mxn型隨機矩陣

r = randi([imin,imax],m,n)在開區間(imin,imax)生成mxn型隨機矩陣

4樓:憤進青年

rand是0-1隨機的

randn是正態分佈

採納哦 親

5樓:闊哥的寶貝

我沒有辦法明確回答您的問題,您的問題闡述的不清楚。

6樓:法瓊音

matlab裡的rand函式和randn函式都是隨機數生成函式。

rand函式,生成區間(0,1)上均勻分佈的隨機矩陣。rand函式格式:

r=rand(m,n) % 生成m行,n列服從均勻分佈(0,1)的隨機矩陣

randn函式,生成標準正態分佈n(0,1)的隨機矩陣。randn函式格式:

r=randn(m,n) % 生成m行,n列服從標準正態分佈n(0,1)的隨機矩陣

matlab中rand函式的用途。

7樓:小丁創業

matlab中rand函式的用途是:matlab rand函式能產[01]間隨機數,由種子遞推出來,而種子在程式初始時候都一樣。例如和時間相關的隨機數,如rand('state',sum(100*clock))。

rand函式不是真正的隨機數生成器,而srand()會設定供rand()使用的隨機數種子。如果在第一次呼叫rand()之前沒有呼叫srand(),那麼系統會為程式設計師自動呼叫srand()。

而使用同種子相同的數呼叫 rand()會導致相同的隨機數序列被生成。

8樓:懂點工程也要懂點生活

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到2的數x1,x2,...,x = rand(1,100) * 2 - 1。

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

四、參考資料:

9樓:楊柳風

matlabrand函式能產[01]間隨機數,偽隨機數由種遞推種程式初始候都試著產間相關隨機數rand('state',sum(100*clock))

rand函式不是真正的隨機數生成器,而srand()會設定供rand()使用的隨機數種子。如果你在第一次呼叫rand()之前沒有呼叫srand(),那麼系統會為你自動呼叫srand()。而使用同種子相同的數呼叫 rand()會導致相同的隨機數序列被生成。

10樓:打怪練級

matlab中rand這個函式能產生[0,1]之間的隨機數,這個是偽隨機數,由種子遞推出來,而種子在程式初始時候都一樣。你可以試著產生和時間相關的隨機數,如rand('state',sum(100*clock))。

11樓:匿名使用者

產生區間(0.1)均勻分佈的隨機數

matlab rand函式

12樓:fly勇敢的心

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到2的數x1,x2,...,x = rand(1,100) * 2 - 1。

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

13樓:來自肖帝巖單純的海雀

rand(n,m)輸出的是n×m的一個矩陣,數值為0~1的均勻分佈,randn的用法和rand的用法一樣,但是是服從高斯分佈的

14樓:匿名使用者

rand(m),輸出mxm個 0,1區間內均勻分佈的隨機數到mxm的矩陣

rand(m,n),輸出mxn個 0,1區間內均勻分佈的隨機數mxn的矩陣

15樓:羊舌平春醜容

matlab

中rand()函式是產生在(0,1)區間的隨機數。

由你的語句中引數的具體值,你可以知道init的區間是多少。

16樓:獨令美檀愫

matlab中rand這個函式能產生[0,1]之間的隨機數,這個是偽隨機數,由種子遞推出來,而種子在程式初始時候都一樣。你可以試著產生和時間相關的隨機數,如rand('state',sum(100*clock))。

matlab中x=rand(1,8)是什麼意思?

17樓:開心地的春天

一、理論準備

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。

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

matlab中mesh x 和mesh(x,y,z)的區別

mesh z 是以x 1 size z y 1 size z 作為平面座標繪製曲面 mesh x,y,z 是以x,y的值作為平面座標區間繪製曲面。用mesh畫三維圖,先要meshgrid,就是將xoy平面用你定義的x,y向量網格化,之後對每一個得到的點求其對應的函式值,最後用mesh將函式影象做出來...

在matlab中求極限,在Matlab中 求極限

3 syms a x limit 1 a x 2 x x,inf ans exp 2 a 4 syms x y z x.2 y.2 exp x.2 y.2 x y dxy diff diff z,x y 5 syms x int exp x.2 2 0,1 ans 2 1 2 pi 1 2 erf ...

matlab怎麼呼叫m檔案,matlab中一個m檔案怎麼呼叫另一個m檔案的函式

用任何方式建立都行,包括記事本,或者是matlab自帶的編譯器,然後將matlab工作目錄切換到檔案所在目錄,直接輸入檔名執行。或者在任何目錄下輸入該檔案的完全路徑。m檔案有兩種格式,一種叫做script,就是將一系列的命令寫成一個檔案。執行這種檔案相當於一次性執行了很多條命令 所有執行過程中的資料...