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

2021-03-09 22:07:35 字數 4873 閱讀 2226

1樓:依然特雷西

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),按回車鍵,會得到一列刪除重複資料後的結果。

2樓:匿名使用者

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

a=randperm(10);

b=a(1:5);

aa=a(b);

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

3樓:匿名使用者

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

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

4樓:延靖茹林

用randperm

我給你舉個例子吧:>>

b=1:10b=1

2345

6789

10>>

a=randperm(10)a=1

91083

7526

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

91083

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

5樓:四捨**入

可以參考下面的**:

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

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

randperm(4)

ans=

3 2 1 4

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

6樓:

使用函式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、使用的方法:

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

7樓:

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

randperm(n)產生長度

為n的隨機數列 如:

randperm(4)

ans=

3 2 1 4

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

8樓:匿名使用者

同意2樓的觀點

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

matlab 哪個函式可以從一組資料中隨機抽取一部分出來

9樓:匿名使用者

假設你原來的資料存在變數a中

如果,你想從a中隨機抽取固定n個數

c=randperm(numel(a));

b=a(c(1:n));

b就是從a中隨機抽取的n個數(n應該小於a中元素的總個數)

10樓:釋奧凌茜

1.使用xlsread讀取進matlab

得到矩陣data

2.獲取列數

col= size(data,2);3.

隨機提取一列回資料randcol

=randi(col)

4.求標準差答

std(data(:,randcol ))

11樓:戴爾

matlab裡有現成的函du數 datasample, 呼叫方法:zhi

y = datasample(data,k,dim)例子:dao

data=randn(10,200); % 生成尺寸為10*200的資料回

y = datasample(data,5,1); %從data中隨機抽取5行資料

--------------

參考:頁鏈結答">網頁鏈結

matlab如何把n個數不重複地隨機分為m組

12樓:

用crossvalind函式。具體用法看幫助文件。

indices =crossvalind('kfold', length(a), 10);

13樓:匿名使用者

>> a = randperm(100);

r = reshape(a,10,10)

r =23 84 87 66 77 69 63 70 62 19 91 14 86 21 32 53 65 89 44 92 30 49 28 74 6 76 95 13 40 61 7 50 96 56 34 73 39 31 72 17 41 26 67 43 97 100 42 5 36 12 20 29 94 15 3 59 51 11 58 33 98 93 52 18 60 27 78 80 57 16 90 38 48 35 45 2 55 22 88 81 24 25 71 47 82 10 75 64 83 85 54 1 68 9 37 79 46 8 4 99

matlab中如何實現在資料矩陣中隨機取乙個數,注意是乙個數。解決問題了有補加分

14樓:匿名使用者

a=magic(5);

%a為資料矩陣,你改你的資料即可。

n=numel(a);

a(ceil(rand(1)*n))

15樓:匿名使用者

假設你的矩陣為a

[m,n]=size(a)%得到a的大小

k=m*n;%a中總的元素個數

a=a(ceil(rand()*k))%產生乙個k以內的隨機正整數,取a的第k個數!

16樓:高則寶

隨機x,y然後取出來

matlab 如何篩選一組數中重複的數

17樓:幽蘭書生

例如bai:

x =2     2     6     52     3     2     4

3     4     3     4

4     4     4     5

第一步:du

找到唯一的.

x=unique(x);

x =234

56第二步zhi:查詢相應位dao置

for i=1:length(x)

[m n]=find(x==x(i));

if length(m)>=2

disp(strcat(num2str(x(i)),'重複內',num2str(length(m)),'次','位置為:' ,mat2str([m n])))

endend

結果如容下:

18樓:匿名使用者

a = randint(4,10,[1 20]);

u = unique(a);

m = size(u,1);

id = 1;

for k = 1:m

[ia,ib,ic] = find(u(k)==a);

if sum(ic)>1

r = u(k);

r = [ia ib];

r = sum(ic);

id = id+1;

end;

end;r

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

19樓:匿名使用者

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

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

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

s(i)

20樓:毓興有渠緞

我的建議是先得到你陣列的大小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)

excel如何從一組資料中隨機選擇一組資料

1 電腦開啟excel 要在a列中隨機抽取一組資料。2 在c列中輸入公式 3 輸入公式後,回車後,就會隨機生成乙個資料。4 下拉複製公式,就會隨機生成其他資料。5 a列中更改資料,c列中的公式也會隨機改變資料。如下圖例子,在a1 a10中隨機抽取乙個數字 公式 index a a,randbetwe...

matlab中如何對一組資料進行fft變換後得到頻譜圖

1 直接對其使用來ceil函式,源 可以向上取整 即大於等於給定數bai據的最du小整數。2 使用zhifloor函式可以進行向下取dao整。如圖,將矩陣a中的每個元素取小於等於該元素的最大整數。3 使用fix函式則可以去除小數部分。對於大於0的元素相當於floor,對於小於0的元素相當於ceil。...

excel中如何從一組資料中計算出這組資料中每個資料重複出現

假設你的資料區域為a1 a1000,則求a1重複出現的次數公式為 if countif a 1 a 1000,a1 1,a1 出現次數為 countif a 1 a 1000,a1 次!將公式下拉即可 excel中如何從一組資料中計算出這組資料中每個資料重複出現的次數?假設你的資料區域為a1 a10...