Find a random position in a vector where the value is zero
    6 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
    Murali Krishna AG
 el 25 de Jul. de 2021
  
    
    
    
    
    Editada: Scott MacKenzie
      
 el 25 de Jul. de 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 comentarios
Respuesta aceptada
  Scott MacKenzie
      
 el 25 de Jul. de 2021
        
      Editada: Scott MacKenzie
      
 el 25 de Jul. de 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 comentarios
Más respuestas (1)
  Chunru
      
      
 el 25 de Jul. de 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 comentarios
Ver también
Categorías
				Más información sobre Creating and Concatenating Matrices en Help Center y File Exchange.
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


