How to normalize data between 0 and 1
202 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
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 commentaires
Réponses (3)
Davide Masiello
le 3 Mar 2022
Given the matrix A that you want to normalise, you could write
A = A/max(A(:));
1 commentaire
Image Analyst
le 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
le 23 Fév 2025
X_max = max(X);
X_min = min(X);
X_scaled = (X - X_min) ./ (X_max - X_min); % scales X to [0, 1]
1 commentaire
Walter Roberson
le 24 Fév 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
Voir également
Catégories
En savoir plus sur Resizing and Reshaping Matrices dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!