关于 matlab:randperm 随机 m×n 矩阵的子集

randperm subset of random m-by-n matrix

如何使用 randperm 选择 m×n 数据矩阵并输出该随机数据的较小子集?

1
newfile = randperm(data(m = 2000, n = 3));  %% save random m-by-n data as newfile

考虑这个例子:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
data = rand(8,6);
m = 4;
n = 2;

%# pick random rows
indX = randperm( size(data,1) );
indX = indX(1:m);

%# pick random columns
indY = randperm( size(data,2) );
indY = indY(1:n);

%# filter data
data2 = data(indX,indY)

请注意,R2011b 为 RANDPERM 引入了更简单的语法,允许您直接编写:

1
2
indX = randperm(size(data,1), m);
indY = randperm(size(data,2), n);