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

1 vue (au cours des 30 derniers jours)
HumbleCoder
HumbleCoder le 9 Mar 2023
Réponse apportée : Voss le 9 Mar 2023
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

Réponse acceptée

Voss
Voss le 9 Mar 2023
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

Plus de réponses (0)

Catégories

En savoir plus sur Get Started with MATLAB dans Help Center et File Exchange

Tags

Produits


Version

R2019a

Community Treasure Hunt

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

Start Hunting!

Translated by