我正在MATLAB中编写一个程序,我在其中生成一维数组(14个元素)。 数组的元素可以采用5个不同的值...... 我想知道数组的最小值是多少..如果有一个唯一的最小值或者如果有一个以上的最小值,那么...
最有效的方法是什么...找到最小值我可以在MATLAB中使用min函数..如何查找是否有多个最小值的实例.. 注意,我想迭代这个过程一个巨大的没有。时间(~10000)并列出每个案例发生的次数..
答案 0 :(得分:4)
对于单个1D数组,可以找到这两个值:
minValue = min(myArray);
numberOfMinValues = sum(myArray==minValue);
如果您的1D数组总是具有相同的长度(并且您有足够的RAM),您可以将它们连接成一个大型数组,之后您只应用这些函数一次以节省时间:
%# assuming each 1D array is a column vector (N-by-1)
%# minValues is 1-by-M, i.e. the minimum of each of the M 1D arrays
minValues = min(myLargeArray,[],1);
%# numberOfMinValues is, again, 1-by-M
numberOfMinValues = sum(bsxfun(@eq,myLargeArray,minValues),1);