How to normalize data between 0 and 1
210 Ansichten (letzte 30 Tage)
Ä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
0 Kommentare
Antworten (3)
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
Walter Roberson
am 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
Siehe auch
Kategorien
Mehr zu Resizing and Reshaping Matrices finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!