基于matlab的学生成绩分析系统设计Word文件下载.docx
《基于matlab的学生成绩分析系统设计Word文件下载.docx》由会员分享,可在线阅读,更多相关《基于matlab的学生成绩分析系统设计Word文件下载.docx(20页珍藏版)》请在冰豆网上搜索。
应用学生成绩分析系统,可以大大提高工作效率,减少成绩评判的误差。
关键词:
MATLAB;
学生成绩分析系统;
信息
DesignofstudentsperformanceanalysissystembasedonMATLAB
Abstract
ThispaperusesMATLABtoolstoachievethestudentperformanceanalysissystemdesign.Thesystemisdividedintogradesincludedstatisticsmodule,achievementanalysismodule,theanalysisresultsevaluationmodule,testreportmodule.Throughtheanalysisofstudentachievement,accordingtoexcelandotherauxiliaryapplicationsanddataanalysisresults,thestudents'
learningattitudes,cognitiveability,teachers'
teachingqualityandotheraspectsofsummaryevaluation,andprovidereliablebasisforteachingmanagement.
Theprojectnotonlysolvedapracticalproblem,butalsoprovidesasolutiontothegeneralproblemofthebasictrainofthought.Forinformationcollectionandintroduction,andthenaccordingtotheinformationrequiredforanalysis,followedbytheanalysisofreliabilityofcontent,thefinalconclusion.Appliedresultanalysissystemisreliableandeffective,improveworkefficiency,reducetheerrorofresultevaluation
Keywords:
MATLAB;
analysisofstudentachievementsystems;
information
1.绪论
1.1选题的意义
众所周知,评价学生的学习效果是教学评价的重要环节。
随着素质教育的逐步深入,如何评价学生的学习状况成为我们在学生素质培养方面取得突破的当务之急。
评价学生学习状况的目的是激励优秀学生努力学习取得更好的成缋,同时鼓励基础相对薄弱的学生树立信心,不断进步。
然而,现行的评价方式单纯的根据"
绝对分数"
评价学生的学习状况,忽略了基础条件的差异;
只对基础条件较好的学生起到促进作用,对基础条件相对薄弱的学生很难起到鼓励作用。
同时我们也意识到,评价结果只代表评价对象目前的个人情况,在学生学习状况评价时,通过考试或其他评价手段所获得的评价结果,只表明学生目前在某一方面学会的行为或之前所处的位置,代表他们学会了做什么、怎么思考同题和表达思想,评定成绩表明的是学生目前的表现,它不能代表过去也不能预示将来。
因为学生的发展是一个动态起伏的过程,而不是一个线性过程。
而且学生可能在某一方面成绩不理想,但在其他方面却有出色的表现。
评价结果并不一定就是评价对象真实水平的表现,只是对其表现的一种估计。
因此,我们不要过分迷信评价的结果,在解释这一结果时不要过分夸大学生的某类差异或变化,更不要轻易给学生贴上“学习缺乏动力”、“没有发展前途”、“太笨了”等标签。
1.2研究内容
本课题主要解决对学生成绩总体的客观评价,通过一系列数据的分析比较,例如平均值,成绩分布等整体数据的处理,以及matlab和excel在数据联动功能方面的应用,所绘制的直方图、正态分布图等图像信息使得分析成绩系统更直观、有效地反映学生此课程这一阶段的表现,进而研究今后的教学重点,以及从教学到考试等一连串过程中的薄弱环节,从而达到教学相长的目的。
不论是对学生的整体学习情况还是单独考虑每个学生的学习情况都能够进行较好的评价。
面比起单纯的"
评价学生的学习状况,忽略了基础条件的差异,我们运用了各种方法和模型来去避免这类现象的发生,动态的分析每个学生的情况,并从定性和定量两方面分别给出了数值与建议。
2.系统的总体方案设计
2.1系统功能需求
学生成绩分析系统主要功能是完成对学生成绩的分析,对考试成绩及其试卷等整体情况的横向分析,并且形成对个人成绩的动态分布的纵向分析。
同时,充分的获取教学信息的基础上,给出在次研究基础条件上的建议,便于分析教学,教务及学生学习规划上的优劣势,为以后的改进提供依据。
学生成绩管理分析系统实现以下主要功能。
1、成绩录入功能
能够完成对于学生相关信息和考试成绩的录入:
成绩导入,试卷模式,阅卷模式,教师信息,课程信息,学生信息等基本情况(此系统将学生的成绩制成EXCEL电子表格)
2、分析信息功能
对录入学生成绩信息的基本情况分析并给出结果。
(1)分析考试相关信息主要包括:
试卷模式,课程概括,学号,阅卷方式等。
(2)对选取班级成绩结果分析。
(3)纵向分析学生个人成绩统计。
3、绘图功能
分析学生考试情况并绘制该课程成绩直方图。
(1)该课的最低分、最高分以及相对应的学号。
(2)该课的平均分和均方差。
(3)将该课成绩按照从大到小排列、显示相对应学号。
(4)绘制该课学生成绩直方图(学生成绩分几段,统计每段分数的人数,选择分数段中间数据,以此数据与人数为横、纵坐标,绘制直方图)。
4输出功能
输出相关结果:
成绩分布直方图、考试结果的分析以及生成试卷分析。
2.2系统方案设计
2.2.1系统总体设计方案
本系统的主要模块可大致分为:
主界面设定,成绩导入,数据统计,直方图绘制,正态分布规律的判定,评价分析成绩,生成成绩报告等方面。
系统功能模块如图2-1所示:
图2-1学生成绩分析功能模块图
2.2.2功能模块介绍
1、主界面设定环节。
主界面的设定可以将需要的信息直观而简明地表达出来,通过matlab命令,利用GUI设计面板设计对话框,对话框内容包括了:
最高分及其学号,最低分及其学号,班级的平均分,均方差,班级考试人数,直方图等,对输入任何一组相关成绩信息后均可得到相应的信息数据,方便对于大量数据分析统计
2、导入成绩。
成绩的导入相当重要,在使用excel与matlab连接上,通过命令程序将成绩数据导入matlab运行环境中,成功实现了matlab和excel的联动,使得对于输入数据这一环节更加简便,同时也为后面的分析研究提供了可靠而有效的数据支持。
3、统计数据。
统计数据是本系统的关键环节,通过编程将一系列数据进行计算分析得出该组数据的最大值、最小值、平均差、均方差等经验分布数据,为后面绘制直方图提供了可靠地数据基础,同时,平均值,均方差的计算为后面进一步评价成绩作了铺垫。
4、绘制直方图。
作为评价及分析的图像依据,直方图让人一目了然,直方图中包涵了大量统计信息,直观且迅速地将信息传递出来,并为后面判定系统是否符合正态分布提供了依据。
5、正态分布的判定。
学生成绩是否服从正态分布关系到试卷质量、教师教学等一系列考试之外的硬件信息,服从正态分布且平均值等都处于系统允许的范围内是即认定系统分析可靠,分析结果可靠。
6、其他成绩信息分析。
及格率以及分数段的比例、班级成绩波动情况等分析有效地拓展了分析思路,并且涵盖了大量分析成绩的重要依据。
7、生成分析报告。
在成绩分析的基础上,对符合某种情况的结果,给出相应的建议,生成考试成绩分析分析结果,为老师的教学和对学生个人的培养提供信息。
3.系统的功能设计与实现
3.1系统的原理
MATLAB的图形和可视化能力很好的体现了算法的性能和指标。
得到的算法可以在Simulink环境中以模块的形式实现,通过系统的建模,进行系统的动态仿真从而得到算法在系统中的动态验证。
分析主要过程是对主体设计的编程,以及调用函数的应用分析过程。
以下简单介绍系统工作的基本原理:
1、经验数据分析:
衡量教育测量指标的质量的可信度、效率度也是以统计数据
为基础的,通过matlab编程语言和调用相关函数实现对成绩的最大值,最小值,平均值,均方差等统计数据的图形化,并进一步绘制直方图。
2、正态分布原理:
教育界普遍认为,当考试试题比较合理、难易适中时,学生成绩基本上服从正态分布,即呈现出“中间大,两头小”的图形分布趋势。
大多数学生的成绩处于中等状态,高分段和低分段的学生人数较少,是符合统计学中的统计规律的。
成绩分析系统的基本原理及其系统的工作流程如下图3-1所示:
图3-1成绩分析系统原理图
利用成绩分析系统原理及其运行步骤可方便程序的编写和嵌入,对于其中细节的讨论和研究起着重要的作用,同时,使用上述方法分析成绩,得出结论的方式也是有效且合理的。
原理的确立让后面的操作和编程更有信心。
3.2系统的设计与完成
在matlab环境下完成学生成绩系统的设计首先要在MATLAB环境下通过运行编写的成绩分析界面程序,完成分析界面的设计;
然后录入成绩,建立分析对象;
最后完成对成绩进行统计。
3.2.1主环境的设计
即成绩分析系统界面程序的设计制作,主要包括在matlab中编写程序语言,设计成绩收录,学生信息等操作和信息窗口。
操作界面上的正态分布直方图按钮指示对应的是正态分布直方图,依此类推。
在matlab中编程结束后运行程序,显示学生成绩分析系统主界面,如图3-2所示:
图3-2程序主界面
3.2.2导入成绩
运用excel和matlab的数据连接,通过matlab编程语言将excel表格中的数据导入matlab中,进一步调试后完成对数据的解读和分析。
导入成绩的程序如下:
functiondaoru_callback(hObject,eventdata)
handles=guidata(gcf);
drvalue=get(handles.chengji,'
value'
);
switchdrvalue;
case1;
geshi={'
*.xls'
'
Excelfile(*.xls)'
};
[FileNameFilePath]=uigetfile(geshi,'
导入外部数据'
ifisequal([FileName,FilePath],[0,0]);
FileFullName=[FilePathFileName];
[pathstr,namestr,ext]=fileparts(FileName);
ifstrcmpi(ext,'
.xls'
[datacj,data_char]=xlsread(FileFullName);
…………….
chengji.char=data_char;
savechengji.matchengji;
data=datacj(:
end);
………
3.2.3统计数据
1、设计基本对话框
通过gui命令框设计统计数据的基本对话框,该对话框应包括输入数据要求,根据统计以下要点:
最高分,最低分,平均分等。
命令对话框的程序如下:
set(gcf,'
position'
[172224570463],'
NumberTitle'
off'
color'
c'
name'
08电气自动化成绩分析36人制学号'
text1=uicontrol(gcf,'
style'
text'
string'
输入函数矩阵
'
[20430130.520],'
fontsize'
10);
edit1=uicontrol(gcf,'
edit'
[2040553020]);
text3=uicontrol(gcf,'
最高分及相应学号为
10,'
[8036012020]);
text4=uicontrol(gcf,'
[2103605020]);
text5=uicontrol(gcf,'
最低分及其相应学号为
[28036012020])
text6=uicontrol(gcf,'
[4103605020]);
text7=uicontrol(gcf,'
该课程平均分为
[9033510020]);
text8=uicontrol(gcf,'
[2103355020]);
…….
初步分析对话框如下图3-3所示:
图3-3分析对话框
2、获取最大值,最小值,标准差,平均差
将按学号排列的学生成绩进行相应的最大值,最小值,标准差,平均差的分析。
是此次学生成绩分析系统中的关键的分析程序内容。
(1)求成绩的最大值
程序如下:
function[mx,d2]=masize(a)
n=length(a);
mx=a
(1);
fori=1:
n
ifa(i)>
mx
mx=a(i);
d2=i;
end
end
(2)求成绩的最小值
function[m1,d1]=misize(a)
m1=a
(1);
ifa(i)<
m1
m1=a(i);
d1=i;
(3)求成绩的平均值
functionaverage=avsize(a)
s=0;
s=s+a(i);
average=s/n;
(4)求成绩的方差
functions1=sdsize(a)
s3=0;
s3=s3+a(i);
average=s3/n;
fori=1:
s4=(a(i)-average).^2;
s=s+s4;
s1=sqrt(s/(n-1));
通过此模块对学生成绩的统计分析,不仅给出了学生成绩的最大值和最小值,还完成了对学生成绩的平均差,标准差等经验数据的分析,为后面做直方图奠定了数据基础。
4.系统应用示例分析
4.1系统的应用
1、下面对系统功能进行测试,以巢湖学院08级自动化班matlab考试的成绩为例,将成绩制成excel电子表格,通过matlab的导入函数,在matlab的环境中,生扩展名为.xls的文件,就完成成绩的录入。
制作的班级成绩的excel表格如下图4-1所示:
图4-1班级成绩excel表格
2、平均值图。
根据成绩导入的数据,点击“统计得”后点击“均分为”可得成绩平均值。
平均值图如图4-2所示:
图4-2平均值图
3、绘制直方图。
通过学生成绩的录入和分析,将横轴设置为分数段,纵轴为累计频数,即在某分数段人员的分布情况,运行系统结束后系统自动生成直方图,从而绘制统计系统直方图并为分析成绩分布及正态分布规律创造条件。
下图4-3为成绩分布直方图:
图4-3成绩分布直方图
图形分布大致呈“钟形”,可以基本认定数据服从正态分布,符合之前对成绩评价的预估。
4、频数统计
对成绩的整体情况做了统计后,下一步我们要做的就是更进一步的分析。
系统要能完成各种横向的统计,实际参加考试的人数、缺考人数以及各个分数段之间的人数;
还要统计出标准差、峰度等。
频数统计程序如下:
functionfenbu_tj(hObject,eventdata)
data=getappdata(gcf,'
data'
k=get(handles.edit6,'
k=str2num(k);
list_value=get(handles.fxjg,'
if~isempty(data);
n=length(data);
mean1=num2str(mean(data));
fail_num=sum(data<
60);
fail_rat=num2str(100*(fail_num/n));
fail_num=num2str(fail_num);
pass_num=sum(data>
=60);
pass_rat=num2str(100*(pass_num/n));
pass_num=num2str(pass_num);
N90_100=sum(data<
=100&
data>
=90);
P90_100=num2str(100*N90_100/n);
N90_100=num2str(N90_100);
N80_89=sum(data<
90&
=80);
………..
P60_69=num2str(100*N60_69/n);
N60_69=num2str(N60_69);
switchlist_value;
case1;
set(handles.edit5,'
mean1);
case2;
['
及格'
pass_num,'
人占'
pass_rat,'
%'
]);
case3;
不及格'
fail_num,'
人占'
fail_rat,'
%'
case4;
60---69分'
N60_69,'
人占'
P60_69,'
……………..
case7;
90分以上'
N90_100,'
P90_100,'
case8;
实际参加考试共'
num2str(n),'
人'
………….
将各分数段所占人数作统计是本系统所给出的另一个有效而实用的统计分析结果,根据直方图给出的粗略信息外,成绩的具体分布对分析教学质量好坏,教学经验的累积有着重要作用,其频数值也为后面分析系统是否符合正态分布做好铺垫。
5、正态分布规律分析
根据以上统计分析,能得到学生的成绩平均分、最高分、最低分、各个分数段的人数等,通过对经验分布、正态分布的分析以及直方图的试图等大量有效信息。
我们能清楚的了解学生的学习,对知识的掌握情况,老师的教学质量。
我们科根据以往的教学经验,提出建议,以供做有效的决策参考,这样需要建立分析模板程序。
分析模板程序的建立,要根据考试的情况,建立不同的模板。
(1)判定正态分布规律
程序中分析系统是否符合正太分布并给出评价:
fail_num=sum(data<
pass_rat=[num2str(100*(1-fail_num/n))'
%'
];
fail_num=num2str(fail_num);
N90_100=sum(data<
P90_100=num2str(100*N90_100/n);
N90_100=num2str(N90_100);
N80_89=sum(data<
…
ifnorm_h==0
norm_str='
服从正态分布'
;
else
不服从正态分布'
case4
moban_str=[‘试卷覆盖率高,对知识的考察程度较全面………体现教学大纲上对知识点掌握情况的不同要求,……从阅卷的情况来看,总体题量适中,难度适中。
大部分的学生对于基础题都能够掌握的很好,这说明这些学生在平时能够认真学习……概念的理解上没有真正掌握,还需要再强调并加强练习………这班的学生学风一般,个体差距较大,…….’]
(2)绘制正态分布图
得到系统分析后的正态分布图如下图4-4所示:
图4-4正态分布图
其核密度图如下图4-5所示:
图4-5核密度图
通过对实际成绩的分析,可以得到大量的信息,系统还能生成Word文档成绩分析,可以在界面上选择与考试相关信息,如任课教师、阅卷方式、考试方式等。
为了