Come creare una matrice random sparsa su Octave

In questa lezione ti spiego come fare una matrice sparsa random su Octave

Cos'è una matrice sparsa random? Una matrice sparsa è una matrice in cui sono memorizzati solo i valori non nulli. Quindi, occupa meno spazio di memoria. Per saperne di più sulle matrici casuali. E' una matrice random se i valori sono numeri casuali o pseudocasuali.

Ti faccio un esempio pratico

Crea una matrice sparsa random 2x3 con il 50% di densità tramite la funzione sprand()

>> sprand(2,3,0.5)

Ti spiego come funziona

  • Il primo parametro della funzione è il numero di righe (2) della matrice
  • Il secondo parametro è il numero di colonne (3) della matrice
  • Il terzo parametro è la densità (0.5) della matrice, ossia la percentuale di elementi non nulli.

Il risultato è una matrice sparsa con valori casuali (random)

Compressed Column Sparse (rows = 2, cols = 3, nnz = 3 [50%])

(1, 1) -> 0.74411
(1, 2) -> 0.46897
(2, 3) -> 0.53209

E' una matrice sparsa. Quindi sono indicati solo i valori non nulli e la loro posizione (riga, colonna) nella matrice.

Equivale a questa matrice rettangolare.

$$ Matrix= \begin{pmatrix} 0.74411 & 0.46897 & 0 \\ 0 & 0 & 0.53209 \end{pmatrix} $$

Come puoi vedere, la matrice ha una densità del 50% con 3 elementi non nulli e 3 elementi nulli.

Spiegazione. L'elemento (1,1) si trova nella prima riga e prima colonna e ha il valore 0.74411. L'elemento (1,2) si trova nella prima riga e seconda colonna e ha il valore 0.46897. L'elemento (2,3) si trova nella seconda riga e terza colonna e ha il valore 0.53209.
come si spiega la posizione degli elementi nella matrice sparsa

Se questa lezione di StemKB ti ha aiutato, continua a seguirci.

 

 
 

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

FacebookTwitterLinkedinLinkedin

Gli array su Octave

I vettori

Le matrici

Struct e cell array