MATLAB 随机整数出现次数分析: 找出出现次数最多和次多的整数之差
使用 MATLAB 编写代码求解随机整数出现次数最多和次多的整数之差
本文将使用 MATLAB 编写代码,解决以下问题:
- 随机生成 1000 个取值范围在 [0, 80] 的整数;
- 统计这 1000 个整数中出现次数最多的整数和出现次数次多的整数;
- 计算这两个整数出现的次数之差。
代码如下:
% 生成 1000 个随机整数
data = randi([0, 80], 1, 1000);
% 统计各个整数出现的次数
counts = histcounts(data, 0:80);
% 找出出现次数最多和次多的整数
[maxCount, maxIndex] = max(counts);
counts(maxIndex) = 0;
[secondMaxCount, secondMaxIndex] = max(counts);
% 计算差值
diff = maxIndex - secondMaxIndex;
% 输出结果
fprintf('出现次数最多的整数是 %d,出现次数是 %d\n', maxIndex, maxCount);
fprintf('出现次数次多的整数是 %d,出现次数是 %d\n', secondMaxIndex, secondMaxCount);
fprintf('两者之差是 %d\n', diff);
运行结果示例:
出现次数最多的整数是 35,出现次数是 19
出现次数次多的整数是 55,出现次数是 16
两者之差是 -20
代码解释:
randi([0, 80], 1, 1000): 生成 1000 个取值范围在 [0, 80] 的随机整数,存储在变量data中。histcounts(data, 0:80): 统计data中每个整数出现的次数,并存储在变量counts中。max(counts): 找到counts中的最大值,即出现次数最多的整数,并返回其值和索引,分别存储在maxCount和maxIndex中。counts(maxIndex) = 0: 将出现次数最多的整数在counts中的值设置为 0,以便下一步找到出现次数次多的整数。max(counts): 再次找到counts中的最大值,即出现次数次多的整数,并返回其值和索引,分别存储在secondMaxCount和secondMaxIndex中。maxIndex - secondMaxIndex: 计算出现次数最多和次多的整数之差,并将结果存储在变量diff中。fprintf(...): 打印结果到控制台。
本代码展示了使用 MATLAB 进行随机整数统计分析的简单应用,希望能帮助您理解并运用 MATLAB 来解决实际问题。
原文地址: https://www.cveoy.top/t/topic/oy5u 著作权归作者所有。请勿转载和采集!