Scale/Normalize values in matrix between 10^-6 and 10^-5
3 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
stelios loizidis
il 12 Apr 2023
Commentato: stelios loizidis
il 12 Apr 2023
Hello,
I have a matrix Data (90X150) and I want its values to be normalized. I wrote the code below:
% Normalization
min_Data = min(Data,[],2); % min for each row
max_Data = max(Data,[],2); % max for each row
Data_Norm=(Data - min_Data)./(max_Data- min_Data);
Based on the above code, the normalization is done between 0-1, but I want the normalization to be done between 10^-6 and 10^-5. How is this done? Your help is valuable.
0 Commenti
Risposta accettata
Askic V
il 12 Apr 2023
Modificato: Askic V
il 12 Apr 2023
Hello,
this is a matter of a simple linear transformation y = m*x+n.
if you want to normalize data in interval [a,b] to interval [c,d], then the following code would work:
x = [-1 2 4 0 5 6] % input data
a = min(x);
b = max(x);
c = 3; % new interval limit
d = 4; % new interval limit
m = (d-c)/(b-a);
n = (c*b-d*a)/(b-a);
y = m*x+n
Of course, the most preffered way is to use built in functions:
x = [-1 2 4 0 5 6] % input data
c = 3; % new interval limit
d = 4; % new interval limit
y2 = rescale (x,c,d) % rescaled data
Più risposte (0)
Vedere anche
Categorie
Scopri di più su NaNs in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!