Metode de selectare aleatoare a rândurilor dintr-o matrice în MATLAB
Există mai multe metode în MATLAB prin care putem selecta rânduri aleatorii dintr-o matrice. Acum vom acoperi următoarele moduri de a selecta rânduri aleatorii din matrice:
- Metoda 1: Utilizarea funcției randperm
- Metoda 2: Utilizarea funcției randsample
- Metoda 3: Utilizarea funcției datasample
- Metoda 4: Utilizarea funcției randi().
Metoda 1: Utilizarea funcției randperm
Funcția randperm generează o listă de numere de la 1 la n în ordine aleatorie. Aceste numere sunt organizate ca un vector rând. Putem folosi această funcție pentru a genera indici aleatori de rând și apoi folosim acești indici pentru a selecta rânduri din matricea noastră.
Exemplu
Mai jos, codul MATLAB selectează 2 rânduri aleatorii din matricea A:
A = rand ( 10 , 5 )
% Generați o permutare aleatorie a indicilor de rând
idx = plajă perm ( mărimea ( A, 1 ) ) ;
% Selectați aleatoriu cele 2 rânduri ale lui A
B = A ( idx ( 1 : 2 ) , : )
Metoda 2: Utilizarea funcției randsample
Funcția randsample generează un eșantion aleatoriu de elemente dintr-o matrice specificată. Pentru a selecta rânduri aleatorii dintr-o matrice, puteți utiliza funcția randsample cu opțiunea rânduri.
Putem folosi această funcție pentru a genera indici aleatori de rând și apoi folosim acești indici pentru a selecta rânduri din matricea noastră.
Exemplu
Mai jos, codul MATLAB selectează 2 rânduri aleatorii din matricea A:
A = rand ( 10 , 5 )
% Generați indici aleatori de rânduri și selectați rânduri aleatorii
idx = randsample ( mărimea ( A, 1 ) , 2 ) ;
B = A ( idx,: )
Metoda 3: Utilizarea funcției datasample
Funcția datasample returnează un eșantion aleatoriu de date dintr-un set de date de intrare. Putem folosi această funcție pentru a selecta direct rânduri aleatorii din matricea noastră. Funcția datasample este o versiune mai avansată a funcției randsample.
Exemplu
Mai jos, codul MATLAB selectează 3 rânduri aleatorii din matricea A:
% Creați o matrice 5x3A = [ 1 2 3 ; 4 5 6 ; 7 8 9 ; 10 , unsprezece , 12 ; 13 , 14 , cincisprezece ]
% Selectați rânduri aleatorii
random_rows = eșantion de date ( A, 3 )
Metoda 4: Utilizarea funcției randi().
Funcția randi() este o funcție MATLAB care ne permite să generăm numere întregi aleatorii dintr-un interval dat. În contextul selectării rândurilor aleatorii dintr-o matrice, putem folosi funcția randi() pentru a genera indici aleatori de rând.
Sintaxă
Sintaxa funcției randi() este:
randi ( n )Aici, n reprezintă limita superioară a intervalului din care sunt generate numere întregi aleatorii. Randi() ne oferă un număr întreg aleatoriu între 1 și n.
Exemplu
Iată un exemplu de cod simplu MATLAB care demonstrează utilizarea funcției randi() pentru a selecta două rânduri aleatorii dintr-o matrice:
% Creați un pătrat magic de 3x3MagicSquare = magie ( 3 )
% Generați doi indici aleatori de rând folosind randi()
randomRow1 = randi ( 3 ) ;
randomRow2 = randi ( 3 ) ;
% Selectați rândurile aleatorii din pătratul magic
selectedRows = MagicSquare ( [ randomRow1, randomRow2 ] , : ) ;
% Afișează rândurile selectate
disp ( „Rânduri selectate:” ) ;
disp ( rânduri selectate ) ;
În acest exemplu, creăm un pătrat magic de 3×3 folosind funcția magic(). Apoi, generăm doi indici aleatori de rând folosind randi(3), deoarece pătratul magic are 3 rânduri. În cele din urmă, selectăm rândurile aleatoare din pătratul magic folosind indicii generați și afișăm rezultatul.
Concluzie
Acest articol acoperă modalități de selectare aleatoare a rândurilor dintr-o matrice. Acest articol acoperă cele trei funcții ale selectării rândurilor aleatorii ale unei matrice, care sunt: randperm(), randsample(), datasample() și funcția randi(). Toate aceste trei metode pot genera rânduri aleatorii dintr-o matrice definită. Numărul de rânduri generate depinde de numărul pe care l-am trecut în argumentul acestor funcții. Citiți despre toate aceste funcții pentru generarea de rânduri aleatorii în MATLAB în acest articol.