how to scale the array type double of range [-1,1] to [0,1] and [0,360] to[0,1]
7 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
i want to scale my values which are in range of [0,360], [-1,1]to [0,1]
0 Kommentare
Antworten (5)
Jan
am 16 Aug. 2013
The following scales array x from any range to [0, 1]
scaled = x - min(x);
scaled = scaled / max(scaled);
0 Kommentare
Alireza Ahani
am 28 Feb. 2021
check out this function. you can specify also the boundaries.
1 Kommentar
Walter Roberson
am 28 Feb. 2021
Correct.
This function did not exist back when the question was asked, but is a useful function to know now.
In older days, the deceptively named mat2gray() function was the one to call to do the rescaling.
Azzi Abdelmalek
am 16 Aug. 2013
a=-1:0.1:1
b=a-min(a)
e=max(a)-min(a)
out=b/e
% you can use the same code for all cases
0 Kommentare
Abdullah Caliskan
am 14 Aug. 2017
Bearbeitet: Walter Roberson
am 28 Feb. 2021
if input is matrix, you can use this. upper, bottom
xmax =max(input);
xmin =min(input);
A=bsxfun(@minus,input,xmin);
B=bsxfun(@rdivide,A,(xmax-xmin));
cikis=B*(upper-bottom)+bottom;
1 Kommentar
Jan
am 28 Aug. 2017
This works columnwise. I assume the min and max values should concern the complete matrix.
Siehe auch
Kategorien
Mehr zu Logical finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!