matlab 输入一组整数 要求返回最小的正整数 如果最小的出现多次还有写出出现次数

如题所述

用循环当然很容易解决,不过用MATLAB就要尽量不用循环。实现的方法也有很多的,可以用sort函数排序,再寻找最小数的个数。也可以用unique函数,给出其代码:clear
A=[2,3,5,6,5,8,9,4,5,8,3,2];
[a,b,c]=unique(A); %a为A的不重复升序排列的结果
disp(['最小的正整数为:',num2str(a(1))])
disp(['最小数出现的次数为:',num2str(sum(c==1))]) %c即为a中每个数的索引号其中A为任意的一组数,运行结果如下:最小的正整数为:2
最小数出现的次数为:2
温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-11-07
答案太过麻烦,求数组最值有max(),min(),函数。求出现次数可以用逻辑判断是否等于最小值得到一个逻辑数组在对其求和既次数。代码为:
clear;
A=[2,3,5,6,5,8,9,4,5,8,3,2];
n=min(A) %%n为最小值
m=sum(A==n) %%m为次数
第2个回答  2013-11-07
a为输入数组;min=min(a);n=sum(a==min(a));
第3个回答  2013-11-07
自已写个M文件撒。。。。。。。。
相似回答