Effacer les filtres
Effacer les filtres

How to create a equally distributed batting order for little league baseball team

2 vues (au cours des 30 derniers jours)
I am trying to create a batting order for my little league team. I have 10 players. I am trying to create a batting order for the ten games where everyone will bat from 1 to 10 in the order. I have one solution where I just move everyone down one spot from the order in the first game, but I am trying to find a way to do this where the kids are not always following the same kids. Mixing it up where they are following different people.

Réponse acceptée

James Tursa
James Tursa le 6 Nov 2021
Modifié(e) : James Tursa le 7 Nov 2021
Start with a simple pattern that works, and then randperm both the rows and columns. E.g.,
B = zeros(10);
for k=1:10 % start with a simple pattern that works
B(k,:) = mod(k-1:k+8,10) + 1;
end
B = B(randperm(10),randperm(10)); % permute the rows and columns
Sample run:
>> batting_order
>> B
B =
4 6 2 10 7 3 8 5 9 1
3 5 1 9 6 2 7 4 8 10
10 2 8 6 3 9 4 1 5 7
6 8 4 2 9 5 10 7 1 3
5 7 3 1 8 4 9 6 10 2
7 9 5 3 10 6 1 8 2 4
2 4 10 8 5 1 6 3 7 9
1 3 9 7 4 10 5 2 6 8
8 10 6 4 1 7 2 9 3 5
9 1 7 5 2 8 3 10 4 6

Plus de réponses (2)

Sulaymon Eshkabilov
Sulaymon Eshkabilov le 5 Nov 2021
Use randperm() to generate the orders, e.g.:
ORDER = randperm(10,10)
ORDER = 1×10
3 5 2 6 4 1 8 9 10 7
  1 commentaire
Jason Burke
Jason Burke le 5 Nov 2021
Thanks, but I do not see how I can use randperm 10 times and get a distribution where each number is in spots 1 to 10 only once.

Connectez-vous pour commenter.


Sulaymon Eshkabilov
Sulaymon Eshkabilov le 5 Nov 2021
Modifié(e) : Sulaymon Eshkabilov le 5 Nov 2021
Here is how it can be generated for 10 times within a loop:
for ii=1:10
A(ii,:) =randperm(10, 10);
end
  1 commentaire
Jason Burke
Jason Burke le 5 Nov 2021
Modifié(e) : Jason Burke le 5 Nov 2021
I understand how to run the function 10 times, but I am looking to find a way that each number 1 to 10 lands in each order only once.
I am looking to not get something like below
1, 3, 5, 7, 9, 2, 4, 6, 8, 10
2, 1, 5, 3, 6, 7, 4, 10, 9, 8
I am trying to find a way so each number (1 to 10) lands in each spot (first to tenth) only once.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Video games dans Help Center et File Exchange

Produits


Version

R2019b

Community Treasure Hunt

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

Start Hunting!

Translated by