2016-06-22 4 views
0

Я использую функцию randsample в Matlab для выборки точки данных следующим образом:Указатель положения randsample в Matlab

points = randi(100,1,10); 
weighting_vector = rand(1,10); 
normalized_weighting_vector = weighting_vector ./ sum(weighting_vector); 
point = randsample(points,1,'true',normalized_weighting_vector); 

Как я могу получить индекс выбранной точки?

Например, если точки = [1,2,2,3,4,4,4,8,9,3] и point = 4, я хотел бы знать положение индекса выбранного значения, которое может либо 5, 6 или 7.

ответ

2

Вместо того чтобы использовать randsample на данных, случайным образом выборку индексы, а затем преобразовать эти показатели в их соответствующие значения в points.

points = [1,2,2,3,4,4,4,8,9,3]; 

% Randomly choose N indices from the possible index values for points 
index = randsample(1:numel(points), 1, true); 

% Get the point corresponding to these indices 
point = points(index) 
Смежные вопросы