Números Aleatorios en Matlab
En este tutorial, voy a enseñarles cómo generar números aleatorios en MATLAB de manera sencilla.
¿Qué son los números aleatorios? Son aquellos números que se seleccionan de manera impredecible de un conjunto numérico. En el ámbito de la computación, se les conoce igualmente como números aleatorios. Pero, en realidad, son números pseudoaleatorios debido a que se generan mediante un algoritmo específico.
Para crear un número aleatorio en MATLAB, la función rand() es tu mejor aliada.
Esta función rand() produce un número real comprendido entre 0 y 1.
>> rand()
ans = 0.8147
Si tu objetivo es obtener un número real entre 0 y 10, simplemente escribe rand()*10.
>> rand()*10
ans = 9.0579
Para un número real en el rango de 0 a 100, la instrucción es rand()*100.
>> rand()*100
ans = 12.6987
Generar un número real aleatorio entre 18 y 30 es tan fácil como escribir rand()*12+18.
>> rand()*12+18
ans = 28.9605
¿Y cómo generamos números enteros aleatorios?
Para obtener un entero aleatorio, redondea el resultado de la función rand() con round().
>> round(rand()*10)
ans = 6
Otra opción es usar la función randi(), perfecta para generar enteros aleatorios.
Con randi(), generas un entero entre 0 y el valor máximo que indiques.
Por ejemplo, randi(10) te dará un entero entre 0 y 10.
>> randi(10)
ans = 6
Para un entero aleatorio entre 18 y 30, usa randi(12)+18.
>> randi(12)+18
ans = 23
También puedes definir el rango numérico directamente, como en randi([18,30]).
>> randi([18,30])
ans = 25
¿Crear un vector de números aleatorios? Así se hace:
Para un vector de números reales aleatorios, usa rand() e indica el tamaño del vector entre paréntesis.
Para un vector aleatorio de tres elementos en columna, escribe rand(3,1).
>> rand(3,1)
ans =
0.9157
0.7922
0.9595
Y para el mismo vector pero en fila, rand(1,3).
>> rand(1,3)
ans =
0.6557 0.0357 0.8491
Si buscas un vector de enteros aleatorios entre 1 y 10, prueba con randi(10,3,1).
En este caso, el primer parámetro (10) es el valor máximo, y los otros dos (3 y 1) definen las filas y columnas del arreglo.
>> randi(10,3,1)
ans =
8
4
7
¿Y una matriz de números aleator ios? Aquí te muestro:
Similar a los vectores, también puedes generar matrices de números aleatorios.
Por ejemplo, randi(10,3,3) crea una matriz cuadrada 3x3 de enteros aleatorios.
>> randi(10,3,3)
ans =
2 3 9
8 1 7
1 1 4
Para una matriz similar pero con números reales, escribe rand(3,3)*10.
>> rand(3,3)*10
ans =
9.5022 3.8156 1.8687
0.3445 7.6552 4.8976
4.3874 7.9520 4.4559