How to chose random row which contain non-zero element
1 visualizzazione (ultimi 30 giorni)
Mostra commenti meno recenti
For example ;
A=[ 0 0 0 0 ;
0 0 0 0;
0 0 0 0;
0 0 0 8;
0 0 0 0;
0 0 8 11;
0 0 0 0;
0 0 11 14;
11 0 0 14;
0 0 0 0;
0 8 9 14;
0 9 0 0;
0 9 0 14;
8 9 11 0;
0 0 0 0;]
If all row element zero for example row 15 I want to take another row random which contain non zero element
0 Commenti
Risposta accettata
Star Strider
il 5 Apr 2017
I would first find the non-zero rows, then choose randomly amongst them:
nzr = find(sum(A,2)>0); % Indices Of Non-Zero Rows
random_nz_row = nzr(randi(length(nzr), 1)) % Choose One Non-Zero Row
nz_row = A(random_nz_row,:) % Display Random Non-Zero Row
0 Commenti
Più risposte (1)
Andrei Bobrov
il 5 Apr 2017
another variant
inz = find(any(A ~= 0,2));
out = A(inz(randperm(numel(inz),1)),:);
0 Commenti
Vedere anche
Categorie
Scopri di più su Special Functions in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!