Random sampling and removing data
이전 댓글 표시
Hi,
I have a set of data points = [10 10 0; 10 13 0; 10 16 0;20 10.1 0; 20 13.1 0 ; 20 16.1 0; 30 10.2 0;30 13.2 0; 30 16.2 0;40 10.3 0; 40 13.3 0; 40 16.3 0; 50 13.4 0];
and for every iteration, i want to select a random set of values and for next iteration previously selected set of value should be remove from the datapoints
채택된 답변
추가 답변 (1개)
Mara
2021년 2월 3일
Hey Sooraj,
it is not all clear to me whether you want to choose entire rows/columns of your matrix or completely random sets of numbers. So I want to make this suggestion to choose rows by random indexing and deleting them thereafter.
But if KSSVs solution suffices for your purpose, it should be better as it involves less computation. You might want to initialize the variables before looping, too.
dataset = [10 10 0; 10 13 0; 10 16 0;20 10.1 0; 20 13.1 0 ; 20 16.1 0; 30 10.2 0;30 13.2 0; 30 16.2 0;40 10.3 0; 40 13.3 0; 40 16.3 0; 50 13.4 0];
nr_picks = 3;
for i = 1:nr_picks
random_row_index = randi(size(dataset, 1)); % pick random row index
extracted_row = dataset(random_row_index, :); % extract the entire row
dataset(random_row_index, :) = []; % delete this row from the dataset
end
카테고리
도움말 센터 및 File Exchange에서 Logical에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!