功能:matlab中通過
rand函式產生的是介於0到1(不包括1)之間的
偽隨機數。更多信息請見本詞條參考資料或者在matlab命令視窗輸入help rand獲得幫助信息。
用法:
1.rand(n)表示產生一個n×n的
隨機矩陣,n必須是
整數,否則會報錯。
2.rand(m,n)或rand([m n])產生m×n
均勻分布的隨機矩陣,元素取值在0.0~1.0。
3.X=rand(1,10);產生10個0~1的隨機數。
4.Y = rand(size(A))產生一個與A同樣大小的數組。
5.產生介於a到b之間的偽隨機數。
6.rand('
state',0)表示恢復到最初產生隨機數的狀態。
7.rand('state',sum(100*clock))定義隨時間變化的初值。
示例:
1. N=rand(3)產生一個三行三列的隨機矩陣:
N =
0.4103 0.3529 0.1389
0.8936 0.8132 0.2028
0.0579 0.0099 0.1987
2.A=rand(2,3)產生一個二行三列的隨機矩陣:
A =

rand
0.9218 0.1763 0.9355
0.7382 0.4057 0.9169
3.與選項2相同。
4. A=[1,2,3;4,5,6;7,8,9]
A =
1 2 3
4 5 6
7 8 9
rand(size(A))
ans =
0.1389 0.6038 0.0153
0.2028 0.2722 0.7468
0.1987 0.1988 0.4451
5.a = 10; b = 50;
x = a + (b-a) * rand(5)
x =
18.1106 10.6110 26.7460 43.5247 30.1125
17.9489 39.8714 43.8489 10.7856 38.3789
34.1517 27.8039 31.0061 37.2511 27.1557
20.8875 47.2726 18.1059 25.1792 22.1847
17.9526 28.6398 36.8855 43.2718 17.5861
6.首先輸入rand('state',0)。再利用n次rand隨機產生n個數組,再重新輸入rand('state',0)。再次產生n個數 組,與之前的n個數組相同,順序也相同。
7.為了使每次執行
rand函式時產生和之前不相同的一組偽隨機數,通常需要初始化
隨機數種子。方法很多, 常見的一種是在寫m檔案時,在程式的開頭寫:
rand('state',sum(100*clock)) %定義一個隨時間變化的初值。
示例:
rand('state',sum(100*clock));
X=rand(2,5);
Y=rand(2,5);