请将某班50名学生成绩输入数组,并编写Matlab脚本文件统计优秀(90分以上)、良好(85分以上)、中等(75分以上)、及格(60分以上)各段学生人数;
时间: 2024-10-17 21:13:00 浏览: 57
[MATLAB]2-脚本文件、函数及数组.ppt
在MATLAB中,你可以使用`histcounts`函数来创建直方图并统计每个分数段的学生人数。首先,你需要创建一个包含所有学生成绩的数组。假设这个数组名为`scores`。这里是一个简单的示例脚本:
```matlab
% 创建一个包含50个随机分数的向量作为例子
scores = randi([60, 100], 1, 50); % 生成60到100之间的随机数
% 定义各个分数段
boundaries = [60, 75, 85, 90]; % 分数段边界
labels = {'及格', '中等', '良好', '优秀'}; % 分数段标签
% 使用 histcounts 函数统计每个分数段的人数
counts = histcounts(scores, boundaries);
% 计算并显示各分数段人数
disp(['优秀学生人数: ', num2str(counts(4))]);
disp(['良好学生人数: ', num2str(counts(3))]);
disp(['中等学生人数: ', num2str(counts(2))]);
disp(['及格学生人数: ', num2str(counts(1))]);
% 将结果可视化为条形图
bar(labels, counts);
xlabel('分数段');
ylabel('学生人数');
title('学生分数段分布');
% 保存脚本文件(例如:score_distribution.m)
fprintf('保存脚本到 "score_distribution.m":\n')
disp(fileparts(which(mfilename)));
saveas(gcf, 'score_distribution.png'); % 保存图表为图片
```
当你运行这个脚本时,它会先统计并显示各分数段的学生人数,然后创建一个条形图来直观地展示分数段分布。
阅读全文