2017-02-28 8 views
0

Ich möchte das Histogramm in drei Teile teilen und die Bereiche von drei Teilen definieren.Histogramm in drei Teile teilen

minRed = min(red(:)); 
maxRed = max(red(:)); 
AvgRed = (minRed+maxRed)/3; 
AvgRed2 = AvgRed+AvgRed; 

Aber manchmal der Wert AvgRed kleiner als minRed und den Wert der AvgRed2 die maxRed überschreitet. Was ist der richtige Weg, dies zu tun?

+0

Könnten Sie die Logik hinter der Teilung angeben? – Royi

Antwort

0

Ich denke, es ist nur einfache Mathematik:

minRed = 10 Angenommen, und maxRed = 100

minRed = 10; 
maxRed = 100; 

Sie wollen den Bereich in drei Teile mit gleicher Größe zu unterteilen:
AvgRed40 sein sollte, und AvgRed2 sollte sei 70.

% minRed AvgRed AvgRed2 minRed 
% ------ ------ ------- ------ 
%1 10  40  70  100 
%| |  |  |  | 
%  <--------------------------> 
%    range 

%Calculate the range: 
range = maxRed - minRed; 

%Size of each part is third of the range. 
thirdRange = range/3; 

%Add 1/3 of range to minRed to get AvgRed (round it case value needs to be an integer). 
AvgRed = minRed + round(thirdRange); 

%Add 2/3 of range to minRed to get AvgRed2. 
AvgRed2 = minRed + round(thirdRange*2); 

Es ist ganz einfach, wenn Sie es ziehen ...

Verwandte Themen