MATLAB课程设计 GUI 设计.doc_第1页
MATLAB课程设计 GUI 设计.doc_第2页
MATLAB课程设计 GUI 设计.doc_第3页
MATLAB课程设计 GUI 设计.doc_第4页
MATLAB课程设计 GUI 设计.doc_第5页
已阅读5页,还剩8页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2010年08级信息与计算科学专业Matlab课程设计一、进度安排12月17日周五安排课程设计任务、要求及考核方法,学生进行分组;12月18、19日(周六、周日)查阅资料,撰写预习报告;12月20日(周一)熟悉课程设计实验环境及任务要求,进行方案设计与论证,提交预习报告;12月21日(周二)按照设计方案编写软件流程图,编写软件程序;12月22日(19周周三)编写软件程序,完成部分设计任务要求;12月23日(周四)改进程序并撰写课程设计报告;课程设计验收、答辩;12月24日(周周五)提交课程设计报告。二、上机时间地点:时间:19周周一周五上午8:0012:00地点:物理实验中心仿真实验室三、成绩评定方法:评分项目占总分比例内容1打分内容2打分内容3打分内容4打分预习报告10%格式(3)书面(3)内容(4)考勤10%全勤(10)答辩40%理解(10)回答(10)程序(10)平时(10)设计报告40%格式(5)书面(5)内容(20)分析(10)考勤:共5次,全勤10分,缺勤一次扣2分,迟到一次扣1分。MATLAB语言课程综合课程设计设计报告题目:常微分方程成绩GUI设计常微分方程成绩GUI设计一、课程设计目的1、熟练掌握Matlab的基本编程方法,及其编程风格;2、熟练掌握Matlab常用函数的使用;3、与本专业相关知识相结合,掌握其在程序开发、gui设计中的应用方法,以及excel、word、C语言等接口方法。二、课程设计内容 0820862班常微分方程成绩学号姓名成绩学号姓名成绩82086201李鑫8082086217孙艺真7782086202陶胜聪7282086218吴丹7682086203孙岩4982086219吕伟7982086204丛悦9082086220张英凯8982086205郭欢7982086221唐占坤7182086206王敏9182086222张明诚8782086207李晖6982086223徐梦晨7882086208武彩霞8082086224费兆福6882086209王磊9182086225吴琼9782086210宋华龙10082086226王飞8882086211张恒8082086227邬俊9682086212吴乐9682086228张铁想8382086213陈增6382086229张嘉昇6882086214许小龙6582086230杜静芳8682086215徐彬林8582086231王勇4182086216苏桂福8982086232皇甫彦霖681、用两种方法之一(命令方法和GUI设计向导)设计对话框,对话框名称为“0820862班常微分方程课程成绩分析-32人制学号”;2、用两种方法之一(直接用Matlab中的函数命令和编写函数文件)求最低分、最高分、平均分、标准方差。3、将该课程的成绩按照从大到小的顺序排列,并显示相应学号4、绘制该课程学生成绩直方图三、课程设计流程1、用命令方法设计自定义对话框,对话框名称为“0820862班常微分方程课程成绩分析-32人制学号”,内容为“欢迎进入课程成绩GUI分析”。MATLAB编程代码如下CreateStruct.WindowStyle=replace; CreateStruct.Interpreter=tex; Data=1:64;Data=(Data*Data)/64; h=msgbox(欢迎进入课程成绩GUI分析,0820862班常微分方程课程成绩分析-32人制学号,custom,Data,hot(64),CreateStruct); 欢迎进入课程成绩GUI分析2、在MATLAB中导入成绩组成矩阵scores,学号简化成与成绩对应的行标1,2,3,4scores = 80 72 49 90 79 91 69 80 91 100 80 96 63 65 85 89 77 76 79 89 71 87 78 68 97 88 96 83 68 86 41 68; 2、1 求全班学生成绩的最高分maxs,ind=max(scores) maxs = 100ind = 10 2、2 求全班学生成绩的最低分mins,ind=min(scores) mins = 41ind = 31 2、3 求全班学生成绩的平均分aves=mean(scores) aves = 79.0938 2、4 求班学生成绩的标准方差stds=std(scores) stds = 13.4245 3、对将该课程的成绩按照从大到小的顺序排列,并显示相应学号B,ind=sort(scores,descend) B = Columns 1 through 17 100 97 96 96 91 91 90 89 89 88 87 86 85 83 80 80 80 Columns 18 through 32 79 79 78 77 76 72 71 69 68 68 68 65 63 49 41ind = Columns 1 through 17 10 25 27 12 9 6 4 20 16 26 22 30 15 28 11 8 1 Columns 18 through 32 19 5 23 17 18 2 21 7 32 29 24 14 13 3 31 4、绘制该课程学生成绩直方图4、1 将学生生成绩分为6个分数段40-50 51-60 61-70 71-80 81-90 91-1004、2 将分数数段的中间数据组成scores1scores1=45 55 65 75 85 95; 4、3 统计应分数段学生人数n,n=2 0 6 10 8 6; 4、4 sores1与n为横、纵坐标,绘制直方图bar(scores1,n) title(常微分成绩直方图) 5、用GUI界面用户向导实现上述功能5、1 打开GUI图形用户界面设计向导guide 5、2 设计GUI图形界面的尺寸,添加组件按钮、静态文本框、坐标轴、列表框等,并设置控件基本属性5、3编写程序代码,设置各个按钮的callback属性(程序代码见第四部分)5、4保存并运行开始、最大值、降序排序、直方图等功能实现截图如下四、GUI设计程序代码(控件callback代码)开始按钮function pushbutton8_Callback(hObject, eventdata, handles)CreateStruct.WindowStyle=replace; CreateStruct.Interpreter=tex; Data=1:64;Data=(Data*Data)/64; h=msgbox(欢迎进入课程成绩GUI分析,0820862班常微分方程课程成绩分析-32人制学号,custom,Data,hot(64),CreateStruct); 最大值按钮function pushbutton1_Callback(hObject, eventdata, handles)scores= 80 72 49 90 79 91 69 80 91 100 80 96 63 65 85 89 77 76 79 89 71 87 78 68 97 88 96 83 68 86 41 68;maxs,ind=max(scores) set(handles.edit1,String, ind)set(handles.listbox1,String, maxs)guidata(hObject, handles);最小值按钮function pushbutton2_Callback(hObject, eventdata, handles)scores= 80 72 49 90 79 91 69 80 91 100 80 96 63 65 85 89 77 76 79 89 71 87 78 68 97 88 96 83 68 86 41 68;mins,ind=min(scores)set(handles.edit1,String, ind)set(handles.listbox1,String, mins)guidata(hObject, handles);平均值按钮function pushbutton3_Callback(hObject, eventdata, handles)scores= 80 72 49 90 79 91 69 80 91 100 80 96 63 65 85 89 77 76 79 89 71 87 78 68 97 88 96 83 68 86 41 68;aves=mean(scores)set(handles.edit1,String,结果显示)set(handles.listbox1,String, aves)guidata(hObject, handles);标准差按钮function pushbutton4_Callback(hObject, eventdata, handles)scores= 80 72 49 90 79 91 69 80 91 100 80 96 63 65 85 89 77 76 79 89 71 87 78 68 97 88 96 83 68 86 41 68;stds=std(scores)set(handles.edit1,String,结果显示)set(handles.listbox1,String, stds)guidata(hObject, handles);降序排序按钮function pushbutton5_Callback(hObject, eventdata, handles)scores= 80 72 49 90 79 91 69 80 91 100 80 96 63 65 85 89 77 76 79 89 71 87 78 68 97 88 96 83 68 86 41 68;B,ind=sort(scores,descend)set(handles.edit1,String, ind)set(handles.listbox1,String, B)guidata(hObject, handles);直方图作图按钮function pushbutton6_Callback(hObject, eventdata, handles)scores1=45 55 65 75 85 95;n=2 0 6 10 8 6;bar(scores1,n)五、课程设计结果本文以0820862班常微分课程成绩为研究对象,用了两种方发,MATLAB命令方法和GUI界面用户向导,对0820862班常微分课程成绩进行了成绩质量分析,为整体了解学生对该课程的掌握情况,我们以具体的数值计算结果,列出该课程的最低分、最高分及其相应学号,以及该课程的平均分和标准方差;并将该课程的成绩按照从大到小的顺序排列,同时显示相应学号;另外我们将全班的成绩作了统计分析,将其画成直方图,为任课教师前期教学工作鉴定和后期的教学调整提供了科学的数值参考依据。学号为10的宋华龙同学获得了0820862班常微分课程的最高分100分。而最低分为41分,对应学号为31,姓名王勇。全班平均分为79.0938分,标准差为13.4245。全班排序结果如下:学号姓名常微分方程学号姓名常微分方程82086210宋华龙10082086211张恒8082086225吴琼9782086205郭欢7982086212吴乐9682086219吕伟7982086227邬俊9682086223徐梦晨7882086206王敏9182086217孙艺真7782086209王磊9182086218吴丹7682086204丛悦9082086202陶胜聪7282086216苏桂福8982086221唐占坤7182086220张英凯8982086207李晖6982086226王飞8882086224费兆福6882086222张明诚8782086229张嘉昇6882086230杜静芳8682086232皇甫彦霖6882086215徐彬林8582086214许小龙6582086228张铁想8382086213陈增6382086201李鑫8082086203孙岩4982086208武彩霞8082086231王勇41绘制成绩直方图如下六、课程设计结果分析 按所得到的数值和图形来看,0820862班常微分课程成绩总体服从正态分布。0820862整体成绩不错,80分以上的同学占了一半,90分以上的同学有7个人,占全班的21.8%。但是在41-50和61-70分两个分数段之间有一个断层,很明显41-50分数段内的同学是了掉队大燕,老师应该把注意力多放一点在这一部分人身上。综上所述,基本判断0820862班常微分课程的考试情况是合理的。七、课程设计总结 经过2010.12.172010.12.24日这一周的课程设计,我在摸索、学习和进步的过程中,学到了很多。在依照课本熟练地掌握了Matlab的基本编程方法及其编程风格,Matlab常用函数的使用以及GUI设计的基本应用方法之后,我遇到一个难题,那就是:怎样把Matlab中command window里能实现的功能,添加到GUI界面里面?简单来说就是,基本函数和GUI设计相结合的过程成里我课程设计的拦路虎。我

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论