Find a random position in a vector where the value is zero
1 次查看(过去 30 天)
显示 更早的评论
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 个评论
采纳的回答
Scott MacKenzie
2021-7-25
编辑:Scott MacKenzie
2021-7-25
% 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 个评论
更多回答(1 个)
Chunru
2021-7-25
% 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 个评论
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Creating and Concatenating Matrices 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!