Select X, Y coordinates randomly but only do each pair 5 times

조회 수: 3 (최근 30일)
HumbleCoder
HumbleCoder 2023년 3월 9일
답변: Voss 2023년 3월 9일
I have a code that selects an X, Y coordinate from a list of numbers, maintains it for 5 trials, and then moves to the next in sequential order (e.g. 3, 15 to -3, 15). I now want the code to randomly select a coordinate pair each trial but only test each location 5 times at the end of testing. Any suggestion for how I can do this?
X_vector = [3; -3; -9; -15; -21; -15; -9; -3; 3; 3; -3; -9; -15; -21; -21; -15; -9; -3; 3; 3; -3; -9; -15; -21; -15; -9; -3; 3;];
Y_vector = [15; 15; 15; 15; 9; 9; 9; 9; 9; 3; 3; 3; 3; 3; -3; -3; -3; -3; -3; -9; -9; -9; -9; -9; -15; -15; -15; -15;];
for k = 1 : numel(X_vector)
for n = 1 : 5
x = X_vector(k);
y = Y_vector(k);
% Now use x and y in some way.
end
end

채택된 답변

Voss
Voss 2023년 3월 9일
X_vector = [3; -3; -9; -15; -21; -15; -9; -3; 3; 3; -3; -9; -15; -21; -21; -15; -9; -3; 3; 3; -3; -9; -15; -21; -15; -9; -3; 3;];
Y_vector = [15; 15; 15; 15; 9; 9; 9; 9; 9; 3; 3; 3; 3; 3; -3; -3; -3; -3; -3; -9; -9; -9; -9; -9; -15; -15; -15; -15;];
n_trials = 5;
idx = repmat(1:numel(X_vector),1,n_trials);
idx = idx(randperm(numel(idx)))
idx = 1×140
20 23 12 19 2 18 16 22 3 1 14 2 1 16 8 18 22 22 17 7 11 20 26 4 21 19 4 6 13 12
for k = 1 : numel(idx)
x = X_vector(idx(k));
y = Y_vector(idx(k));
% Now use x and y in some way.
end

추가 답변 (0개)

카테고리

Help CenterFile Exchange에서 Get Started with MATLAB에 대해 자세히 알아보기

태그

제품


릴리스

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by