rank
函式幾種常用的表示式:
x = rand 返回乙個在區間 (0,1) 內均勻分布的隨機數。
>> x = rand
x =0.8147
x = rand(n) 返回乙個 n×n 的隨機數矩陣。
r =
rand(5
)r =
5×50.8147
0.0975
0.1576
0.1419
0.6557
0.9058
0.2785
0.9706
0.4218
0.0357
0.1270
0.5469
0.9572
0.9157
0.8491
0.9134
0.9575
0.4854
0.7922
0.9340
0.6324
0.9649
0.8003
0.9595
0.6787
x = rand(sz1,...,szn) 返回由隨機數組成的 sz1×...×szn 陣列,其中 sz1,...,szn 指示每個維度的大小。
例如:rand(3,4)
返回乙個 3×4 的矩陣。
>> x =
rand(3
,4)x =
0.9058
0.6324
0.5469
0.1576
0.1270
0.0975
0.9575
0.9706
0.9134
0.2785
0.9649
0.9572
一般來說,可以使用公式:
r = a +
(b-a).*
rand
(n,1
) 生成區間 (a,b) 內的 n 個隨機數。
例:生成乙個由區間 (-5,5) 內均勻分布的數字組成的 10×1 列向量。
r =-5
+(5+
5)*rand(10
,1)r =
10×1
3.1472
4.0579
-3.7301
4.1338
1.3236
-4.0246
-2.2150
0.4688
4.5751
4.6489
可以看到,上面我們生成的都是小數,而不是整數,那麼我們也可以使用randi
(注意不是rand
)命令來生成指定區間的整數。
例:使用 randi 函式(而不是 rand)生成在 10 和 50 之間均勻分布的 5 個隨機整數。
r =
randi([
1050],
1,5)
r =1×5
4347
1547
35
例:生成乙個實部和虛部位於區間 (0,1) 內的隨機複數。
a = rand +
1i*rand
a =0.8147
+0.9058i
隨機數生成器–類似例:儲存隨機數生成器的當前狀態並建立乙個由隨機數組成的 1×5 向量。c
語言中的偽隨機數種子,我們讓計算機產生的隨機數其實並不是那麼的「隨機」。當初始的隨機數種子是確定的時候,由它生成的一系列的數都是確定的,所以我們又將此稱為偽隨機數。
只有我們不斷重置當前隨機數種子的時候(
c
語言中把時間當成隨機數種子),我們由它產生的一系列數字才可能看起來是隨機的。既然這樣我們也可以儲存當前的隨機數種子,這樣做看起來雖然沒有任何意義,但不如這樣想,當我們想要的資料是通過某個隨機數種子生存,下次我們還想要一模一樣的資料的時候,我們就無從下手,唯一的做法是儲存當前的隨機數種子,下次繼續呼叫我們儲存的隨機數種子即可。
s = rng;
r =rand(1
,5)r =
1×50.8147
0.9058
0.1270
0.9134
0.6324
``將隨機數生成器的狀態恢復為 s,然後建立乙個由隨機數組成的新 1×5 向量。值與之前相同。
```cpp
rng(s)
;r1 =
rand(1
,5)r1 =
1×50.8147
0.9058
0.1270
0.9134
0.6324
例:建立乙個由隨機數組成的 3×2×3 陣列。
>> x =
rand(3
,2,3
)x(:
,:,1
)=0.1869
0.6463
0.4898
0.7094
0.4456
0.7547x(
:,:,
2)=0.2760
0.1626
0.6797
0.1190
0.6551
0.4984x(
:,:,
3)=0.9597
0.2238
0.3404
0.7513
0.5853
0.2551
例:建立乙個由其元素為單精度值的隨機數組成的 1×4 向量。
r =
rand(1
,4,'single'
)r =
1x4 single row vector
0.8147
0.9058
0.1270
0.9134
class
(r)ans =
'single'
matlab生成隨機數函式
1.matlab 函式rand 產生在區間 0,1 的均勻隨機數,它是平均分布在 0,1 之間。乙個稱為 seed 的值則是用來控制產生隨機數的次數。均勻隨機數函式的語法為 rand n rand m,n 其結果分別產生一矩陣含n n個隨機數和一矩陣含m n的隨機數。注意每次產生隨機數的值都不會一樣...
matlab隨機數的生成
參考 函式含義例項 特例randi 均勻分布的偽隨機整數 i表示integer randi統一左值為1,且可以取到右端點 s1 randi 5,3,3 注 矩陣的尺寸是3 3 元素服從 1,5 的均勻分布 s2 randi 5,6,6,3 注 生成三個矩陣,每個矩陣的尺寸是6 6 元素服從 1,5 ...
MATLAB隨機數生成器
1 rand 生成 0,1 區間上均勻分布的隨機數 基本語法 rand m,n,p 生成排列成m n p 多維向量的隨機數。如果只寫m,則生成m m矩陣 如果引數為 m,n 可以省略方括號。2 randn 生成服從標準正太分布 均值為0,方差為1 的隨機數 基本語法 randn m,n,p,解釋同1...