Generar números aleatorios en Octave
En esta lección, explicaré cómo generar un número aleatorio en Octave con algunos ejemplos prácticos.
¿Qué es un número aleatorio? Es un número elegido al azar de un conjunto de números. También se le llama número aleatorio.
Puedes generar un número aleatorio usando el comando rand()
El comando rand() extrae un número aleatorio entre 0 y 1 de manera predeterminada.
>> rand()
ans = 0.59520
Para generar un número real entre 0 y 10, escribe rand()*10
>> rand()*10
ans = 7.9405
Para generar un número real entre 0 y 100, escribe rand()*100
>> rand()*100
ans = 50.618
Para generar un número real entre 18 y 30, escribe rand()*12+18
>> rand()*12+18
ans = 27.996
Si deseas generar un número entero aleatorio, tienes dos opciones.
Puedes redondear el resultado de la función rand() con la función round().
>> round(rand()*10)
ans = 9
Alternativamente, puedes usar el comando randi() e insertar el valor máximo entre los paréntesis.
>> randi(10)
ans = 6
El comando randi() extrae un número aleatorio entre 1 y el valor máximo que indicaste (10).
Para extraer un entero en el rango de 18 a 30, escribe el rango entre corchetes randi([18,30])
>> randi([18,30])
ans = 27
También puedes crear un vector de números reales aleatorios.
Por ejemplo, para definir un vector aleatorio compuesto por tres elementos, escribe rand(3,1)
>> rand(3,1)
ans =
0.83541
0.32661
0.96998
Si deseas crear un vector aleatorio de números enteros entre 1 y 10, escribe randi(10,3,1)
El primer valor (10) es el valor máximo, el segundo (3) y el tercero (1) son el número de filas y columnas en la matriz.
>> randi(10,3,1)
ans =
8
2
7
De esta forma, también puedes crear una matriz de números aleatorios.
Por ejemplo, para definir una matriz cuadrada de números enteros aleatorios entre 1 y 10 con tres filas y tres columnas, escribe randi(10,3,3)
>> randi(10,3,3)
ans =
5 7 4
2 1 6
1 10 7
Si deseas crear la misma matriz utilizando números reales aleatorios, escribe rand(3,3)*10
>> rand(3,3)*10
ans =
7.837730 2.168224 0.083629
6.934926 1.929531 5.050613
9.045520 2.163601 3.164065
Si esta lección de Octave te ha ayudado, sigue siguiéndonos.