How to normalize data between 0 and 1
Ältere Kommentare anzeigen
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
Antworten (3)
Simon Chan
am 3 Mär. 2022
1 Stimme
Davide Masiello
am 3 Mär. 2022
Given the matrix A that you want to normalise, you could write
A = A/max(A(:));
1 Kommentar
Image Analyst
am 3 Mär. 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
am 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 Kommentar
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
Kategorien
Mehr zu Resizing and Reshaping Matrices finden Sie in Hilfe-Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!