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

8 visualizaciones (últimos 30 días)
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.

Respuesta aceptada

Bruno Luong
Bruno Luong el 20 de Oct. de 2019
Editada: Bruno Luong el 20 de Oct. de 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 comentarios
Pool
Pool el 4 de Dic. de 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 el 4 de Dic. de 2022
@Pool It's not possible : You can never have unique values on 16 rows and 4 colums with only 2 values.

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Matrices and Arrays en Help Center y File Exchange.

Productos


Versión

R2017b

Community Treasure Hunt

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

Start Hunting!

Translated by