matlab中怎樣隨機從一組資料中取數

2021-03-04 01:50:05 字數 4089 閱讀 8768

1樓:匿名使用者

一句話bai的寫法可以

用:a=[23,44,52,99];

a(ceil(rand*4))

其實沒必要du過於糾zhi結用一句,先抽下標的dao做法回可讀性更好。

關於ceil(rand*4)抽樣的答均勻性,可以用下面語句很簡單地進行驗證:

hist(ceil(rand(1000000,1)*4))

2樓:匿名使用者

(randi(4,1,1)==(1:4))*[23 44 52 99]'

或者a=[23 44 52 99];

a(randi(end,1,1))

matlab如何從一組資料中無重複的隨機選取幾個數

3樓:依然特雷西

1、首bai

先知道matlab中刪除矩陣重複資料du

,可以用到unique函式,數

zhi組的唯一值,在dao

命令列視窗下內help unique,可以看到函式容的具體用法。

2、在命令列視窗中新建一個a=[1 3 4 5 6 6 7 8 9 8]矩陣,裡面有重複資料6,8。

3、輸入unique(a),按回車鍵,可以看到a矩陣重複資料全部刪除了,矩陣元素全部都是唯一值。

4、如果我們輸入unique(b),按回車鍵,會得到一列刪除重複資料後的結果。

4樓:匿名使用者

使用randperm函式。詳細參閱help檔案。

a=randperm(10);

b=a(1:5);

aa=a(b);

那麼aa就是所取出的隨機樣本。

5樓:匿名使用者

temp=randperm(n,m);%從1-n個元素中隨即取出m個元素,m的值由你指定

不過2010版本的不行,2011b才能這樣用這個函式

6樓:延靖茹林

用randperm

我給你舉個例子吧:>>

b=1:10b=1

2345

6789

10>>

a=randperm(10)a=1

91083

7526

4>>b(a(1:5))ans=1

91083

matlab如何在一組陣列中隨機抽取一個數?

7樓:匿名使用者

s=[1 3 5 7 9];%陣列

n=length(s);%陣列長度

i=ceil(rand(1,1)*n)

s(i)

8樓:毓興有渠緞

我的建議是先得到你陣列的大小a,然後產生個從1到a的隨機數,這專樣也能取出

屬來一個數。

clc;

y=[1,8,6,8,4,2,9,2,4,7,3,8,4,2,9,3,4,9,3];

a = size(y,2);

b = randi([1,a])

y(b)

matlab中,怎樣把一組給定的資料隨機排列?

9樓:四舍**入

可以參考下面的**:

x=x(randperm(numel(x)))numel(x)獲得變數長度

randperm(n)產生長度為n的隨機數列 如:

randperm(4)

ans=

3 2 1 4

x(...) 取得x中相應元素產生新數列

10樓:

使用函式randperm()即可實現。

例:a = [7,6,3,9,10];      % 試驗矩陣【用於試驗,矩陣元素為待隨機排列的資料】

randindex_a = randperm(5);  % 生成1到5這幾個數的隨機排列

b = a(randindex_a);       % 隨機排列後的矩陣

每一行**執行結果:

>>a = [7,6,3,9,10]

a = 7 6 3 9 10

>>randindex_a = randperm(5)randindex_a =1 4 5 3 2>> b = a(randindex_a)b =7 9 10 3 6

擴充套件資料函式randperm()

1、語法格式:r = randperm(n)2、函式功能:將數字1:n進行隨機排列,排列結果儲存在行向量內3、例:輸入 randperm(3)

輸出 3 1 2

4、使用的方法:

利用索引值的隨機排列,生成所有元素的隨機排列

11樓:

x=x(randperm(numel(x)))numel(x)獲得變數長度

randperm(n)產生長度

為n的隨機數列 如:

randperm(4)

ans=

3 2 1 4

x(...) 取得x中相應元素產生新數列

12樓:匿名使用者

同意2樓的觀點

就是這樣,當然你也可以使用rand等生成其他隨機數

matlab從一維陣列中隨機抽取一個數,並且返回這個數的位置

13樓:木生子識時務

我的建議是bai先得到你陣列du的大小zhia,然後產生個從dao 1 到 a的隨機數,這樣專

也能取出來一個數。

屬clc;

y=[1,8,6,8,4,2,9,2,4,7,3,8,4,2,9,3,4,9,3];

a = size(y,2);

b = randi([1,a])

y(b)

14樓:匿名使用者

t=rand(length(a),1)*(length(a)+1);

a(t)

在matlab中如何在一個陣列中隨機選取n個數?

15樓:匿名使用者

b=zeros(1,5);

for i=1:5

b(i)=a(int32(1+(length(a)-1)*rand));

endb

16樓:匿名使用者

你只需要把陣列的序號挑出來然後隨機出現就可以了

給定一個陣列,如何讓matlab生成一個這個陣列中的一個隨機數?

17樓:匿名使用者

x=[10 20 30];

x(randi(length(x)));

其中randi(length(x))

生成從1~bai(x的長度)這幾個自然

du數中隨即zhi的dao一個數

讓這個數作為下回標,就可以從答x中隨即選取一個數x(randi(length(x)))

18樓:匿名使用者

i = 0; while i == 0 i = 10 * randint(1,1,4); %%隨機出

bai現du

zhi0 10 20 30, 出現

0和非dao0的概版率均等權

19樓:思孕

x=[10 20 30];

x(ceil(rand(1)*3))

20樓:鈕秀英御卿

你給的例子中,**和條件對應不起來。

滿足你需要的**如下:

a=5;b=2;d0=1;d=2; % 常數定義版n=10; % 要生成的隨機數個數權x = 1:1:5;

for j=1:length(x)

sigma = d0 + d * x(j); % 隨機數方差

ex = normrnd(0, sigma, n, 1); % 隨機數

y(:,j)= a + b * x(j) + ex;

enddisp(y) % 顯示結果

如有問題可繼續追問,滿意的話希望採納。

Excel中如何從一組資料中隨機提取資料

1.在單元格e1輸入公式 offset a 1,randbetween 0,9 然後回車 即按 enter 鍵 你會發現單元格e1為隨機從a1 a10提取的一內個數。2.將滑鼠放到容單元格e1的右下角,等到滑鼠標誌變為小十字,按下滑鼠左鍵然後往下拖,你會發現拖出的資料都為隨機從a1 a10提取的一個...

excel怎麼從一組資料中隨機抽取不重複的數

假設從a1到a100中隨機取5 個不重複數,b2公式 if row a1 1,index a 1 a 100,randbetween 1,100 index a 1 a 100,all if countif b 1 b1,a 1 a 100 0,row 1 100 randbetween 1,101...

excel中,0數隨機組合數形成一組數,怎麼完成

先看結果 步驟 1 在d2鍵入公式 rand 公式下拉至專d11,產生10個隨機數列屬 2 在e2鍵入公式 rank d2,d 2 d 11,1 1公式下拉至e11,產生0 9隨機數列,使用rank 函式是關鍵,保證得到的數列每個不重複 3 在f2鍵入公式 if e2 0,e11,e2 取萬位數字,...