Generate a random matrix without repeating any value in row and column.

7 visualizzazioni (ultimi 30 giorni)
How can I generate a random matrix without repeating any value in row and column. form "randi" function.
If we generate a matrix.
then the answer may be like this
randi(4,4)
ans =
4 2 3 1
3 4 1 2
1 3 2 4
2 1 4 3
this is just for example not generated matrix.
I have used the "unique" function. by this i can control the repeatition in row only.

Risposta accettata

Bruno Luong
Bruno Luong il 20 Ott 2019
Modificato: Bruno Luong il 20 Ott 2019
A=mod((0:3)+(0:3)',4)+1;
R=A(randperm(end),randperm(end))
R = 4×4
1 3 4 2 2 4 1 3 3 1 2 4 4 2 3 1
  2 Commenti
Pool
Pool il 4 Dic 2022
Is it possible to make this into a 16x4 matrix? with fixed, non-random values?
A=mod((0:3)+(0:15)',2)+1;
r=A(randperm(end),randperm(end))
s=zeros(16,4);
% t=zeros(16,4);
r(r==2)=5;
This does not make unqieu arrays though
Bruno Luong
Bruno Luong il 4 Dic 2022
@Pool It's not possible : You can never have unique values on 16 rows and 4 colums with only 2 values.

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Matrices and Arrays in Help Center e File Exchange

Prodotti


Release

R2017b

Community Treasure Hunt

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

Start Hunting!

Translated by