Scale/Normalize values in matrix between 10^-6 and 10^-5
3 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
stelios loizidis
el 12 de Abr. de 2023
Comentada: stelios loizidis
el 12 de Abr. de 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 comentarios
Respuesta aceptada
Askic V
el 12 de Abr. de 2023
Editada: Askic V
el 12 de Abr. de 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
Más respuestas (0)
Ver también
Categorías
Más información sobre NaNs en Help Center y File Exchange.
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!