matlab如何提取矩陣中的任意行(列)資料?性感的小麵包2020-11-19 14:15:44

randsample函式:首先需要介紹一下需要用到的函式:randsample函式的使用方法。程式碼如下:A=randsample(n,m,true/false) 。一般使用格式就是這樣。

matlab如何提取矩陣中的任意行(列)資料?

當括號後面的最後內容設定為ture條件,那麼你提取資料的時候,一般抽取的資料會一直從原始資料中抽取。但是如果false條件,提取資料的時候,每次提取之後,再次提取資料會在那些資料之外的資料中進行提取。

matlab如何提取矩陣中的任意行(列)資料?

使用方法:A=randsample(n,m,true/false),這裡把n=8,m=3,條件設定為true。程式碼如下:A=randsample(8,3,true)。這裡需要注意的是隻是有可能會有重複的資料。這裡的8代表從1-8裡面取數字。3代表資料裡面取三個數。

matlab如何提取矩陣中的任意行(列)資料?

當你把條件引數改為false的時候,是絕對不會出現重複的資料的,這裡進行一下測試。使用該程式碼:A=randsample(8,3,false)。這裡做了多次的測試,是不會有重複資料的。

matlab如何提取矩陣中的任意行(列)資料?

然後寫程式碼:先隨機一個隨機陣列B=rand(8,8)。然後輸入程式碼:B1=B(A,:),結果如圖所示即隨機抽取行資料。

matlab如何提取矩陣中的任意行(列)資料?

如果你的程式碼寫成:B1=B(:,A),輸出的結果即為隨機的某幾列資料。

matlab如何提取矩陣中的任意行(列)資料?