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

7 Ansichten (letzte 30 Tage)
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.

Akzeptierte Antwort

Bruno Luong
Bruno Luong am 20 Okt. 2019
Bearbeitet: Bruno Luong am 20 Okt. 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 Kommentare
Pool
Pool am 4 Dez. 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 am 4 Dez. 2022
@Pool It's not possible : You can never have unique values on 16 rows and 4 colums with only 2 values.

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Mehr zu Matrices and Arrays finden Sie in Help Center und File Exchange

Produkte


Version

R2017b

Community Treasure Hunt

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

Start Hunting!

Translated by