
Come fare le matrici casuali su Matlab
In questa lezione ti spiego come si crea una matrice con valori casuali su Matlab tramite la funzione rand().
rand(righe,colonne)
La funzione rand() ha due parametri
- Il numero di righe della matrice
- Il numero di colonne della matrice
Questa funzione genera una matrice random composta da valori casuali compresi tra 0 e 1
Nota. Di default Matlab genera i valori casuali con una probabilità uniformemente distribuita tra tutti i valori possibili. E comunque possibile usare anche altre distribuzioni di probabilità per generare numeri casuali.
Ti faccio un esempio pratico
Digita rand(2,3) per generare una matrice rettangolare 2x3 con valori casuali.
>> rand(2,3)
Matlab genera una matrice random 2x3 inserendo all'interno dei valori casuali compresi tra 0 e 1
Di default i numeri casuali sono uniformemente distribuiti nell'intervallo (0,1) ossia hanno la stessa probabilità di essere generati.
ans =
0.495435 0.651593 0.093860
0.449491 0.788723 0.028347
Per creare una matrice casuale con numeri tra 0 e 10 moltiplica la funzione rand() per 10.
Il risultato è una matrice random composta da numeri reali casuali tra 0 e 10.
>> rand(2,3)*10
ans =
1.35346 1.04275 0.73193
5.51170 0.39138 8.66168
Per ottenere una matrice casuale con numeri interi tra 0 e 10 usa la funzione di arrotondamento round()
Ad esempio, digita round(rand(2,3)*10) per generare una matrice 2x3 con dei numeri interi compresi tra 0 e 10
>> round(rand(2,3)*10)
ans =
3 9 10
3 6 9
In alternativa puoi generare una matrice con valori interi casuali usando la funzione randi()
randi(valore max, righe, colonne)
La funzione randi() genera esclusivamente valori casuali interi ed è composta da tre parametri
- Il valore casuale massimo generabile
- Il numero delle righe della matrice
- Il numero delle colonne della matrice
Ad esempio, digita randi(10,2,3)
>> randi(10,2,3)
ans =
1 9 3
2 1 10
Anche in questo caso Matlab genera una matrice casuale composta da numeri interi.
Come fa Matlab a generare dei valori casuali? In realtà non sono valori veramente casuali. Sono valori "pseudocasuali" perché è un algoritmo a generare i numeri casuali utilizzando come parametro l'ora corrente del computer. Volendo è anche possibile produrre sempre la stessa sequenza di numeri casuali. Ne parleremo in seguito.