2016-03-19 57 views
0

我有一個範圍從1639964678的原始數據。我想 重新調整了給定範圍內的數據[1- alpha,1 + alpha],其中給出了alpha。重新調整後的數據需要維護數據的屬性:「非線性和緩慢變化」。我做了一個代碼來做到這一點。但是,範圍不在範圍[0.9 1.1](alpha = 0.1)。目前的結果範圍在[0.4 1.5]。你能幫我提供解決問題的方法嗎?感謝所有如何在特殊範圍[0.9 1.1]中縮放數據?

enter image description here 這是我的代碼和data

load original_data.mat; 
data=double(data); 
X_data=data(:,1); 
Y_data=data(:,2); 
%% Scale in range [0.9 1.1] 
mid_range=(min(data(:))+max(data(:)))/2; 
X_data_scale=X_data./mid_range; 
Y_data_scale=Y_data./mid_range; 
%% Plot 
subplot(221);plot(X_data);title('Original X data');grid on 
subplot(222);plot(X_data_scale);title('Scale X data');grid on 
subplot(223);plot(Y_data);title('Original Y data');grid on 
subplot(224);plot(Y_data_scale);title('Scale Y data');grid on 

回答

2

如何定期最小/最大標準化:

in - min(in)  out - min(out) 
----------------- = -------------------- 
max(in) - min(in) max(out) - min(out) 

求解out你:

% in is x, out is xx 
load data 
x = data(:,1); 
xx = (x - min(x)) * (1.1 - 0.9)/(max(x) - min(x)) + 0.9; 
subplot(121), plot(x) 
subplot(122), plot(xx) 

enter image description here

+0

謝謝Amro。這是正確的。我知道了。我只是再問一件事:你知道如何創建上述屬性的原始數據:非線性和緩慢變化。如果沒有,那就好了。我接受你的答案 – Jame

+0

我不確定我瞭解你的問題? – Amro

+0

是的,上述原始數據(來自其他網站)稱爲強度不均勻場(INU)或偏置場。這些場不是線性的,而是複雜形狀的緩慢變化的場。根據這個定義,我想創建我自己的數據,如上所示。 – Jame