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?

 Réponse acceptée

José-Luis
José-Luis le 20 Déc 2013

0 votes

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);

Plus de réponses (1)

dpb
dpb le 20 Déc 2013
Modifié(e) : dpb le 20 Déc 2013

0 votes

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 commentaire

Mohamad
Mohamad le 21 Déc 2013
hi dear dpd Thank you very much for the informative comments.

Connectez-vous pour commenter.

Catégories

Community Treasure Hunt

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

Start Hunting!

Translated by