主题:[讨论]求助MATLAB编程,急
sixunhuan
[专家分:110] 发布于 2009-04-17 19:59:00
已知某班的5名学生的三门课成绩列表如下:
学生序号 1 2 3 4 5
高等数学 78 89 64 73 68
外语 83 77 80 78 70
MATLAB 82 91 78 82 68
试写出有关命令,先分别找出三门课的最高分及其学生序号;然后找出三门课总分的最高分及其学生序号。
我想用矩阵做,可是怎么求最值,max好像不太好用
请高手点化一下哈
[em5]
回复列表 (共5个回复)
沙发
zhaoxin870226 [专家分:110] 发布于 2009-04-17 23:58:00
就是下面这种做法:
>> num=1:5;
math=[78 89 64 73 68];
eng=[83 77 80 78 70 ];
matlab=[ 82 91 78 82 68 ];
>> maxm=max(math);
>> im=find(math==maxm)
im =
2
板凳
sixunhuan [专家分:110] 发布于 2009-04-23 16:12:00
非常谢。
请教一下,max函数除了在help中的用法,我见到很多很灵活的用法比如max=(A')是求矩阵的行最大值,能系统的讲一下吗?
3 楼
yfchenth [专家分:110] 发布于 2009-04-23 21:40:00
clc
clear
a=[1 2 3 4 5 ; 78 89 64 73 68 ;
83 77 80 78 70 ; 82 91 78 82 68 ]
c=sum(a)
max_a=max(c)
aa=find(c==max_a)
4 楼
sixunhuan [专家分:110] 发布于 2009-04-24 12:21:00
回复3楼;
你的程序有问题的,你求和时把学生序号也算进去了。也没有算单科成绩。
5 楼
sixunhuan [专家分:110] 发布于 2009-04-24 19:37:00
A=[78 89 64 73 68;83 77 80 78 70;82 91 78 82 68 ;]
' 单科:高数 英语 matlab'
[chengji,xuesheng]=max(A')
'总分'
[chengji2 xuhao]=max(sum(A))
我来回复