Cut vector in set range
    20 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
I have about 10 thousand vectors and I want to cut them all to special range set by my min and max . eg. have only vectors from 600 - 1000 values How to implement it in the best efficient way.
0 comentarios
Respuesta aceptada
  Image Analyst
      
      
 el 11 de Ag. de 2013
        Try this for each of the vectors:
minValue = 600; % Or whatever you want.
maxValue = 1000; % Or whatever you want.
indexesInRange = data > minValue & data < maxValue;
subVector = data(indexesInRange);
That will, for a vector called data, extract all the values between minValue (which you can define to be 600) and maxValue (which you can define to be 1000) into a new vector called subVector. Do this 10 thousand times for each of the vectors (most likely done in a loop).
0 comentarios
Más respuestas (1)
  Azzi Abdelmalek
      
      
 el 11 de Ag. de 2013
        How your vectors are stored? in a cell array? If yes
Example
v=arrayfun(@(x) randi(2000,1,100),1:10,'un',0) % your cell array
for k=1:numel(v)
  out{k}=v{k}(v{k}>600 & v{k}<1000)
end
0 comentarios
Ver también
Categorías
				Más información sobre Matrices and Arrays 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!