sampling from a matrix
17 ビュー (過去 30 日間)
古いコメントを表示
採用された回答
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
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);
参考
カテゴリ
Help Center および File Exchange で Creating and Concatenating Matrices についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!