Mga Paraan para sa Pagpili ng Random na Rows mula sa isang Matrix sa MATLAB
Mayroong ilang mga pamamaraan sa MATLAB gamit kung saan maaari tayong pumili ng mga random na hilera mula sa isang matrix. Ngayon ay tatalakayin natin ang mga sumusunod na paraan ng pagpili ng mga random na hilera mula sa matrix:
- Paraan 1: Gamit ang Randperm Function
- Paraan 2: Gamit ang randsample Function
- Paraan 3: Gamit ang Datasample Function
- Paraan 4: Gamit ang randi() Function
Paraan 1: Gamit ang Randperm Function
Ang randperm function ay bumubuo ng isang listahan ng mga numero mula 1 hanggang n sa random na pagkakasunud-sunod. Ang mga numerong ito ay nakaayos bilang isang row vector. Magagamit namin ang function na ito upang makabuo ng mga random na indeks ng row at pagkatapos ay gamitin ang mga indeks na iyon upang pumili ng mga row mula sa aming matrix.
Halimbawa
Sa ibaba ng MATLAB code ay pumipili ng 2 random na hilera mula sa matrix A:
A = rand ( 10 , 5 )
% Bumuo ng random na permutation ng row index
idx = beach perm ( laki ( A, 1 ) ) ;
% Piliin ang random na 2 row ng A
B = A ( idx ( 1 : 2 ) , : )
Paraan 2: Gamit ang randsample Function
Ang randsample function ay bumubuo ng random na sample ng mga elemento mula sa isang tinukoy na array. Upang pumili ng mga random na row mula sa isang matrix, maaari mong gamitin ang randsample function na may opsyon na mga row.
Magagamit namin ang function na ito upang makabuo ng mga random na indeks ng row at pagkatapos ay gamitin ang mga indeks na iyon upang pumili ng mga row mula sa aming matrix.
Halimbawa
Sa ibaba ng MATLAB code ay pumipili ng 2 random na hilera mula sa matrix A:
A = rand ( 10 , 5 )
% Bumuo ng mga random na indeks ng row at pumili ng mga random na row
idx = randsample ( laki ( A, 1 ) , 2 ) ;
B = A ( idx, : )
Paraan 3: Gamit ang Datasample Function
Ang datasample function ay nagbabalik ng random na sample ng data mula sa isang input data set. Magagamit namin ang function na ito upang direktang pumili ng mga random na row mula sa aming matrix. Ang datasample function ay isang mas advanced na bersyon ng randsample function.
Halimbawa
Sa ibaba ng MATLAB code ay pumipili ng 3 random na hanay mula sa matrix A:
% Gumawa ng 5x3 matrixA = [ 1 2 3 ; 4 5 6 ; 7 8 9 ; 10 , labing-isa , 12 ; 13 , 14 , labinlima ]
% Pumili ng mga random na row
random_rows = sample ng data ( A, 3 )
Paraan 4: Gamit ang randi() Function
Ang randi() function ay isang MATLAB function na nagbibigay-daan sa amin na bumuo ng mga random na integer mula sa isang ibinigay na hanay. Sa konteksto ng pagpili ng mga random na row mula sa isang matrix, maaari naming gamitin ang randi() function upang makabuo ng mga random na indeks ng row.
Syntax
Ang randi() function syntax ay:
randi ( n )Dito, ang n ay kumakatawan sa itaas na limitasyon ng hanay kung saan nabuo ang mga random na integer. Ang randi() ay nagbibigay sa amin ng random na integer sa pagitan ng 1 at n.
Halimbawa
Narito ang isang simpleng halimbawa ng code ng MATLAB na nagpapakita ng paggamit ng randi() function upang pumili ng dalawang random na row mula sa isang matrix:
% Gumawa ng 3x3 magic squaremagicSquare = mahika ( 3 )
% Bumuo ng dalawang random na indeks ng hilera gamit ang randi()
randomRow1 = randi ( 3 ) ;
randomRow2 = randi ( 3 ) ;
% Piliin ang mga random na row mula sa magic square
selectedRows = magicSquare ( [ randomRow1, randomRow2 ] , : ) ;
% Ipakita ang mga napiling row
disp ( 'Mga Piniling Hilera:' ) ;
disp ( mga napilingRows ) ;
Sa halimbawang ito, gumawa kami ng 3×3 magic square gamit ang magic() function. Pagkatapos, bumuo kami ng dalawang random na row na indeks gamit ang randi(3) dahil ang magic square ay may 3 row. Sa wakas, pipiliin namin ang mga random na row mula sa magic square gamit ang mga nabuong indeks at ipinapakita ang resulta.
Konklusyon
Sinasaklaw ng artikulong ito ang mga paraan ng pagpili ng mga random na row mula sa isang matrix. Sinasaklaw ng artikulong ito ang tatlong function ng pagpili ng mga random na row ng isang matrix na: randperm(), randsample(), datasample(), at randi() function. Ang lahat ng tatlong pamamaraan na ito ay maaaring makabuo ng mga random na hilera mula sa isang tinukoy na matrix. Ang bilang ng mga row na nabuo ay depende sa bilang na ipinasa namin sa loob ng argumento ng mga function na ito. Basahin ang tungkol sa lahat ng mga function na ito para sa pagbuo ng mga random na hilera sa MATLAB sa artikulong ito.