Matlab - 获取子矩阵

时间:2017-01-13 23:39:02

标签: matlab

好的,我使用以下代码来混淆名为MxN的{​​{1}}矩阵的行:

data

到目前为止,我现在需要的是保留第一行newData = data(randperm(size(data, 1)), :); 行。我当然可以这样做:

K

但我试图在一行中做这件事(只是出于好奇心)。我试过的是:

newData = data(randperm(size(data, 1)), :);
newData = newData(1:K, :);
好吧,它显然失败了。我知道这不重要,可能是一个愚蠢的问题,但有人知道在一行中做到这一点的方法吗?

1 个答案:

答案 0 :(得分:1)

您随机排列矩阵,然后选择前K行。相反,只需选择K随机行:

newData = data(randperm(size(data, 1), K), :);

randperm的第二个参数表示从K中选择1:size(data, 1)值。