Reduce a vector to the size of another vector
    6 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
    Noah Kilps
 el 6 de Oct. de 2020
  
    
    
    
    
    Comentada: Noah Kilps
 el 6 de Oct. de 2020
            Hello,
I have two vectors currently. I have nonzeroDecel which is a 1x2168 double and start_1G which is a 1x7 double. I need to reduce nonzeroDecel so that for each number of start_1G, it takes the number that's closest and bigger than the number in start_1G. In the end I want nonzeroDecel to also be a 1x7. Any ideas? I have attached the variables from excel so you do not have to make up your own if you don't want to.
0 comentarios
Respuesta aceptada
  KSSV
      
      
 el 6 de Oct. de 2020
        
      Editada: KSSV
      
      
 el 6 de Oct. de 2020
  
      Read about ismember, ismembertol, knsnearch. 
If v is the vector and val is the value for which you want to get the closest value from v, use:
num = xlsread("matlab_question.xlsx") ; 
vec = num(:,1) ; 
val = num(:,2) ; 
% Remove nans 
val(isnan(val)) = [] ; 
iwant = zeros(size(val)) ; 
for i = 1:length(val) 
  [v,idx] = min(abs(vec-val(i))) ; 
  iwant(i) = vec(idx) ; 
end
Más respuestas (0)
Ver también
Categorías
				Más información sobre Language Fundamentals 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!

