1樓:草是一顆植物
即產生隨機排列:
p = randperm(n) returns
a random permutation of the integers 1:n.
所以要產生[16 31]的隨機排列,可以執行:
randperm(31-16+1)+15
隨機數是專門的隨機試驗的結果。在統計學的不同技術中需要使用隨機數,比如在從統計總體中抽取有代表性的樣本的時候,或者在將實驗動物分配到不同的試驗組的過程中,或者在進行蒙特卡羅模擬法計算的時候等等。
在統計學的不同技術中需要使用隨機數,比如在從統計總體中抽取有代表性的樣本的時候,或者在將實驗動物分配到不同的試驗組的過程中,或者在進行蒙特卡羅模擬法計算的時候等等。
產生隨機數有多種不同的方法。這些方法被稱為隨機數發生器。隨機數最重要的特性是:它所產生的後面的那個數與前面的那個數毫無關係。
真正的隨機數是使用物理現象產生的:比如擲錢幣、骰子、轉輪、使用電子元件的噪音、核裂變等等。這樣的隨機數發生器叫做物理性隨機數發生器,它們的缺點是技術要求比較高。
在實際應用中往往使用偽隨機數就足夠了。這些數列是「似乎」隨機的數,實際上它們是通過乙個固定的、可以重複的計算方法產生的。計算機或計算器產生的隨機數有很長的週期性。
matlab如何產生不重複的隨機數啊?
2樓:匿名使用者
整數吧?如果是浮點數,直接用rand就行,重複的概率極低。
樓上的兩個回答,乙個生成的是浮點數,另乙個不能保證抽樣的均勻性(從結果可以看到,資料集中在10-30之間)。
生成不重複整數的問題其實是乙個不放回隨機抽樣的問題,可以使用下面的這個函式:
function s = sampling(r, n)
% 選擇抽樣,r為記錄集合,n為抽取的樣本數
% 演算法參考:d. e. knuth, taocp, vol.2, pp142,稍有改動
% 編寫函式時用的測試資料
if ~nargin
r = 1 : 8;
n = 4;
endn = length(r);
t = 0; % 處理過的記錄總數
m = 0; % 已選得的記錄數
while 1
u = rand;
if (n-t)*u < n-m
m = m + 1;
s(m) = r(t+1);
% 若已抽取到足夠的記錄,則演算法終止
if m >= n, break, end
endt = t + 1;
end呼叫例項:
>> sampling(1:100,8)
ans =
8 21 24 31 42 85 91 92
3樓:匿名使用者
rand(1,8)*100
ans =
columns 1 through 7
81.4724 90.5792 12.6987 91.3376 63.2359 9.7540 27.8498
column 8
54.6882
4樓:喬心雨
x=randperm(100);x=x(1:8)
5樓:流星日食
cl**=20;
a=ceil(rand(1,20)*100);
[b, m, n]=unique(a);
d=b(1:8)
執行結果
d =12 18 19 20 21 23 24 26
請教各位,如何使用matlab程式生成100個1~10範圍內的不重複隨機排列?初使matlab,望指點。
6樓:安菲爾德騎士
功能:matlab中通過rand函式du產生rand產生的是zhi0到1(不包括1)的偽隨機
dao數。
用法:回
rand(m,n)產生答m×n均勻分布的隨機矩陣,元素取值在0.0~1.0。
x=rand(1,10);產生10個0~1的隨機數。
示例:a=rand(2,3)產生乙個二行三列的隨機矩陣:
a =0.9218 0.1763 0.93550.7382 0.4057 0.9169
生成100個1~10範圍x=10*rand(1,100);
matlab在一定範圍內生成隨機數
7樓:匿名使用者
rand([m n])產生 m行,n列(0,1)範圍內均勻分布的偽隨機數
如果要求在區間(a,b)內產生均勻分布的隨機數
r = a + (b-a).*rand([m n]));
怎樣用MATLAB生成深度影象(即用顏色深淺表示z座標)
a imread mydata.ppm minv min min a ppm讀的資料都是 抄uint8,也就是 0,255 不過為了讓這段bai 更通du用一些,我特意進行了這樣的zhi處理。row col v find a minv 1 result col row v minv 1 最終結dao...
在matlab程式設計中,如何生成如下圖的二維座標矩陣
1 普通的數值矩陣的元素只能是乙個數,不可能是這樣的數對。要儲存這樣的數對,一般採用cell陣列,例如 y,x meshgrid 1 4 c arrayfun x,y x,y x,y,uniformoutput false c 1x2 double 1x2 double 1x2 double 1x2...
請問,在函式中,某一確定區間內,極小值與最小值,極大值與最大值,有什麼區別嗎
區別在於,最大值和最小值,是在這個函式定義域上,值域的最大取值和最小取值 極大值和極小值,是在這個函式定義域上的某個子集,值域的最大取值和最小取值 換言之,定義域可以劃分成多個區間,來考察其值域的範圍,即是極大值和極小值 最小值是極小值,但極小值不一定是最小值 即最小值是幾個極小值中最小的 我也是搜...