Come selezionare righe casuali da una matrice in MATLAB?

Come Selezionare Righe Casuali Da Una Matrice In Matlab



MATLAB è un linguaggio di programmazione e un ambiente di calcolo numerico in grado di progettare algoritmi ed eseguire calcoli matematici. MATLAB consente agli utenti di creare ed eseguire calcoli matematici su matrici. Qui discuteremo come possiamo selezionare casualmente le righe da una matrice in MATLAB.

Metodi per la selezione di righe casuali da una matrice in MATLAB

Esistono diversi metodi in MATLAB con i quali possiamo selezionare righe casuali da una matrice. Ora tratteremo i seguenti modi per selezionare righe casuali dalla matrice:

Metodo 1: utilizzo della funzione ranperm

La funzione ranperm genera un elenco di numeri da 1 a n in ordine casuale. Questi numeri sono organizzati come un vettore riga. Possiamo utilizzare questa funzione per generare indici di righe casuali e quindi utilizzare tali indici per selezionare righe dalla nostra matrice.







Esempio

Sotto il codice MATLAB seleziona 2 righe casuali dalla matrice A:



UN = rand ( 10 , 5 )

% Genera una permutazione casuale degli indici di riga

idx = spiaggia permanente ( misurare ( UN, 1 ) ) ;

% Seleziona le 2 righe casuali di A

B = A ( idx ( 1 : 2 ) , : )



Metodo 2: utilizzo della funzione randsample

La funzione randsample genera un campione casuale di elementi da un array specificato. Per selezionare righe casuali da una matrice, puoi utilizzare la funzione randsample con l'opzione righe.





Possiamo utilizzare questa funzione per generare indici di righe casuali e quindi utilizzare tali indici per selezionare righe dalla nostra matrice.

Esempio

Sotto il codice MATLAB seleziona 2 righe casuali dalla matrice A:



UN = rand ( 10 , 5 )

% Genera indici di righe casuali e seleziona righe casuali

idx = campione rand ( misurare ( UN, 1 ) , 2 ) ;

B = A ( ix, : )

Metodo 3: utilizzo della funzione datasample

La funzione datasample restituisce un campione casuale di dati da un set di dati di input. Possiamo usare questa funzione per selezionare direttamente righe casuali dalla nostra matrice. La funzione datasample è una versione più avanzata della funzione randsample.

Esempio

Sotto il codice MATLAB seleziona 3 righe casuali dalla matrice A:

% Creare una matrice 5x3

UN = [ 1 2 3 ; 4 5 6 ; 7 8 9 ; 10 , undici , 12 ; 13 , 14 , quindici ]

% Seleziona righe casuali

random_rows = campione di dati ( UN, 3 )

Metodo 4: utilizzo della funzione randi()

La funzione randi() è una funzione MATLAB che ci consente di generare numeri interi casuali da un dato intervallo. Nel contesto della selezione di righe casuali da una matrice, possiamo utilizzare la funzione randi() per generare indici di righe casuali.

Sintassi

La sintassi della funzione randi() è:

randi ( N )

Qui, n rappresenta il limite superiore dell'intervallo da cui vengono generati numeri interi casuali. Il randi() ci fornisce un numero intero casuale compreso tra 1 e n.

Esempio

Ecco un semplice codice di esempio MATLAB che dimostra l'utilizzo della funzione randi() per selezionare due righe casuali da una matrice:

% Creare un quadrato magico 3x3

quadrato magico = Magia ( 3 )

% Genera due indici di riga casuali usando randi()

randomRow1 = randi ( 3 ) ;

randomRow2 = randi ( 3 ) ;

% Selezionare le righe casuali dal quadrato magico

selectRows = magicSquare ( [ randomRow1, randomRow2 ] , : ) ;

% Visualizza le righe selezionate

disp ( 'Righe selezionate:' ) ;

disp ( selezionatoRighe ) ;

In questo esempio, creiamo un quadrato magico 3×3 usando la funzione magic(). Quindi, generiamo due indici di riga casuali utilizzando randi(3) poiché il quadrato magico ha 3 righe. Infine, selezioniamo le righe casuali dal quadrato magico utilizzando gli indici generati e visualizziamo il risultato.

  Uno screenshot di una descrizione del computer generata automaticamente con una confidenza media

Conclusione

Questo articolo illustra i modi per selezionare righe casuali da una matrice. Questo articolo copre le tre funzioni di selezione di righe casuali di una matrice che sono: funzione randperm(), randsample(), datasample() e randi(). Tutti e tre questi metodi possono generare righe casuali da una matrice definita. Il numero di righe generate dipende dal numero passato all'interno dell'argomento di queste funzioni. Leggi tutte queste funzioni per generare righe casuali in MATLAB in questo articolo.