使用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

代码解释:

  1. 生成随机整数: randi([0 80],1,1000) 生成1000个取值范围在[0,80]的随机整数,并存储在 data 数组中。
  2. 统计出现次数: 使用 count 数组记录每个整数出现的次数。循环遍历 data 数组,对于每个整数 data(i),在 count 数组中对应的索引位置 data(i)+1 加1。
  3. 找出出现次数最多和次多的整数: 使用 max 函数找出 count 数组中的最大值和其索引,即出现次数最多的整数。然后将 count 数组中最大值对应的索引位置的值设为0,再使用 max 函数找出次大值和其索引,即出现次数次多的整数。
  4. 计算差值: 将出现次数最多的整数的索引减去出现次数次多的整数的索引,得到它们的差值。
  5. 输出结果: 使用 disp 函数输出出现次数最多和次多的整数以及它们的差值。

相关搜索:

  • MATLAB 随机数生成
  • MATLAB 数组操作
  • MATLAB 统计分析
  • MATLAB 数组最大值和次大值
MATLAB代码:求解随机整数中出现次数最多和次多的整数之差

原文地址: https://www.cveoy.top/t/topic/oy5t 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录