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

2021-07-01 01:37:04 字數 5756 閱讀 5292

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中的複數和角度,MATLAB中的複數和角度

45度時,實軸為1,虛bai軸為i,則 angle 1 i 180 pi ans 45 可以du看出,angle計算出來的zhi是弧度,乘以180 pi化為角 dao度。angle i 180 pi ans 90 直角內時,實軸為0 abs 1 i ans 1.4142 1.4142即根號容2,模 ...

matlab中是什麼意思,Matlab中的 什麼意思

是匿名函式的意思。匿名函式就像傳統程式語言中的行內函數,在單個matlab語句中定義。它由單個matlab表示式和任意數量的輸入和輸出引數組成。可以在matlab命令列或函式或指令碼中定義一個匿名函式。這樣就可以建立簡單的函式,而無需為它們建立一個檔案。從表示式建立匿名函式的語法是 f arglis...

matlab畫平面,matlab中如何利用法向量畫平面

y 5 0.25 5 z y y,z meshgrid y,z n 0.5 y 0.8 z mesh n,y,z surf n,y,z 不知道是不是你要的效果,另如果a不等於0,是四維的,圖回像是畫不出來答的 a 0b 0.5 c 0.8 x,y,z meshgrid 3 0.2 3 f x,y,z...