随机m-by-n矩阵的randperm子集

G G*_* Gr 0 random matlab matrix

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

newfile = randperm(data(m = 2000, n = 3));  %% save random m-by-n data as newfile
Run Code Online (Sandbox Code Playgroud)

Amr*_*mro 5

考虑这个例子:

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)
Run Code Online (Sandbox Code Playgroud)

需要注意的是R2011b介绍了一个更简单的语法RANDPERM,让你直接写:

indX = randperm(size(data,1), m);
indY = randperm(size(data,2), n);
Run Code Online (Sandbox Code Playgroud)