sampling from a matrix

17 次查看(过去 30 天)
Mohamad
Mohamad 2013-12-20
评论: Mohamad 2013-12-21
Hello I am going to sample some columns in a matrix and return the columns that are not selected during the sampling. could you please help me?

采纳的回答

José-Luis
José-Luis 2013-12-20
bla = rand(10);
%Columns you sample:
my_cols = [1 5 7];
%Extract them:
sample = bla(:,my_cols);
nCols = 1:size(bla,2);
no_sample = nCols(~ismember(nCols,my_cols));
no_sample =bla(:,no_sample);

更多回答(1 个)

dpb
dpb 2013-12-20
编辑:dpb 2013-12-20
Sample how? If use randperm, say, as
icol=randperm(size(x,2),N);
to select N random columns from the array x to get the "nonsampled" columns you could instead simply use
inot=randperm(size(x,2),size(x,2)-N);
which is simply picking a random set of the obverse size to not sample--same thing in the end.
Or, if you are using the sampled column values first and then wanting the ones that weren't used both then first select as in the former and the other columns are simply
inot=setdiff([1:size(x,2)],icol);
  1 个评论
Mohamad
Mohamad 2013-12-21
hi dear dpd Thank you very much for the informative comments.

请先登录,再进行评论。

类别

Help CenterFile Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by