
Come generare un numero casuale su Matlab
In questa lezione ti spiego come si genera un numero casuale su Matlab.
Cosa sono i numeri casuali? Sono dei numeri estratti a caso da un insieme numerico. In informatica sono anche conosciuti come numeri random. Più specificatamente, si tratta di numeri pseudocasuali perché c'è un apposito algoritmo a generarli.
Per generare un numero casuale su Matlab usa la funzione rand()
La funzione rand() estrae un numero reale tra 0 e 1
>> rand()
ans = 0.8147
Se vuoi generare un numero reale tra 0 e 10 digita rand()*10
>> rand()*10
ans = 9.0579
Se invece vuoi generare un numero reale tra 0 e 100 digita rand()*100
>> rand()*100
ans = 12.6987
Per generare un numero reale random tra 18 e 30 digita rand()*12+18
>> rand()*12+18
ans = 28.9605
Come generare dei numeri interi casuali?
Per generare un numero casuale intero puoi arrotondare il risultato della funzione rand() con la funzione round().
>> round(rand()*10)
ans = 6
In alternativa puoi generare i numeri usando la funzione randi()
Questa funzione genera un numero intero tra 0 e il valore massimo indicato tra le parentesi tonde
Ad esempio, la funzione randi(10) genera un numero intero tra 0 e 10.
>> randi(10)
ans = 6
Per generare un numero intero casuale tra 18 e 30 puoi digitare randi(12)+18
>> randi(12)+18
ans = 23
In alternativa puoi indicare come parametro l'intervallo numerico tra parentesi quadre randi([18,30])
>> randi([18,30])
ans = 25
Come generare un vettore di numeri casuali?
Per creare un vettore composto da numeri reali casuali usa la funzione rand() inserendo tra parentesi il numero di righe e di colonne del vettore.
Ad esempio, per generare un vettore casuale composto da tre elementi disposti in colonna digita rand(3,1)
>> rand(3,1)
ans =
0.9157
0.7922
0.9595
Per generare lo stesso vettore con tre elementi disposti in riga digita rand(1,3)
>> rand(1,3)
ans =
0.6557 0.0357 0.8491
Per creare un vettore casuale composto da numeri interi casuali tra 1 e 10 digita randi(10,3,1)
Il primo parametro (10) è il valore massimo mentre il secondo (3) e il terzo (1) sono il numero di righe e di colonne dell'array.
>> randi(10,3,1)
ans =
8
4
7
Come generare una matrice di numeri casuali?
Allo stesso modo dei vettori puoi generare anche una matrice di numeri casuali.
Ad esempio digita randi(10,3,3) per ottenere una matrice quadrata 3x3 con i numeri interi casuali disposti su tre righe e tre colonne
>> randi(10,3,3)
ans =
2 3 9
8 1 7
1 1 4
Per generare la stessa matrice random con dei numeri reali digita 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