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

 
 

Segnalami un errore, un refuso o un suggerimento per migliorare gli appunti

FacebookTwitterLinkedinLinkedin

Arreglos en Octave

Vector

Matriz

Struct y Cell array