Normalization of an array of double
5 visualizaciones (últimos 30 días)
Mostrar comentarios más antiguos
Guido Pastore
el 3 de Mzo. de 2019
How do I normalize an array of double from 0 to 1 ??
0 comentarios
Respuesta aceptada
Stephan
el 3 de Mzo. de 2019
Editada: Stephan
el 3 de Mzo. de 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
1 comentario
madhan ravi
el 3 de Mzo. de 2019
max(A,[],'all') % since 2018b
max(A(:)) % prior to 2018b
Más respuestas (1)
Sheng Chen
el 3 de Mzo. de 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
1 comentario
Stephan
el 3 de Mzo. de 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.
Ver también
Categorías
Más información sobre Whos 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!