Permutación aleatoria con MATLAB

Ammar Ali 20 enero 2022
Permutación aleatoria con MATLAB

Este tutorial discutirá la generación de vectores que contienen una permutación aleatoria de números enteros usando la función randperm() en MATLAB.

Genere vectores que contienen permutación aleatoria de enteros usando la función randperm() en MATLAB

Podemos usar la función incorporada de MATLAB randperm() para generar vectores que contienen una permutación aleatoria de números enteros. Podemos definir el número entero más grande en el intervalo de muestreo en la función randperm(), y el número entero más pequeño en el intervalo de muestreo es uno por defecto.

Por ejemplo, generemos seis enteros entre el rango de 1 a 6 usando la función randperm(). Vea el código a continuación.

clc
v = randperm(6)

Producción :

v =

     3     5     6     1     4     2

La salida cambiará si volvemos a ejecutar este código porque estos valores son aleatorios. Podemos definir el número de números enteros de permutación aleatoria usando el segundo argumento de la función randperm().

Solo podemos definir un número menor o igual que el primer argumento porque los números generados son únicos y no se pueden repetir. Si definimos un número mayor que el primer argumento, MATLAB mostrará un error.

Por ejemplo, generemos dos números de permutación aleatorios entre 1 y 6 usando la función randperm(). Vea el código a continuación.

clc
v = randperm(6,2)

Producción :

v =

     1     3

Solo dos números en la salida cambiarán si volvemos a ejecutar el código porque los números generados son aleatorios. También podemos guardar el estado de un generador de números aleatorios usando la función rng.

El estado guardado anteriormente se puede utilizar para generar la misma secuencia de números enteros. Por ejemplo, generemos dos vectores con la misma secuencia usando las funciones randperm() y rng.

Vea el código a continuación.

clc
s = rng;
v1 = randperm(6,2)
rng(s)
v2 = randperm(6,2)

Producción :

v1 =

     1     2


v2 =

     1     2

En la salida, ambos vectores v1 y v2 contienen los mismos elementos.

Si volvemos a ejecutar el código, la salida cambiará, pero los elementos de ambos vectores permanecerán sin cambios. Si no usamos el estado previamente almacenado, los vectores tendrán diferentes elementos.

Autor: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook

Artículo relacionado - MATLAB Random