Ich habe eine Rohdaten, die von 16399
bis 64678
reicht. Ich möchte die Daten in einem bestimmten Bereich neu skaliert [1- alpha
, 1+ alpha
], wobei alpha
angegeben ist. Die neu skalierten Daten müssen die Eigenschaften der Daten beibehalten: "nichtlinear und langsam variierend". Ich habe einen Code dafür erstellt. Der Bereich liegt jedoch nicht im Bereich [0,9 1,1] (Alpha = 0,1). Der aktuelle Ergebnisbereich in [0,4 1,5]. Könntest du mir helfen, den Weg zu finden, es zu reparieren? Danke, dass alleWie skaliert man Daten in einem speziellen Bereich [0.9 1.1]?
Dies ist mein Code und 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
Danke Amro. Es ist richtig. Ich hab es geschafft. Ich frage nur noch eine Sache: Weißt du, wie kann ich die Rohdaten wie oben Eigenschaften erstellen: nicht-lineare und langsame Variation. Wenn nicht, ist es in Ordnung. Ich akzeptiere Ihre Ans. – Jame
Ich bin mir nicht sicher, ob ich Ihre Frage verstehe? – Amro
Ja, die oben genannten Rohdaten (erhalten von einer anderen Website) werden Intensitäts-Ungleichmäßigkeitsfelder (INU) oder Bias-Feld genannt. Diese Felder sind nicht linear, sondern sind langsam variierende Felder mit einer komplexen Form. Basierend auf dieser Definition möchte ich meine eigenen Daten wie oben gezeigt erstellen. – Jame