基于MATLAB的工程测量专业水准试题库建设
2019-08-30林波
林 波
(福建水利电力职业技术学院,福建 永安 366000)
0 引言
标准化考试是现代教育的趋势,建立试题库是实施标准化、客观化考试的基础工程,既可实现教考分离,又可客观检测教师教学成果和学生学习效果。[1]伴随这个热潮,许多高校从自身的校情、学情出发,建设自己的试题库。
试题库建设经历了半个多世纪的时间,已成为高校教学改革的一部分。试题库建设是专业建设和课程建设的重点工作,试题库建立和应用,对于教师而言,可以减轻其出卷的工作量,把更多的精力投入到教学环节中;对于学生而言,可以激发其学习兴趣和主观能动性;对于学校而言,可以更系统客观地检测教学成果和反馈教学薄弱环节,继而针对性的解决存在问题,改革教学方法,提高教学质量。
一个运行状态良好的试题库可以对教师的教学质量进行有效的质量评价和监控,推动教学改革,还可实现以考试促进学生学习兴趣,建立良好的教风学风。
1 试题库建设目前存在的问题
1.1 试题库建设质量问题
目前,高校试题库建设任务重大且迫切,高校教师教学科研工作量又大,造成平时没有按进度进行建设任务,往往到检查验收阶段,才应付性地搭建试题库,试卷库。这样建立起来的试题库质量上必定存在或多或少的问题,从根本上违背了试题库建设的初衷。[2]
1.2 试题库建设不够智能
目前考试试题库存在试题单一、考试标准不统一、考试题型不合理、缺乏试卷分析反馈、易出现作弊现象等问题。[3]为避免重复率、相似率,试题库要求的题量往往比较大,若要求试题库中提供上百成千套试题,由于工作量大,大多采用修改卷头、数字等传统方法,这使得试题库内容大同小异,在此环境下,探索开发一套工程训练试题库及自动组卷系统成为必然,可以根据不同专业、不同授课程度,控制试题的难度和考点,从而提高考试的规范性和可操作性,也可以提高考试在检查教学成果中的功能。
2 工程测量技术专业水准测量项目试题库特点
工程测量技术是以科学采集和处理地球表面和空间信息为主要任务的一门专业。高职院校应该按照复合型人才的需求,扩大工程实践教学课程体系,逐步形成“工程认知、基础训练、综合实践和创新训练”为一体的综合性工程训练课程群[3]。工程测量技术专业以培养测绘行业岗位职业能力人才为目标,采用“练—学—练—做”的人才培养模式,是一门综合性很强的专业。核心课程主要有工程测量、控制测量、地籍测量、GNSS定位测量和测量平差等,涉及到的重要的核心能力就是计算能力,因此专业试题库中计算题占据比例较大。又由于学生规模较大,实践教学资源在很大程度上不能满足实践教学的要求。
高程基准是国家测绘基准重要组成部分,是我国地理空间基础框架的主干之一,也是国民经济、社会发展、国家安全等建设的重要基础。[5]水准测量工作是目前高程测量中广泛应用的一种方法,并且公认为精度最高。试题类型一般分为闭合水准路线和附合水准路线(见图1)内业平差工作[4],对计算能力的要求较强,数据量需求较大。采用传统的手工修改数据和利用外业测量数据的方法建立数据库工作量庞大,效率低。
图1 水准路线的布设形式
3 基于MATLAB软件编程功能随机生成的题库构建
MATLAB(matrix laboratory)意为矩阵实验室,其基本数据单位是矩阵,指令表达式与数学、工程中常用的形式十分相似,拥有600多个工程中要用到的数学函数。MATLAB具有强大的运算与编程能力,运用MATLAB模型编写相应的计算程序,可以计算出相应的预测值,大大缩短了计算时间,并提高了准确度。[6]在计算要求相同的情况下,使用MATLAB的编程工作量比底层编程语言大大减少。[7]
水准测量试题编写思路:
(1)设定各测段线路长;
(2)根据测量规范得到线路高差闭合差限差;
(3)然后确定相应测段高差,使高差总和满足限差要求。
传统的处理方法一般为手工修改数据和外业测绘数据采集。手工修改数据工作量大、繁琐,数据修改幅度小,数据相似度高,外业测绘采集工作量大,耗时费力。应用MATLAB编程功能随机生成符合条件的数据组,从而避免以上所述问题。
以闭合水准路线为例(见图1(a)),水准点BM的高程已知,由该点出发,按照四等水准规范,依次测定1、2、3点高程后,再回到BM点组成闭合水准路线。应用MATLAB程序编写如下:
clc;
clear;
n=10; %生成的数据组数量(可以根据需求设置)
LL=zeros(n,4); %输出的路线长
delt_HH=zeros(n,1); %输出的路线长对应限差值
HH=zeros(n,4); %输出的各高差
for i=1:n;
L=rand(1,4)*40+10; %输出的路线长
LL(i,:)=L;
delt_H=12*sqrt(sum(L)/1000)/1000;
delt_HH(i)=delt_H;
s=1;
H=rand(1,4)*20-10;
while abs(sum(H))>delt_H;
H=rand(1,4)*20-10;
if abs(sum(H))<=delt_H;
HH(i,:)=H;
break;
end
end
End
程序编写步骤为:
(1)随机生成4个测段长数据;
(2)测段长求和;
(3)根据水准测量的的闭合差限差公式得到限差;
(4)随机生成相应的测段高差,使高差和≤限差。
输出成果(见表1—2)。
表1 测段长数据
表2 相应高差数据
应用MATLAB编程解决的问题:
(1)程序中生成数据组为n=10,因此生成以上10组测段长和对应的高差,我们可以根据数据量需求对n进行重新设置,可以避免试题库试题数据量少问题。
(2)程序运用了Rand函数,表中数据为随机生成,重复运行程序,可以随机生成不同的10组测段长和对应的高差,可以避免试题库数据重复率大、相似度高等问题。
(3)程序中高差闭合差delt_HH根据公式求解得到,生成的测段长和高差数据组为一一对应关系且均满足限差要求,可以避免数据超限、不合理等问题。
4 结论
基于MATLAB软件编程功能进行试题编程,随机生成大量的数据组,然后赋值于试题,该方法简单、高效和可靠。由此文扩展,在试题库建设大潮中,我们可以借助更多MATLAB函数来完成试题库的智能化、高效率建设。通过教考分离,促进了工程训练教学的规范性,并且通过组卷系统的应用统计和调查,取得了良好的教学效果。