Find a random position in a vector where the value is zero
6 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Murali Krishna AG
le 25 Juil 2021
Modifié(e) : Scott MacKenzie
le 25 Juil 2021
I have a vector with mix of complex numbers and zeros. I have to find a random position in the vector where the value is zero.
For example, in the given A matrix I should get any of the underlined value's vector position
A = [a b c 0 x 0 0 0 r 0 0 0 y q 0 p 0];
0 commentaires
Réponse acceptée
Scott MacKenzie
le 25 Juil 2021
Modifié(e) : Scott MacKenzie
le 25 Juil 2021
% test data (includes zeros and imaginary numbers)
A = [1i 4/1j 7 0 99 0 0 0 8*1j 0 0 0 8 9 0 -7 0];
% find indices of zeros in A
zeroIdx = find(A==0);
% pick one of the zeros at random (display index)
randomIdx = zeroIdx(randi(length(zeroIdx),1))
0 commentaires
Plus de réponses (1)
Chunru
le 25 Juil 2021
% Generate some randome data with zeros
n = 10;
a = randn(1, n);
k = randperm(n, round(n/2));
a(k) = 0;
a
% find zeros
idx = find(a==0);
% randomly pick from idx
pick = randperm(length(idx), 1)
a(idx(pick))
0 commentaires
Voir également
Catégories
En savoir plus sur Creating and Concatenating Matrices dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!