15
我想創建一個基本的matlab程序,該程序能夠對給定範圍內給定的整數數組進行規範化。Matlab中變量範圍[x,y]的規範化
- 輸入是一個數組[A1,A2,A3,A4,A5,A6,A7 ...],和在範圍[X,Y]
- 輸出是歸一化的陣列。
但是在任何地方,我都看到[0,1]或[-1,1]範圍內的歸一化。找不到可變範圍規範化。 如果您編寫了matlab代碼或變量範圍的公式,我將不勝感激。
謝謝你的想法。
我想創建一個基本的matlab程序,該程序能夠對給定範圍內給定的整數數組進行規範化。Matlab中變量範圍[x,y]的規範化
但是在任何地方,我都看到[0,1]或[-1,1]範圍內的歸一化。找不到可變範圍規範化。 如果您編寫了matlab代碼或變量範圍的公式,我將不勝感激。
謝謝你的想法。
如果你想正常化[x, y]
,首先通過標準化爲[0, 1]
:
range = max(a) - min(a);
a = (a - min(a))/range;
然後通過擴展到[x,y]
:
range2 = y - x;
a = (a * range2) + x;
全部放在一起:
function normalized = normalize_var(array, x, y)
% Normalize to [0, 1]:
m = min(array);
range = max(array) - m;
array = (array - m)/range;
% Then scale to [x,y]:
range2 = y - x;
normalized = (array*range2) + x;
大解決方案,但是現在看來,它似乎是Python並且我沒有使用Loo進行復制粘貼國王:P(並在我upvoted和評論後,我看着標題,看到這是matlab!對不起,雖然它非常有幫助!) – 2014-11-20 10:43:02
如果我沒有輸入範圍,該怎麼辦?假設我想在[-1,1] – superpuccio 2015-06-09 16:15:42
@superpuccio:範圍內輸入一個數字,例如345。你能澄清你在問什麼嗎? – Max 2015-06-09 16:28:12