Ho una riga con i numeri 1:n
. Sto cercando di aggiungere una seconda fila anche con i numeri 1:n
ma questi dovrebbero essere in un ordine casuale, pur rispettando il seguente:Generare più sequenze di numeri con valori univoci in ciascun indice
- Nessun posizioni hanno lo stesso numero in entrambe le righe
- Nessuna combinazione di numeri si verifica due volte
ad esempio, nel seguente
Row 1: 1 2 3 4 5 6 7 ...
Row 2: 3 6 15 8 13 12 7 ...
il numero 7 avviene nella stessa posizione in entrambe le righe 1 e 2 (vale a dire posizione 7; in tal modo non soddisfano regola 1)
mentre nella seguente
Row 1: 1 2 3 4 5 6 7 ...
Row 2: 3 7 15 8 13 12 2 ...
la combinazione di 2 + 7 appare due volte (nelle posizioni 2 e 7, in tal modo non rispondenti regola 2).
Sarebbe forse possibile, ma inutilmente dispendioso in termini di tempo, eseguire questa operazione manualmente (almeno fino a un numero ragionevole), ma in MATLAB deve esserci una soluzione piuttosto elegante.
Dato che dicono, 10 persone, saresti felice se tre di loro fossero in un ciclo separato dal resto? per esempio. '1-> 2'' 2-> 3', '3-> 1'. Se preferisci vietare tali divisioni nel gruppo, ho descritto una soluzione semplice nella mia risposta. –