# Normalization of an array of double

49 views (last 30 days)
Guido Pastore on 3 Mar 2019
Edited: Stephan on 3 Mar 2019
How do I normalize an array of double from 0 to 1 ??

Stephan on 3 Mar 2019
Edited: Stephan on 3 Mar 2019
Hi,
in R2018b use:
A = A ./ max(A,[],'all')
If you need performance use the good old classic way (see comment on the other answer):
A = A ./ max(A(:))
Best regards
Stephan
madhan ravi on 3 Mar 2019
max(A,[],'all') % since 2018b
max(A(:)) % prior to 2018b

Sheng Chen on 3 Mar 2019
Try this
v = [1.3, 5.6, 2.2, 1.0, 3.32];
N = normalize(v,'range');
'range' means scale range of data to [0,1].
Also, please refer to Normalize data
Stephan on 3 Mar 2019
For bigger data sets i would prefer the classic way before 2018b changes came:
A = randi(100,10,10,10);
res_1a = @(A) A./max(A,[],'all');
res_1b = @(A) A./max(A(:));
res_2 = @(A) normalize(A,'range');
tic
r1a = res_1a(A);
toc
tic
r1b = res_1b(A);
toc
tic
r2 = res_2(A);
toc
results in:
Elapsed time is 0.000805 seconds.
Elapsed time is 0.000427 seconds.
Elapsed time is 0.057486 seconds.