how can normalize the data between 0 and 1??
    7 visualizzazioni (ultimi 30 giorni)
  
       Mostra commenti meno recenti
    
how can normalize the data between 0 and 1??(exclude 0 and 1)
0 Commenti
Risposte (2)
  Walter Roberson
      
      
 il 23 Feb 2017
        mat2gray() would normalize to exactly 0 to exactly 1.
But what value do you want instead of 0? Should the smallest values be mapped to eps(realmin), which is about 1E-324 ?
3 Commenti
  Jan
      
      
 il 23 Feb 2017
				@ananthi: Accepting an answer means, that the problem is solved. Then most readers will not care about the thread anymore. Is the problem solved?
  Jan
      
      
 il 23 Feb 2017
        
      Modificato: Jan
      
      
 il 23 Feb 2017
  
      A cheap adjustment of the edges:
x = randn(100, 1);
xn = (x - min(x)) / (max(x) - min(x));
xn(xn == 0) = eps;      % Or: eps(realmin)
xn(xn == 1) = 1 - eps;
Or consider the limits during the normalization: [EDITED, first version failed]
xmin  = min(x);
xmax  = max(x);
range = (xmax - xmin) + eps(xmax - xmin);
xn    = (x - (xmin - eps(xmin))) / range;
% Or:
% xn    = (x - (xmin - eps(xmax - xmin))) / range;
4 Commenti
Vedere anche
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!