90% Percentile of Matrix
    42 visualizaciones (últimos 30 días)
  
       Mostrar comentarios más antiguos
    
    Jonathan Moorman
 el 17 de Ag. de 2020
  
    
    
    
    
    Comentada: Star Strider
      
      
 el 3 de Sept. de 2020
            Hi! I am trying to find a way to calculate the 90% percentile of a matrix (1,n) . I provide an example below, and the value I would need to find is 0.292. (Note the matrix will changes in length). How could this be done?
[0.289, 0.254, 0.287, 0.292, 0.289,	0.267, 0.289, 0.304, 0.284, 0.282]
0 comentarios
Respuesta aceptada
  Star Strider
      
      
 el 17 de Ag. de 2020
        Here are two possibilities, the second of which gives you the exact value in your Question: 
v = [0.289, 0.254, 0.287, 0.292, 0.289,	0.267, 0.289, 0.304, 0.284, 0.282];
Out1 = prctile(v, 90)
Out2 = interp1(linspace(1/numel(v),1,numel(v)), sort(v), 0.9)
producing: 
Out1 =
    0.2980
Out2 =
    0.2920
.
6 comentarios
Más respuestas (1)
  jonas
      
 el 17 de Ag. de 2020
        There is probably a one-liner for this, but I guess you could use
A = [0.289, 0.254, 0.287, 0.292, 0.289,	0.267, 0.289, 0.304, 0.284, 0.282];
B = sort(A);
id = round(numel(A).*0.9)
B(id) 
0 comentarios
Ver también
Categorías
				Más información sobre Spline Postprocessing 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!





