Matlab - Generar matriz de números aleatorios sin repetir

 
Vista:

Generar matriz de números aleatorios sin repetir

Publicado por Cristian David Mejia (1 intervención) el 08/11/2019 16:53:35
Buena tarde

Necesito crear una matriz de 3x3 con 8 números consecutivos aleatorios y un espacio, pueden ser del 1 al 8 y un espacio, o del 20 al 27 y un espacio, no importa el valor de los números, lo importantes es que sean consecutivos, aleatorios y que no se repitan, algo así:

30 37 33
36 32 34
31 35

Espero puedan ayudarme
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 1.045
Bronce
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Generar matriz de números aleatorios sin repetir

Publicado por Daniel (334 intervenciones) el 08/11/2019 21:26:43
Hola,

Lo que necesitas es hacer una muestra aleatoria de los datos. Para ello existe la función randsample. El primer parámetro son los valores sobre los que muestreas y el segundo el numero de muestras, necesariamente menor o igual que los datos. Por ejemplo:

1
randsample(3,3)

En este caso obtendrás siempre 1, 2 y 3 en un orden diferente cada vez.

Saludos,
Daniel Rodríguez.
Analytics Lane
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
Imágen de perfil de JOSE JEREMIAS CABALLERO
Val: 8.036
Oro
Ha mantenido su posición en Matlab (en relación al último mes)
Gráfica de Matlab

Generar matriz de números aleatorios sin repetir

Publicado por JOSE JEREMIAS CABALLERO (5780 intervenciones) el 08/11/2019 21:44:07
1
2
3
4
5
6
7
>> n=3; a=5; b=a+n^2-1; y = reshape(randsample([a:b-1 0],n^2),[n n])
 
y =
 
     7     0     6
    10     9     8
    12    11     5
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar