求matlab大神编程!急用!
2 计算每个成绩段的同学人数,以柱状图或圆饼图形表示。
3 对于缺考同学提出告警。 展开
% 生成测试数据(随机数,均值75,方差10,最大不超过100)
%===========================================================
N = 50; % 总人数
n = 2; % 缺考人数
Absence = NaN; % 缺考标志,个人认为用NaN更合理一些,因为不排除有得0分的
Score = min( round( 75 + 10*randn(N,1) ), 100);
idx = ceil( rand(n, 1)*50 );
Score(idx) = Absence;
% 1 计算全班每门课目平均分、标准差,计算时要求去除掉缺考同学
%===========================================================
% 提取有效成绩。如果用0分表示缺考,则等号右边改成 Score(Score~=0)
ValidScore = Score(~isnan(Score));
a = mean(ValidScore);
s = std(ValidScore);
fprintf('平均分 %.1f, 标准差 %.1f\n', a, s);
% 2 计算每个成绩段的同学人数,以柱状图或圆饼图形表示。
%===========================================================
% 如果画柱状图,最简单的可以用hist(ValidScore)
% 下面演示饼状图
S = [0 60:10:100]; % 分数划分区间
C = cell(length(S)-1, 2); % 第一列存储分数段人数,第二列存储标签
for i = 1 : length(S) - 1
C{i, 1} = sum( ValidScore>=S(i) & ValidScore<S(i+1) );
C{i, 2} = sprintf('%i-%i', S(i:i+1));
end
% 画饼图,也可以使用pie3画三维饼图
pie([C{:,1}], C(:,2))
% 3 对于缺考同学提出告警。
%===========================================================
fprintf('学号%i的同学缺考\n', find(isnan(Score)) );
不好意思还有一个条件忘加了 全班10人,考试5门课。
能否修改一下 谢谢了 数据最好是手动输入的
2023-06-12 广告