回 帖 发 新 帖 刷新版面

主题:[讨论]求助MATLAB编程,急

已知某班的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个回复)

沙发

就是下面这种做法:
>> 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

板凳


   非常谢。
   请教一下,max函数除了在help中的用法,我见到很多很灵活的用法比如max=(A')是求矩阵的行最大值,能系统的讲一下吗?

3 楼


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 楼

回复3楼;
你的程序有问题的,你求和时把学生序号也算进去了。也没有算单科成绩。

5 楼

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))


我来回复

您尚未登录,请登录后再回复。点此登录或注册