How to generate vectors with random numbers in Octave
In this lesson I'll explain how to create a vector (array) composed by random numbers on Octave.
I'll give you a practical example
Creates a horizontal vector of 5 elements with random values between 0 and 1
Type the command rand(1,5)
>> rand(1,5)
ans = 0.49304 0.44118 0.76854 0.67157 0.90157
If you want to create the same vector with the elements arranged vertically, type rand(5,1)
>> rand(5,1)
ans =
0.832438
0.132569
0.036763
0.953994
0.483982
Note. A vertical vector [5,1] is like a matrix with many rows (5) and a single column (1). Conversely, a row vector [1,5] is like a matrix consisting of a single row (1) and many columns (5).
To create a vector composed of 5 real numbers between 0 and 10 type rand(1,5)*10
>> rand(1,5)*10
ans =
6.1685 8.9548 6.4072 7.9498 3.9733
If you want to create a vector composed of 5 real numbers between -5 and 5, type rand(1,5)*10-5
>> rand(1,5)*10-5
ans =
2.93633 -0.58853 -1.37175 3.83107 4.31426
To create a horizontal vector consisting of 5 integer elements with values between 18 and 30, type randi([18,30],1,5)
>> randi([18,30],1,5)
ans =
26 21 24 28 21
To create the same vector vertically type randi([18,30],5,1)
>> randi([18,30],5,1)
ans =
18
28
30
29
20
Alternatively, you can also create vectors composed of random integers by combining the random number generation function rand() with the rounding function round()
For example, to create an array of 5 integers with values between 18 and 30, type round(rand(5,1)*12+18)
>> round(rand(5,1)*12+18)
ans =
26
27
29
24
25