用matlab写一个小程序
%请理解!!!能补最好!
函数t4()
色度控制中心
% -开始初始化
Row=input('输入学生人数:');
Col=input('输入课程数:');
score=fix(rand(row,col)* 49)+49;
xh0 = 1:row;
kch 0 = 1:col;
for ii=1:row
zcj_pre(ii)=sum_(score(ii,);
结束
原始报表;:')
disp([xh0 ' score zcj _ pre ']);
% -结束初始化
%拨打同济1
[c_max,index_max,c_min,index_min,c _ ave]= tonji 1(分数);
Disp('平均分数统计:')
Fprintf('课程平均值\ n ');
%以上述格式输出
disp([kch0 ',round(c _ ave)']);
Disp('课程最高分统计:')
Fprintf('课程的最高学号\ n ');
对于jj=1:col
fprintf(' %d %d ',kch0(jj),c_max(jj))
对于kk = 1:length(index _ max { jj })
fprintf('%d ',index _ max { jj }(kk));
结束
fprintf(' \ n ');
结束
Disp('课程最低分数统计:')
Fprintf('课程的最小学生人数\ n ');
%以上述格式输出
对于jj=1:col
fprintf(' %d %d ',kch0(jj),c_min(jj))
对于kk = 1:length(index _ min { jj })
fprintf('%d ',index _ min { jj }(kk));
结束
fprintf(' \ n ');
结束
%致电同济23
[s_max,index_max,s_min,index_min,px]=tongji23(分数);
Disp('学生总成绩最高分统计:')
Fprintf('最高总学术数\ n ');
%以上述格式输出
fprintf('%d ',s _ max);
disp(index _ max);
Disp('学生总成绩最低分统计:')
Fprintf('最低总学术数\ n ');
%以上述格式输出
fprintf('%d ',s _ min);
disp(index _ min);
disp('-');
Fprintf('降序总分:\ n ');
Fprintf('总等级数\ n ');
%以上述格式输出
disp(px);
%存入zcj
zcj=px(:,1);%zcj在主函数空间中
%存入xh
xh=px(:,2);%xh也在主函数空间。
function [c_max,index_max,c_min,index_min,c _ ave]= tonji 1(分数)
% c_max course col*1向量的最高分
% index_max课程的最高分对应单元格col*1。
% c_min课程的最低分数col*1向量
% index_min课程的最低分对应单元格col*1。
% c_ave球场平均col*1矢量
[row,col]= size(score);
对于jj=1:col
[c_max(jj),index_max{jj}]=max_(score(:,jj));
[c_min(jj),index_min{jj}]=min_(score(:,jj));
c_ave(jj)=ave_(score(:,jj));
结束
函数[s_max,index_max,s_min,index_min,px]=tongji23(分数)
% s_max col课程的最高总分。
% index_max col课程最高总分对应学号。
% s_min col课程的最低总分。
% index_min col课程的最低总分对应于学生编号。
矩阵行* 2按降序排列% px [COL课程总成绩编号]
[row,col]= size(score);
for ii=1:row
zcj(ii)=sum_(score(ii,);
结束
[s_max,index _ max]= max _(zcj);
[s_min,index _ min]= min _(zcj);
px = sort _ down(zcj);
函数y = sum _ %自制求和函数,其中x为向量。
y = 0;
对于ii=1:长度(x)
y = y+x(ii);
结束
函数y = ave _ %自行设计的平均函数,其中x为向量。
y = sum _/length(x);
Function [x_max,index]= max _ %用户定义函数
% x_max:向量x中的最大值。
% index:向量X中最大值对应的下标向量(可能有多个)。
index =[];
x _ max = x(1);
对于ii=1:长度(x)
如果x(ii)>=x_max
x _ max = x(ii);
结束
结束
对于ii=1:长度(x)
如果x(ii)==x_max
index=[index,ii];
结束
结束
Function [x_min,index]= min _ %用户定义函数
% x_min:向量x中的最小值。
% index:向量X中最小值对应的下标向量(可能有多个)。
index =[];
x _ min = x(1);
对于ii=1:长度(x)
如果x(ii)& lt;=x_min
x _ min = x(ii);
结束
结束
对于ii=1:长度(x)
如果x(ii)==x_min
index=[index,ii];
结束
结束
函数px=sort_down(x)
% px=[y_down索引]
% y_down:x行按降序排列
% index:x排序的行标签序列
[row,col]= size(x);
如果row = = 1 & amp;& ampCol~=1%保证X是列向量。
x = x’;
结束
row =长度(x);
index = 1:row;
px=[x,index '];%构成了预排序px。
%采用选择排序2:
对于ii=1:行-1
kk = ii
对于jj=ii+1:row
如果px(jj,1)>px(kk,1)
kk = jj
结束
结束
如果kk~=ii
temp=px(kk,);
px(kk,)=px(ii,);
px(ii,)= temp
结束
结束