replace not selected value by zero
    2 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
    HASAN AL-KAF
 el 28 de En. de 2018
  
    
    
    
    
    Comentada: Star Strider
      
      
 el 28 de En. de 2018
            Hi I have 10 values. my code select 3 values, for example, if x=[1 2 3 4 5 6 7 8 9 10] and my code select [1 3 5] i want a code to do this x= [1 0 3 0 5 0 0 0 0 0]?.
0 comentarios
Respuesta aceptada
  Star Strider
      
      
 el 28 de En. de 2018
        This works:
x=[1 2 3 4 5 6 7 8 9 10];
ToKeep = [1 3 5];
idx = ismember(x, ToKeep);
Result = x .* idx
Result =
     1     0     3     0     5     0     0     0     0     0
2 comentarios
  Image Analyst
      
      
 el 28 de En. de 2018
				Totally different than what I did and that made me see the ambiguity. We need Hasan to clarify if the [1,3,5] are the indexes of x that should be kept (like I assumed), or the values of x that should be kept (like you assumed).
  Star Strider
      
      
 el 28 de En. de 2018
				‘I have 10 values. my code select 3 values,’
I interpret ‘values’ as indicating array elements.
Más respuestas (1)
  Image Analyst
      
      
 el 28 de En. de 2018
        Here's one way:
x=[1 2 3 4 5 6 7 8 9 10] 
mask = [1 3 5] 
x2 = zeros(1, length(x)); % Initialize x2
x2(mask) = x(mask) % Pull over values in the mask from x and put them in the same column.
0 comentarios
Ver también
Categorías
				Más información sobre Matrix Indexing 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!


