当前位置:网站首页>[Data analysis] Based on matlab GUI student achievement management system [including Matlab source code 1981]
[Data analysis] Based on matlab GUI student achievement management system [including Matlab source code 1981]
2022-08-01 01:11:00 【Poseidon's Light】
一、案例简介(仅供参考)
1 设计目标
1.1 设计一个基于GUI的学生成绩管理与分析系统
(1)设计一个插入背景的登录界面
(2)以某班某课成绩为研究对象,设计几个对话框,实现:
1.2 查询功能
点击学生姓名,在列表视图显示相应的学号、成绩
1.3 统计功能
读取数据库的学生成绩信息,进行统计从而绘制该课程学生成绩直方图(注释:学生成绩分几段,统计每段分数的人数,选择分数段中间数据,以此数据与人数为横、纵坐标,绘制直方图)以及饼图(对各分数段进行统计,便于直观的看出该课程成绩分布情况)
分析功能:
(1)该课的最低分、最高分以及相对应的学号
(2)该课程的平均分和均方差
(3)将该课程成绩按照从大到小排列、显示相对应学号
(4)按照学号显示学生成绩的原始分
1.4 设计退出系统的结束界面
2 实现方法
2.1 利用matlabLanguage instructions to write programs and GUI设计对话框.
2.2 直接利用matlabfunction to find the lowest score、最高分、平均分、标准方差、对成绩进行排序.
2.3 利用matlabfunction for statistics、分析,Draw histograms and pie charts.
3 设计内容
3.1 GUI图形设计
(1)建立GUIobject to add the required controls,Add the required buttons、菜单控件、静态文本框、列表框等.
(2)修改控件属性,The Property Viewer provides a range of properties,Controls can be changed by modifying the corresponding properties.
3.2 编写m文件
当建立GUI后,When executing or storing the interface,会产生一个M文件,单击M-file Editor icon button to write thatGUIunder each objectCllbackwith some initial settings.directly on each objectcallbackEnter the program code corresponding to the operation that should be called when the user presses the object.
二、部分源代码
function varargout = chengjiguanli(varargin)
% CHENGJIGUANLI MATLAB code for chengjiguanli.fig
% CHENGJIGUANLI, by itself, creates a new CHENGJIGUANLI or raises the existing
% singleton*.
%
% H = CHENGJIGUANLI returns the handle to a new CHENGJIGUANLI or the handle to
% the existing singleton*.
%
% CHENGJIGUANLI('CALLBACK',hObject,eventData,handles,...) calls the local
% function named CALLBACK in CHENGJIGUANLI.M with the given input arguments.
%
% CHENGJIGUANLI('Property','Value',...) creates a new CHENGJIGUANLI or raises the
% existing singleton*. Starting from the left, property value pairs are
% applied to the GUI before chengjiguanli_OpeningFcn gets called. An
% unrecognized property name or invalid value makes property application
% stop. All inputs are passed to chengjiguanli_OpeningFcn via varargin.
%
% *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one
% instance to run (singleton)".
%
% See also: GUIDE, GUIDATA, GUIHANDLES
% Edit the above text to modify the response to help chengjiguanli
% Last Modified by GUIDE v2.5 16-Jun-2022 16:54:23
% Begin initialization code - DO NOT EDIT
gui_Singleton = 1;
gui_State = struct('gui_Name', mfilename, ...
'gui_Singleton', gui_Singleton, ...
'gui_OpeningFcn', @chengjiguanli_OpeningFcn, ...
'gui_OutputFcn', @chengjiguanli_OutputFcn, ...
'gui_LayoutFcn', [] , ...
'gui_Callback', []);
if nargin && ischar(varargin{
1})
gui_State.gui_Callback = str2func(varargin{
1});
end
if nargout
[varargout{
1:nargout}] = gui_mainfcn(gui_State, varargin{
:});
else
gui_mainfcn(gui_State, varargin{
:});
end
% End initialization code - DO NOT EDIT
% --- Executes just before chengjiguanli is made visible.
function chengjiguanli_OpeningFcn(hObject, eventdata, handles, varargin)
% This function has no output args, see OutputFcn.
% hObject handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% varargin command line arguments to chengjiguanli (see VARARGIN)
% Choose default command line output for chengjiguanli
handles.output = hObject;
% Update handles structure
guidata(hObject, handles);
% UIWAIT makes chengjiguanli wait for user response (see UIRESUME)
% uiwait(handles.figure1);
% --- Outputs from this function are returned to the command line.
function varargout = chengjiguanli_OutputFcn(hObject, eventdata, handles)
% varargout cell array for returning output args (see VARARGOUT);
% hObject handle to figure
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Get default command line output from handles structure
varargout{
1} = handles.output;
% --- Executes on button press in pushbutton_open.
function pushbutton_open_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton_open (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
[filename,pathname]=uigetfile('*.xls','打开成绩文件');%选择要打开的文件
if isequal(filename,0)|isequal(pathname,0)
errordlg('The user did not select a file','出错'); %如果没有选择,An error window pops up
return;
else
str=[pathname,filename];
[mark,txt]=xlsread(str); %Get current file information
name=txt(2:end,1);
set(handles.namelist,'string',name); %显示姓名
set(handles.marklist,'string',num2str(mark)); %显示成绩
handles.count=length(name);
handles.mark=mark; %Define the grade global variable
handles.name=name; %Define the name global variable
guidata(hObject,handles);
end
% --- Executes on button press in pushbutton_save.
function pushbutton_save_Callback(hObject, eventdata, handles)
% hObject handle to pushbutton_save (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
[filename,pathname]=uiputfile('*.xls','保存的文件'); %选择文件
if isequal(filename,0)|isequal(pathname,0)
errordlg('File not saved','出错'); %如果没有选择,An error window pops up
else
str=[pathname,filename];
name=handles.name;
mark=handles.mark;
oldcount=handles.count;
[row,co]=size(mark);
col=co+1;
if row<oldcount
M=cell(oldcount,col);
else
M=cell(row,col);
end
M(1:row,1)=name;
M(1:row,2:col)=num2cell(mark);
xlswrite(str,M,1,'A2');
handles.count=row;
guidata(hObject,row);
end
function edit1_Callback(hObject, eventdata, handles)
% hObject handle to edit1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit1 as text
% str2double(get(hObject,'String')) returns contents of edit1 as a double
% --- Executes during object creation, after setting all properties.
function edit1_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit1 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
function edit2_Callback(hObject, eventdata, handles)
% hObject handle to edit2 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles structure with handles and user data (see GUIDATA)
% Hints: get(hObject,'String') returns contents of edit2 as text
% str2double(get(hObject,'String')) returns contents of edit2 as a double
% --- Executes during object creation, after setting all properties.
function edit2_CreateFcn(hObject, eventdata, handles)
% hObject handle to edit2 (see GCBO)
% eventdata reserved - to be defined in a future version of MATLAB
% handles empty - handles not created until after all CreateFcns called
% Hint: edit controls usually have a white background on Windows.
% See ISPC and COMPUTER.
if ispc && isequal(get(hObject,'BackgroundColor'), get(0,'defaultUicontrolBackgroundColor'))
set(hObject,'BackgroundColor','white');
end
三、运行结果

四、matlab版本及参考文献
1 matlab版本
2014a
2 参考文献
[1] 由伟,刘亚秀.MATLAB数据分析教程[M].清华大学出版社,2020.
[2]王岩,隋思涟.试验设计与MATLAB数据分析[M].清华大学出版社,2012.
边栏推荐
猜你喜欢

TCP协议详解

Super like the keyboard made from zero, IT people love it

Introduction to machine learning how to?

Detailed explanation of TCP protocol

Beijing suddenly announced that yuan universe big news

pycaret source code analysis: download dataset\Lib\site-packages\pycaret\datasets.py

Introduction to the five data types of Redis

自动化机器学习pycaret: PyCaret Basic Auto Classification LightGBM
![[AMEX] LGBM Optuna美国运通信用卡欺诈赛 kaggle](/img/64/55af53a3d9dc1162490d613fe8a436.png)
[AMEX] LGBM Optuna美国运通信用卡欺诈赛 kaggle

【 】 today in history: on July 31, "brains in vats" the birth of the participant;The father of wi-fi was born;USB 3.1 standard
随机推荐
Summary of MVCC
Web3.0:构建 NFT 市场(一)
RTL8762DK UART (two)
【历史上的今天】7 月 31 日:“缸中之脑”的提出者诞生;Wi-Fi 之父出生;USB 3.1 标准发布
Automated machine learning pycaret: PyCaret Basic Auto Classification LightGBM
MYSQL关键字Explain解析
Rasa 3.x 学习系列- Rasa - Issues 4898 学习笔记
Rasa 3.x Study Series - Rasa - Issues 4918 Study Notes
High dimensional Gaussian distribution basics
MYSQL经典面试题
现代企业架构框架1
How to get started with YOLO?How to implement your own training set?
Carefully summarize thirteen suggestions to help you create more suitable MySQL indexes
WebApi hits an Attribute to handle exceptions uniformly
An open source and easy-to-use flowchart drawing tool drawio
虹科分享|如何用移动目标防御技术防范未知因素
Kyoto University: Masaki Waga | Dynamic Masking for Reinforcement Learning in Black Box Environments
pycaret source code analysis: download dataset\Lib\site-packages\pycaret\datasets.py
500 miles
你需要知道的 TCP 四次挥手