How to normalize negative values in column vector
2 views (last 30 days)
Show older comments
Matlab 2015a
Hello, I have a column vector of 180 elements, with min(vector) = -1.6010 and max(vector) = 0.3894. when I apply normc(vector), and find min(vector) = -0.1318 and max(vetor) = 0.0321 for which I except the values to be in between 0 and 1. How to resolve this ??
When I am having positive values I do for ranging between 0 to 1
normalized_vector = (vector -min(vector)).max(vector);
but its not working with the negative values.
0 Comments
Accepted Answer
Image Analyst
on 17 Aug 2016
If you have the Image Processing Toolbox, you can simply use mat2gray:
normalizedVector = mat2gray(vector);
Now normalizedVector will go from 0 to 1. Otherwise, if you are so unfortunate as to not have one of the best toolboxes out there, just scale as you normally would:
normalizedVector = (vector - min(vector)) / (max(vector)-min(vector));
2 Comments
Image Analyst
on 17 Aug 2016
I don't know. normc() is not a built in function for any of the toolboxes that I have so I don't know what it does.
Both of the statements I give you will give the same results. Both map the min to 0 and the max to 1 and it's linearly scaled in between. I think mat2gray() is the simplest, but you can use whichever one you want.
More Answers (0)
See Also
Categories
Find more on Logical 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!