资源描述:
《Matlab课程设计资料报告材料.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、学院《MATLAB实践》课程设计学生:学号:专业班级:(2)指导教师:二○一四年四月三十日目录1.设计目的…………………………………………………第3页2.题目分析…………………………………………………第3页3.总体设计…………………………………………………第3页4.具体设计…………………………………………………第4页5.小结和心得………………………………………………第15页1、设计目的:使用MATLAB的GUI程序设计学生成绩管理系统。完成需学生成绩的基本管理,包含对学生成绩的读入、修改、添加和查询等基本的功能。本课题主要解决对学生成绩
2、总体的客观评价,通过一系列数据的分析比较,例如平均值,成绩分布等整体数据的处理,以及matlab和excel在数据联动功能方面的应用,所绘制的直方图、正态分布图等图像信息使得分析成绩系统更直观、有效地反映学生此课程这一阶段的表现,进而研究今后的教学重点,以及从教学到考试等一连串过程中的薄弱环节,从而达到教学相长的目的。不论是对学生的整体学习情况还是单独考虑每个学生的学习情况都能够进行较好的评价。面比起单纯的"绝对分数"评价学生的学习状况,忽略了基础条件的差异,我们运用了各种方法和模型来去避免这类现象的发生,动态的分析每个学生的情况,并从
3、定性和定量两方面分别给出了数值与建议。2、题目分析根据课题的要求,分析成绩管理系统的现实需求,我们可以概括为设计的程序应该包含的几个基本模块及应该完成的功能如下:1.文件管理:完成成绩表格的导入(.xls文件),完成对修改后的成绩文件的保存。2.成绩管理:完成对学生成绩、学号、成绩、总分的显示和修改,还有添加新的学生的信息。3.查询管理:完成对或者学号的查询的显示和删除,学生的信息显示在成绩管理里面的显示框里面。4.在学生的显示框点击学生,成绩管理系统里面自动获取学生的基本信息。5.统计出学生的最高分和最低分以及各科成绩的平均分情况。6
4、.通过各科成绩的统计分布直方图,直观地分析学生的各科的成绩状况。3、总体设计围绕设计的题目围,我们可以将起绘制成功能模块的总体模块图如下图1。根据设计的模块设计成GUI的设计图如下图2。通过将导入的学生信息的数据保存到全局变量的数组里面,到每个模块需要使用时,导出数据即可完成对数据的引用,在需要完成操作的按钮下编写回调函数来达到需要完成的功能。设计容包含对回调函数的编写和对于程序功能的调试,分析问题原因,在实现程序功能时,进一步改善程序的设计构架。图1图24、具体设计利用MATLAB的GUI程序设计实现成绩管理系统的功能。各个模块功能的
5、实现及程序设计如下:4.1.模块设计界面及程序设计4.1.1显示模块模块:显示模块需要完成的是对于学生、序号以及成绩的显示,并且在点击显示框里面的学生时,成绩管理的模块里面可以自动显示学生的以上基本信息。设计界面如下:对于显示框的程序设计如下:%---Executesonselectionchangeinxmlist.functionxmlist_Callback(hObject,eventdata,handles)%hObjecthandletoxmlist(seeGCBO)%eventdatareserved-tobedefined
6、inafutureversionofMATLAB%handlesstructurewithhandlesanduserdata(seeGUIDATA)content=get(hObject,'value');set(handles.chengjilist,'value',content);set(handles.xhlist,'value',content);chengji=handles.chengji;xingming=handles.xingming;xuehao=handles.xuehao;set(handles.lredit
7、1,'string',xingming(content));set(handles.lredit2,'string',chengji(content,1));set(handles.lredit3,'string',chengji(content,2));set(handles.lredit4,'string',xuehao(content,1));set(handles.xmedit,'string',xingming(content));set(handles.xuehaoedit,'string',xuehao(content))
8、;set(handles.lredit13,'string',xingming(content))set(handles.zfedit,'string',(chengji(content,1)+chengj