C贸mo generar vectores con n煤meros aleatorios en Octave
En esta lección, te voy a guiar en el fascinante proceso de crear un vector, también conocido como arreglo, poblado de números aleatorios en Octave.
Para hacerlo más sencillo, te mostraré un ejemplo práctico.
Imagina que quieres generar un vector horizontal de 5 elementos, cada uno con un valor aleatorio que oscila entre 0 y 1.
Bueno, es tan sencillo como teclear el comando rand(1,5).
>> rand(1,5)
ans = 0.49304 0.44118 0.76854 0.67157 0.90157
Y si, por alguna razón, prefieres que esos mismos elementos estén dispuestos verticalmente, solo necesitas escribir rand(5,1).
>> rand(5,1)
ans =
0.832438
0.132569
0.036763
0.953994
0.483982
Un apunte importante. Piensa en un vector vertical [5,1] como en una matriz llena de filas (5) y con una única columna (1). Por otro lado, un vector fila [1,5] se asemeja a una matriz formada por una sola fila (1) pero muchas columnas (5).
Si tu objetivo es crear un vector compuesto por 5 números reales y que cada uno de estos fluctúe entre 0 y 10, solo necesitas teclear rand(1,5)*10.
>> rand(1,5)*10
ans =
6.1685 8.9548 6.4072 7.9498 3.9733
¿Y si prefieres crear un vector con 5 números reales, pero esta vez entre -5 y 5? En este caso, escribe rand(1,5)*10-5.
>> rand(1,5)*10-5
ans =
2.93633 -0.58853 -1.37175 3.83107 4.31426
Quizás, lo que estás buscando es un vector horizontal que contenga 5 elementos enteros, y que cada valor sea un número aleatorio entre 18 y 30.
Para ello, el comando sería randi([18,30],1,5).
>> randi([18,30],1,5)
ans =
26 21 24 28 21
Y si lo que buscas es la misma combinación de números, pero dispuestos verticalmente, entonces teclea randi([18,30],5,1).
>> randi([18,30],5,1)
ans =
18
28
30
29
20
Como dato adicional, debes saber que también puedes crear vectores de números enteros aleatorios juntando la función generadora de números aleatorios rand() y la función redondeadora round().
Por ejemplo, si deseas crear un arreglo de 5 enteros, cada uno con un valor entre 18 y 30, escribes round(rand(5,1)*12+18).
>> round(rand(5,1)*12+18)
ans =
26
27
29
24
25