Paano Pumili ng Mga Random na Hilera mula sa isang Matrix sa MATLAB?

Paano Pumili Ng Mga Random Na Hilera Mula Sa Isang Matrix Sa Matlab



Ang MATLAB ay isang programming language at numerical computing environment na maaaring magdisenyo ng mga algorithm at magsagawa ng mathematical calculations. Binibigyang-daan ng MATLAB ang mga user na lumikha at magsagawa ng mga kalkulasyon ng matematika sa mga matrice. Dito ay tatalakayin natin kung paano natin random na mapipili ang mga hilera mula sa isang matrix sa MATLAB.

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

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 matrix

A = [ 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 square

magicSquare = 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.

  Isang screenshot ng isang paglalarawan ng computer na awtomatikong nabuo nang may katamtamang kumpiyansa

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.