how can i randomly sample from a matrix and determine the remaining part?
1 次查看(过去 30 天)
显示 更早的评论
i have a matrix (D) having 343 rows and 7 columns and i want to sample randomly the 30% of the data and determine the remaining 70% (no randomly). I wrote this code for randomly sample the 30% but i don't know how determine the rest.
perc =30; %percentual
n = round(343*perc/100); % number of rows associated to 30% of data
c=randperm(length(D),n);
D1=D(c,:) %output matrix
0 个评论
采纳的回答
Bruno Luong
2018-11-9
编辑:Bruno Luong
2018-11-9
D2=D(setdiff(1:end,c),:)
or
b = ~logical(accumarray(c(:),1,[size(D,1) 1]));
D2 = D(b,:);
or
b = true([size(D,1) 1]);
b(c) = false;
D2 = D(b,:);
更多回答(0 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Logical 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!