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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

基于matlab的gui的excel成绩管理系统设计报告.docx

1、基于matlab的gui的excel成绩管理系统设计报告 自动化专业综合设计报告设计题目:基于Matlab的成绩管理系统 所在实验室: 指导教师: 学生姓名 班级 学号 撰写时间: 成绩评定: 一、设计要求: 以某班某课成绩为研究对象,设计一个对话框,实现: 1)。该课的最低分、最高分以及相对应的学号 2)。该课程的平均分和均方差 3)。将该课程成绩按照从大到小排列、显示相对应学号 4)。绘制该课程学生成绩直方图(提示:学生成绩分几段,统计每段分数的人数,选择分数段中间数据,以此数据与人数为横、纵坐标,绘制直方图)实现方法:1、利用matlab语言指令编写程序和GUI设计对话框。2、直接利用m

2、atlab中的函数来求最低分、最高分、平均分、标准方差。二、设计内容(一)GUI图形设计1、建立GUI对象添加需要的控件,加入需要的按钮、菜单控件等。这次设计一共设计两个按钮和一个下拉菜单,下拉菜单共5个选项。2、修改控件属性,属性查看器提供了一系列属性,可以通过修改相应属性来改变控件。如下图为设计好的控件:(二) 编写m文件 当建立GUI后,在执行或存储界面时,会产生一个M文件,单击M-file Editor 图标按钮来编写该GUI下每个对象的Cllback与一些初始设置。直接在各对象callback下输入当用户按下这个对象后所应该调用执行的操作所对应的程序代码即可。具体程序见附录。三、设计

3、实验结果使用matlab的max函数求最大值,显示出成绩和学号栏。使用matlab的min函数求最小值,显示成绩和学号。使用matlab的mean函数求平均数,并显示平均数。使用matlab的std函数求标准方差,并显示。使用matlab的sort函数排序,并显示学号,成绩,排名。将学生成绩分成5部分,60以下,60-70、70-80、80-90、90-100,求出每段人数并用bar函数画出成绩直方图。四、结论这次设计将matlab图形用户界面应用于学生成绩系统这个实际问题中,实现了成绩的查询与管理。Matlab GUI可视化得人机交互式环境使成绩查询系统更能直观的向用户显示,避免了用户再进行

4、复杂的数学运算以及程序编程。系统的实用性强、界面操作简单,用户很容易上手。本次设计制作的成绩查询管理系统,使用用户可以直观的了解班级成绩的最高分、最低分、平均分、方差、以及班级排名和成绩的分布情况。界面操作简单,显示结果直观。五、设计感受通过完成计算机仿真实验完成成绩查询管理系统对话框,再次复习熟悉了matlab的编程方法,第一次GUI设计的对话框的具体应用,加深了对matlab知识的运用,以前学习控制系统仿真就感受到了Matlab强大的数学计算能力,这次设计GUI的设计感受到了其与VB可视化编程的异曲同工之妙,而Matlab优于VB以及其他编程工具的地方是其强大的数学计算能力以及完善的工具箱

5、,使其设计数学计算方面程序的编写及其简洁,如果以后有机会一定再好好研究下Matlab。感谢老师在这一周的悉心指导。附录:%有关GUI的函数调用声明function varargout = untitled1(varargin)gui_Singleton = 1;gui_State = struct(gui_Name, mfilename, . gui_Singleton, gui_Singleton, . gui_OpeningFcn, untitled1_OpeningFcn, . gui_OutputFcn, untitled1_OutputFcn, . gui_LayoutFcn, ,

6、. gui_Callback, );if nargin & ischar(varargin1) gui_State.gui_Callback = str2func(varargin1);endif nargout varargout1:nargout = gui_mainfcn(gui_State, varargin:);else gui_mainfcn(gui_State, varargin:);end%handles structure是保存着GUI各个控件用到的所有数据的数据结构,这是取数据函数function untitled1_OpeningFcn(hObject, eventdat

7、a, handles, varargin)%全局数据文件global dat;%打开文件夹 路径对话框,显示xls后缀的文件,等待选中filename,pathname=uigetfile(*.xls);file=pathname,filename;%打开存有成绩的excel文件dat=xlsread(data.xls,)%将成绩数据存到handle结构里handles.chengji=dathandles.output = hObject;%保存已经改动的数据结构,这样才能在callbacks动作响应中使用guidata(hObject, handles);%“确认”按钮的callback动

8、作,根据下拉框的value值利用case语句实现function pushbutton1_Callback(hObject, eventdata, handles)%获取下拉框value值popup_sel_indexpopup_sel_index = get(handles.popupmenu1, Value);%将成绩数据从handle中提取出来到二维数组chengji中去ss=num2str(handles.chengji)chengji=str2num(ss)%提取成绩数组中1-30号的成绩到一维数组s中去for n=1:30 s(n)=chengji(n,2)end%s行向量变成列向

9、量as,便于显示as=dsort(s);%处理成绩数据进行排名for i=1:30 for j=1:30 if as(i)=s(j); bb(i)=j; end endendfor i=1:29 kk=i+1; if as(i)=as(kk) k=bb(i)-1; for t=1:k if as(i)=s(t) bb(kk)=t; end end endend%获取最大值、最小值、平均值 、标准差 mi =min(s);ma=max(s);mea=mean(s);fc=std(s);for i=1:30%获取最大值对应的学号 if mi=s(i) mii=i ; elseif ma=s(i)%

10、获取最小值对应的学号 maa=i ; endendset(handles.text6,String,);switch popup_sel_index case 1%显示最大值及其学号 set(handles.text5,String,ma); set(handles.text4,String,maa); case 2%显示最小值及其学号 set(handles.text5,String,mi); set(handles.text4,String,mii); case 3%显示平均值 set(handles.text4,String,); set(handles.text5,String,mea

11、); case 4%显示标准差 set(handles.text4,String,); set(handles.text5,String,fc); case 5%显示成绩排名 set(handles.text5,String,as); set(handles.text4,String,bb); cc=1:30; set(handles.text6,String,cc);end%绘制直方图按钮的callback函数function pushbutton2_Callback(hObject, eventdata, handles)axes(handles.axes1);cla;ss=num2str(handles.chengji)chengji=str2num(ss)for n=1:30 s(n)=chengji(n,2)endaa=0 0 0 0 0;%为直方图的绘制进行数据累加for i=1:30 if s(i)60 aa(1)= aa(1)+1; elseif s(i)70 aa(2)= aa(2)+1; elseif s(i)80 aa(3)= aa(3)+1; elseif s(i)90 aa(4)= aa(4)+1; else aa(5)= aa(5)+1; endendx=50 65 75 85 95;%绘制直方图函数bar(x,aa);

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

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