Is there any way to normalize any matrix values to be between (-1) and (1)?
    5 views (last 30 days)
  
       Show older comments
    
    Sarah A
 on 12 Jan 2019
  
    
    
    
    
    Commented: Walter Roberson
      
      
 on 13 Jan 2019
            Hello,
Is there any way to normalize any matrix values to be exactly between (-1) and (1)? I attached the matrix.
regards,
0 Comments
Accepted Answer
  Image Analyst
      
      
 on 12 Jan 2019
        You can use mat2gray(), which normalizes data from 0-1 then just scale and subtract 1 to get into the range -1 to +1:
M = 2*mat2gray(M)-1;
A nice single-line solution.
4 Comments
  Walter Roberson
      
      
 on 13 Jan 2019
				They would display as -1.0000 and 1.0000 especially with short format in effect, but if you take 1-max(M(:)) and min(M(:))+1 then you will see non-zero residues.
More Answers (2)
  madhan ravi
      
      
 on 12 Jan 2019
        
      Edited: madhan ravi
      
      
 on 12 Jan 2019
  
      a=-1;
b=1;
N=100; % number of points
A=(b-a).*rand(N,1)+a; % creates numbers inbetween -1 and 1
  Steven Lord
    
      
 on 12 Jan 2019
        Use the normalize function with the 'range' method if you're using release R2018a or later.
0 Comments
See Also
Categories
				Find more on Calculus in Help Center and File Exchange
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!