ImageVerifierCode 换一换
格式:DOCX , 页数:22 ,大小:238.14KB ,
资源ID:9098544      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/9098544.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(Matlab课程设计资料报告材料.docx)为本站会员(b****8)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

Matlab课程设计资料报告材料.docx

1、Matlab课程设计资料报告材料 学院 MATLAB 实践 课程设计学生: 学 号: 专业班级: (2) 指导教师: 二一四 年 四 月 三十 日1.设计目的第3页2.题目分析第3页3.总体设计第3页4.具体设计第4页5.小结和心得第15页1、设计目的:使用MATLAB的GUI程序设计学生成绩管理系统。完成需学生成绩的基本管理,包含对学生成绩的读入、修改、添加和查询等基本的功能。本课题主要解决对学生成绩总体的客观评价,通过一系列数据的分析比较,例如平均值,成绩分布等整体数据的处理,以及matlab和excel在数据联动功能方面的应用,所绘制的直方图、正态分布图等图像信息使得分析成绩系统更直观、

2、有效地反映学生此课程这一阶段的表现,进而研究今后的教学重点,以及从教学到考试等一连串过程中的薄弱环节,从而达到教学相长的目的。不论是对学生的整体学习情况还是单独考虑每个学生的学习情况都能够进行较好的评价。面比起单纯的绝对分数评价学生的学习状况,忽略了基础条件的差异,我们运用了各种方法和模型来去避免这类现象的发生,动态的分析每个学生的情况,并从定性和定量两方面分别给出了数值与建议。2、题目分析 根据课题的要求,分析成绩管理系统的现实需求,我们可以概括为设计的程序应该包含的几个基本模块及应该完成的功能如下: 1.文件管理:完成成绩表格的导入(.xls文件),完成对修改后的成绩文件的保存。 2.成绩

3、管理:完成对学生成绩、学号、成绩、总分的显示和修改,还有添加新的学生的信息。 3.查询管理:完成对或者学号的查询的显示和删除,学生的信息显示在成绩管理里面的显示框里面。4.在学生的显示框点击学生,成绩管理系统里面自动获取学生的基本信息。5.统计出学生的最高分和最低分以及各科成绩的平均分情况。6.通过各科成绩的统计分布直方图,直观地分析学生的各科的成绩状况。3、总体设计 围绕设计的题目围,我们可以将起绘制成功能模块的总体模块图如下图1。根据设计的模块设计成GUI的设计图如下图2。 通过将导入的学生信息的数据保存到全局变量的数组里面,到每个模块需要使用时,导出数据即可完成对数据的引用,在需要完成操

4、作的按钮下编写回调函数来达到需要完成的功能。设计容包含对回调函数的编写和对于程序功能的调试,分析问题原因,在实现程序功能时,进一步改善程序的设计构架。 图1图24、具体设计利用MATLAB的GUI程序设计实现成绩管理系统的功能。各个模块功能的实现及程序设计如下:4.1.模块设计界面及程序设计4.1.1显示模块模块: 显示模块需要完成的是对于学生、序号以及成绩的显示,并且在点击显示框里面的学生时,成绩管理的模块里面可以自动显示学生的以上基本信息。设计界面如下:对于显示框的程序设计如下:% - Executes on selection change in xmlist.function xmli

5、st_Callback(hObject, eventdata, handles)% hObject handle to xmlist (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)content=get(hObject,value);set(handles.chengjilist,value,content);set(handles.xhlist,value,conten

6、t);chengji=handles.chengji;xingming=handles.xingming;xuehao=handles.xuehao;set(handles.lredit1,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)

