Véletlenszerű sorok kiválasztásának módszerei egy mátrixból a MATLAB-ban
A MATLAB-ban számos módszer létezik, amelyek segítségével véletlenszerű sorokat választhatunk ki egy mátrixból. Most a véletlenszerű sorok mátrixból való kiválasztásának következő módjait fogjuk ismertetni:
- 1. módszer: A randperm függvény használata
- 2. módszer: Randsample függvény használata
- 3. módszer: A Datasample függvény használata
- 4. módszer: A randi() függvény használata
1. módszer: A randperm függvény használata
A randperm függvény 1-től n-ig terjedő számok listáját generálja véletlenszerű sorrendben. Ezek a számok sorvektorba vannak rendezve. Ezzel a funkcióval véletlenszerű sorindexeket generálhatunk, majd ezekkel az indexekkel kiválaszthatunk sorokat a mátrixunkból.
Példa
A MATLAB kód alatt 2 véletlenszerű sort választ ki az A mátrixból:
A = rand ( 10 , 5 )
% A sorindexek véletlenszerű permutációjának létrehozása
idx = strand perm ( méret ( A, 1 ) ) ;
% Válassza ki az A véletlenszerű 2 sorát
B = A ( idx ( 1 : 2 ) , : )
2. módszer: Randsample függvény használata
A randsample függvény véletlenszerű mintát generál az elemekből egy meghatározott tömbből. Ha véletlenszerű sorokat szeretne kiválasztani egy mátrixból, használhatja a véletlenszerű minta függvényt a sorok opcióval.
Ezzel a funkcióval véletlenszerű sorindexeket generálhatunk, majd ezekkel az indexekkel kiválaszthatunk sorokat a mátrixunkból.
Példa
A MATLAB kód alatt 2 véletlenszerű sort választ ki az A mátrixból:
A = rand ( 10 , 5 )
% Véletlenszerű sorindexek létrehozása és véletlenszerű sorok kiválasztása
idx = randsample ( méret ( A, 1 ) , 2 ) ;
B = A ( idx, : )
3. módszer: A Datasample függvény használata
A datasample függvény véletlenszerű adatmintát ad vissza egy bemeneti adatkészletből. Ezzel a funkcióval közvetlenül kiválaszthatunk véletlenszerű sorokat a mátrixunkból. A datasample függvény a randsample függvény fejlettebb változata.
Példa
A MATLAB kód alatt 3 véletlenszerű sort választ ki az A mátrixból:
% Hozzon létre egy 5x3-as mátrixotA = [ 1 2 3 ; 4 5 6 ; 7 8 9 ; 10 , tizenegy , 12 ; 13 , 14 , tizenöt ]
% Véletlenszerű sorok kiválasztása
random_rows = adatminta ( A, 3 )
4. módszer: A randi() függvény használata
A randi() függvény egy MATLAB függvény, amely lehetővé teszi, hogy egy adott tartományból véletlenszerű egész számokat generáljunk. Egy mátrixból véletlenszerű sorok kiválasztásával összefüggésben a randi() függvény segítségével véletlenszerű sorindexeket állíthatunk elő.
Szintaxis
A randi() függvény szintaxisa a következő:
randi ( n )Itt n annak a tartománynak a felső határát jelöli, amelyből véletlenszerű egész számokat generálunk. A randi() egy véletlenszerű egész számot ad 1 és n között.
Példa
Íme egy egyszerű MATLAB példakód, amely bemutatja a randi() függvény használatát két véletlenszerű sor kiválasztására egy mátrixból:
% Hozzon létre egy 3x3-as varázsnégyzetetmagicSquare = varázslat ( 3 )
% Két véletlenszerű sorindex létrehozása a randi() segítségével
randomRow1 = randi ( 3 ) ;
randomRow2 = randi ( 3 ) ;
% Válassza ki a véletlenszerű sorokat a varázsnégyzetből
selectedRows = magicSquare ( [ randomRow1, randomRow2 ] , : ) ;
% A kiválasztott sorok megjelenítése
diszp ( 'Kiválasztott sorok:' ) ;
diszp ( kijelölt sorok ) ;
Ebben a példában egy 3×3-as varázsnégyzetet készítünk a magic() függvény segítségével. Ezután két véletlenszerű sorindexet generálunk a randi(3) segítségével, mivel a varázsnégyzetnek 3 sora van. Végül a generált indexek segítségével kiválasztjuk a véletlenszerű sorokat a varázsnégyzetből, és megjelenítjük az eredményt.
Következtetés
Ez a cikk a véletlenszerű sorok mátrixból való kiválasztásának módjait ismerteti. Ez a cikk a mátrix véletlenszerű sorainak kiválasztásának három funkciójával foglalkozik, amelyek a következők: randperm(), randsample(), datasample() és randi() függvény. Mindhárom módszer véletlenszerű sorokat generálhat egy meghatározott mátrixból. A generált sorok száma attól függ, hogy e függvények argumentumában hány számot adtunk át. Ebben a cikkben olvashat a véletlenszerű sorok MATLAB-ban történő generálására szolgáló összes funkcióról.