2016-05-05 54 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 

干杯!

相关问题