How to normalize data between 0 and 1
214 views (last 30 days)
Show older comments
Hello everyone, i hope you are doing well.
I have the following data.
I want to normalize the data between 0 and 1
How can i do that
0 Comments
Answers (3)
Davide Masiello
on 3 Mar 2022
Given the matrix A that you want to normalise, you could write
A = A/max(A(:));
1 Comment
Image Analyst
on 3 Mar 2022
He wants the output to go between 0 and 1. Your code will not put the min at 0 unless it is already 0. The easiest solution is to just use
A = rescale(A, 0, 1);
Sinan Islam
on 23 Feb 2025
X_max = max(X);
X_min = min(X);
X_scaled = (X - X_min) ./ (X_max - X_min); % scales X to [0, 1]
1 Comment
Walter Roberson
on 24 Feb 2025
That does not work if X consists of identical values
X = [1 1 1 1]
X_max = max(X);
X_min = min(X);
X_scaled = (X - X_min) ./ (X_max - X_min) % scales X to [0, 1]
rescale(X)
The code also produces questionable values if the maximum is inf but the points are not all identical
X = [1 2 inf]
X_max = max(X);
X_min = min(X);
X_scaled = (X - X_min) ./ (X_max - X_min) % scales X to [0, 1]
rescale(X)
If one of the input values is -inf then the code produces all NaN
See Also
Categories
Find more on Resizing and Reshaping Matrices 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!