2016-05-05 59 views
-1

我需要找到具有最大和最小元素的bin大小。我在MATLAB中使用histc函數。如何在MATLAB中找到最小和最大的bin的大小?

下面是我在做什麼,

A=[1 2 3 11 22 3 4 55 6 7 2 33 44 5 22] 
edges = [10 inf]; 
N = histc(A,edges) 

它給N = [6,0]。意味着有6個元素的值大於10.現在我想要計算我的條件下垃圾箱中的最大數量是多少。

這裏應該是2,因爲有兩個實例,我們有兩個整數滿足我的條件11 2233 44

如何在MATLAB指望它。

+0

這還不清楚。當你說兩個實例時,你的意思是有2個「子數組」(每個長度爲2的情況),所有的值都大於10? –

+1

順便說一下,你可以使用'nnz(A> 10)'來計算滿足條件'> 10'的矢量'A'中的元素數量。 –

+0

我可以計算大於10的數字,但是我還需要計算數字連續大於10的「運行長度」。假設在一次運行中有12個,1個,3個,14個,15個,意味着有4個連續的數字大於10. – Mario

回答

2

在這裏,你走了;

A=[1 2 3 11 22 3 4 55 6 7 2 33 44 5 22] 

arr=diff([0 (find(~(A>10))) numel(A)+1]) -1; 
arr(find(arr(1,:)==0))=[]; 

largest=max(arr); % longest sequence of occurences of numbers > 10 
smallest=min(arr); % smallest sequence of occurences of numbers > 10 

乾杯!

相關問題