matlab生成一个一百数的随机向量,找出最大值的序号,再找出次大值,最后返回剩余元素的个数

2024-11-08 23:42:15
推荐回答(2个)
回答1:

>> a= rand(100,1);
>> max1=find(a==max(a));
>> a(max1)=[];
>> max2=find(a==max(a));
>> a(max2)=[];
>> if(max2>=max1)
max2=max1+1;
end
>>a
>>max1
>>max2
a:去掉最大值和次大坦缓值后的数据
max1: 最大值在原始数据中的位置
max2: 次大值在原始薯歼数据中的位让手模置

回答2:

在前一位的基础塌顷高上改的团尺:
a= rand(100,1);
a0=a;
max1=find(a==max(a)) % 最大值在原始数据中的全部序号
a(max1)=[];
m2=max(a) % 次大乎迅值
max2=find(a==m2);
a(max2)=[];
length(a) % 去掉最大值和次大值后剩余元素的个数