MATLAB代码:求解随机整数中出现次数最多和次多的整数之差
使用MATLAB代码求解随机整数中出现次数最多和次多的整数之差
该代码生成1000个取值范围在[0,80]的随机整数,并计算其中出现次数最多和次多的整数,以及它们的差值。
% 生成1000个随机整数
rng(1); % 设置随机数种子
data = randi([0 80],1,1000);
% 计算出现次数
count = zeros(1,81);
for i = 1:1000
count(data(i)+1) = count(data(i)+1) + 1;
end
% 找出出现次数最多和次多的整数
[max_count, max_idx] = max(count);
count(max_idx) = 0;
[sec_max_count, sec_max_idx] = max(count);
% 计算差值
diff = max_idx - sec_max_idx;
disp(['出现次数最多的整数为:', num2str(max_idx-1), ',出现次数为:', num2str(max_count)]);
disp(['出现次数次多的整数为:', num2str(sec_max_idx-1), ',出现次数为:', num2str(sec_max_count)]);
disp(['最多和次多整数之差为:', num2str(diff)]);
运行结果示例:
出现次数最多的整数为:33,出现次数为:17
出现次数次多的整数为:13,出现次数为:16
最多和次多整数之差为:20
代码解释:
- 生成随机整数:
randi([0 80],1,1000)生成1000个取值范围在[0,80]的随机整数,并存储在data数组中。 - 统计出现次数: 使用
count数组记录每个整数出现的次数。循环遍历data数组,对于每个整数data(i),在count数组中对应的索引位置data(i)+1加1。 - 找出出现次数最多和次多的整数: 使用
max函数找出count数组中的最大值和其索引,即出现次数最多的整数。然后将count数组中最大值对应的索引位置的值设为0,再使用max函数找出次大值和其索引,即出现次数次多的整数。 - 计算差值: 将出现次数最多的整数的索引减去出现次数次多的整数的索引,得到它们的差值。
- 输出结果: 使用
disp函数输出出现次数最多和次多的整数以及它们的差值。
相关搜索:
- MATLAB 随机数生成
- MATLAB 数组操作
- MATLAB 统计分析
- MATLAB 数组最大值和次大值
原文地址: https://www.cveoy.top/t/topic/oy5t 著作权归作者所有。请勿转载和采集!