7、;set(handles.xuehaoedit,string,xuehao(content);set(handles.lredit13,string,xingming(content)set(handles.zfedit,string,(chengji(content,1)+chengji(content,2); 首先设置显示的高亮位置表示选中的学生,调出handles里面的信息,然后通过set函数将数字赋值给显示框。4.1.2文件管理模块:文件管理模块要实现的是对于保存成绩的表格文件(.xls文件)的读取和对于学生信息修改或者删除之后的保存功能。因此添加了两个控件按钮来实现,在点击按钮后,弹

8、出读取(或保存)文件的所在位置,添加文件后,系统完成对成绩的读取(或保存)功能。没有选中文件时,提示“没有选择文件”。设计界面如下:4.1.2.1打开成绩文件的按钮的设计程序:% - Executes on button press in pushbutton1.function pushbutton1_Callback(hObject, eventdata, handles)% hObject handle to pushbutton1 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB%

9、handles structure with handles and user data (see GUIDATA)filename,pathname=uigetfile(*.xls;*.*,打开成绩文件);if isequal(filename,0)|isequal(pathname,0) errordlg(没有选择文件,出错); returnelse str=pathname,filename; word,txt=xlsread(str); xingming=txt(2:end,1); xuehao=word(1:end,1); chengji=word(1:end,2:3); set(h

10、andles.xmlist,string,xingming); set(handles.chengjilist,string,num2str(chengji); set(handles.xhlist,string,num2str(xuehao); handles.count=length(xingming); handles.chengji=chengji; handles.xuehao=xuehao; handles.xingming=xingming; guidata(hObject,handles);End 读取文件里面的信息,保存为数组的形式,分别给成绩、学号数组赋值,并设置三个lis

11、t显示全部学生的信息,并保存这些数据到全局变量handles里面。4.1.2.2保存文件按钮设计程序:% - Executes on button press in baocunbutton.function baocunbutton_Callback(hObject, eventdata, handles)% hObject handle to baocunbutton (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and

12、 user data (see GUIDATA)filename,pathname=uigetfile(*.xls;*.*,打开成绩文件);if isequal(filename,0)|isequal(pathname,0) errordlg(没有选择文件,出错); returnelse str=pathname,filename; xingming=handles.xingming; chengji=handles.chengji; xuehao=handles.xuehao; oldcount=handles.count; row,co=size(chengji); col=co+1; i

13、f rowoldcount M=cell(oldcount,col); else M=cell(row,col); end M(1:row,1)=xingming; M(1:row,2)=num2cell(xuehao); M(1:row,3:col+1)=num2cell(chengji); xlswrite(str,M,1,A2); handles.count=row; guidata(hObject,row);End 将新获取的数据保存到M数组里面,调出原本数组的行数count,比较新获得的数组的行数和原来行数count的大小,根据实际调节写入数组的大小,并保存新的数据的行数。4.1.3

14、成绩管理模块:成绩管理模块需要完成的是对于学生的、学号和成绩的显示(显示在上面的显示模块里面完成),以及修改学生信息的修改和添加新的学生信息。添加两个控件,控制学生信息的修改和添加。界面设计图如下:4.1.3.1修改按钮的程序设计:% - Executes on button press in pushbutton2.function pushbutton2_Callback(hObject, eventdata, handles)% hObject handle to pushbutton2 (see GCBO)% eventdata reserved - to be defined in

15、a future version of MATLAB% handles structure with handles and user data (see GUIDATA)content=get(handles.xmlist,value);xingming=handles.xingming;chengji=handles.chengji;xuehao=handles.xuehao;newname=get(handles.lredit1,string);shuxue=str2num(get(handles.lredit2,string);yuwen=str2num(get(handles.lre

16、dit3,string);newxuehao=str2num(get(handles.lredit4,string);xingming(content)=newname;chengji(content,:)=shuxue,yuwen;xuehao(content)=newxuehao;set(handles.xmlist,string,xingming);set(handles.chengjilist,string,num2str(chengji);set(handles.xhlist,string,num2str(xuehao);handles.xuehao=xuehao;handles.x

17、ingming=xingming;handles.chengji=chengji;guidata(hObject,handles); 获取输入的数据,调出原来的成绩、学号和数组,根据新修改的信息,修改原本的三个数据的数值,并保存到全局变量handles里面。4.1.3.2添加按钮的程序设计:% - Executes on button press in tianjiabutton.function tianjiabutton_Callback(hObject, eventdata, handles)% hObject handle to tianjiabutton (see GCBO)% ev

18、entdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)newname=get(handles.lredit1,string);shuxue=str2num(get(handles.lredit2,string);yuwen=str2num(get(handles.lredit3,string);newxuehao=str2num(get(handles.lredit4,string);handles.xin

19、gming=handles.xingming;newname;handles.chengji=handles.chengji;shuxue,yuwen;handles.xuehao=handles.xuehao;newxuehao;guidata(hObject,handles);set(handles.xmlist,string,handles.xingming);set(handles.xhlist,string,num2str(handles.xuehao);set(handles.chengjilist,string,num2str(handles.chengji); 获取输入的数据,

20、调出原来的成绩、学号和数组,根据新添加的信息,修改原本的三个数据的数值,并保存到全局变量handles里面。4.1.4查询管理模块:本模块需要完成的是通过查询学生或者学号,让成绩管理里面可以显示该学生的基本信息并可以通过删除按钮删除该生的信息,没有查询到该生的信息,即提示“没有找到”。通过平均分查询按钮来查询各科的平均分成绩。通过查询学生,找到学生的总分并显示。基本设计模块如下图:4.1.4.1两个删除按钮的程序设计(以第一个删除为例,第二个原理同第一个):% - Executes on button press in shanchubutton.function shanchubutton_

21、Callback(hObject, eventdata, handles)% hObject handle to shanchubutton (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)name=get(handles.xmedit,string);lia,id=ismember(name,handles.xingming);if lia xingming=handle

22、s.xingming; chengji=handles.chengji; xuehao=handles.xuehao; xingming(id)=; xuehao(id)=; chengji(id,:)=; handles.chengji=chengji; handles.xuehao=xuehao; handles.xingming=xingming; guidata(hObject,handles); set(handles.xmlist,string,xingming); set(handles.chengjilist,string,num2str(chengji); set(handl

23、es.xhlist,string,num2str(xuehao); set(handles.xmlist,value,1); set(handles.xhlist,value,1); set(handles.chengjilist,value,1);Else 查询时候有这个名字在保存的名字(或学号)的数组里面,调出、学号和成绩数组,获取需要删除的学生在数组里面保存在第几个的位置,将数组里面的这儿位置清空,设置三个list的显示高亮位置回到第一行,同时更新handles里面的三个数组存放。4.1.4.2查询按钮的程序设计:% - Executes on button press in chaxu

24、nbutton.function chaxunbutton_Callback(hObject, eventdata, handles)% hObject handle to chaxunbutton (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)name=get(handles.xmedit,string);lia,id=ismember(name,handles.xin

25、gming);if lia set(handles.xmlist,value,id); set(handles.xhlist,value,id); set(handles.chengjilist,value,id); xingming=handles.xingming; chengji=handles.chengji; xuehao=handles.xuehao; set(handles.lredit1,string,xingming(id); set(handles.lredit2,string,chengji(id,1); set(handles.lredit3,string,chengj

26、i(id,2); set(handles.lredit4,string,xuehao(id);else msgbox(没有找到);end 查询是否有这个名字在保存的名字的数组里面,获取需要删除的名字在保存的数组里面是第几个的,获取三个数组,设置三个list里面这个学生的信息为高亮,并显示在成绩管理里面。4.1.4.3学号查询按钮的程序设计:% - Executes on button press in pushbutton9.function pushbutton9_Callback(hObject, eventdata, handles)% hObject handle to pushbut

27、ton9 (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles structure with handles and user data (see GUIDATA)xh=get(handles.xuehaoedit,string);lia,id=ismember(str2num(xh),handles.xuehao);if lia set(handles.xmlist,value,id); set(handles.xhlist,value,id); set(handles.ch

28、engjilist,value,id); xingming=handles.xingming; chengji=handles.chengji; xuehao=handles.xuehao; set(handles.lredit1,string,xingming(id); set(handles.lredit2,string,chengji(id,1); set(handles.lredit3,string,chengji(id,2); set(handles.lredit4,string,xuehao(id);else msgbox(没有找到);End 查询是否有这个学号在保存的名字的数组里

29、面,获取需要删除的学号在保存的数组里面是第几个的,获取三个数组,设置三个list里面这个学生的信息为高亮,并显示在成绩管理里面。4.1.4.4总分查询按钮的程序设计:% - Executes on button press in zfbutton.function zfbutton_Callback(hObject, eventdata, handles)% hObject handle to zfbutton (see GCBO)% eventdata reserved - to be defined in a future version of MATLAB% handles struct

30、ure with handles and user data (see GUIDATA)name=get(handles.lredit13,string);lia,id=ismember(name,handles.xingming);if lia set(handles.xmlist,value,id); set(handles.xhlist,value,id); set(handles.chengjilist,value,id); xingming=handles.xingming; chengji=handles.chengji; xuehao=handles.xuehao; set(handles.zfedit,string,(chengji(id,1)+chengji(id,2);else msgbox(没有找到);end 查询是否有这个名字在保存的名字的数组里面,获取需要删除的名字在保存的数组里面是第几个的,获取三个数组,设置三个lis

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1