基于Matlab和B/S的中学数学实验室系统*
2014-11-10史崇升汤全武未宏龙
史崇升 ,汤全武 ,吴 佳 ,张 然 ,未宏龙
(1.宁夏大学 物理电气信息学院,宁夏 银川 750021;2.宁夏大学 教育学院,宁夏 银川 750021)
Matlab具有可靠的数值计算和符号计算功能、强大的绘图功能、简单易学的语言体系以及众多的应用工具箱[1]。Matlab在高等数学和物理学中的应用广泛,方法和技术相对成熟,而将Matlab与中学数学教育相结合的实例较少。黄宇[2]以高中数学指数函数为例,将Matlab语言引入数学可视化教学中,通过模拟演示实验、验证实验和探索实验完成对指数函数的学习;伊马木·达吾提[3]将Matlab具体应用在中学数学求解多项式、区间求解函数零点、函数求导领域中;朱敏[4]利用 Matlab构造二维曲线、对数函数等初高中常见的函数,把Matlab应用到数学函数教学中,展示基本概念与结论;王爱红[5]将Maltab应用在中学数理统计的教学中,为信息技术与学科整合提供了解决方案;黎明等人[6]针对Matlab图形处理的优势,就其在中学数学和地理所涉及的图形绘制、数形结合和数据插值拟合等方面的应用做了探讨;辛贺华[7]利用MatLab绘制中学数学教学中常用二维和三维函数图形的问题;李瑞生[8]简单阐述了“数学实验”的概念和目标并选用Matlab作为工具,以示例的方式对Matlab在数学实验中的问题求解这一环节加以讨论。在上述Matlab应用于中学数学的实例探索中,存在一个共同问题,即需要教师进行预先或者现场的编程演示,不仅花费的时间较多,而且仅限于熟知Matlab语言的中学一线数学教师,并且实例所涉及的知识点和内容有限,不能充分利用Matlab的功能和特点进行系统的教学。
随着教育信息化技术的成熟,将网络技术与Matlab相结合,设计和开发基于网络平台的虚拟数学实验室,可以借助Matlab强大的作图和分析功能以及对函数图形进行直接操作的优越性,实现抽象内容形象的动态三维展示,帮助学生充分理解并掌握重点难点,激发学习兴趣。同时,对推动改善目前现有的数学教学环境,提高教师的教学效率和学校的教学质量具有重要的促进作用。
1 中学数学实验室系统的总体设计
系统采用B/S构架体系,用户只要通过Web浏览器即可使用系统进行课程的教学。系统由数学实验室、管理模块和数学题库组成。系统具体的功能结构如图1所示。
图1 系统功能结构
数学实验室结合中学数学的教学实际需求,选用人教版中学数学教材,实验内容涵盖教材各章节和知识点,是教材的同步实验室,并且结果表现形式丰富:(1)几何处理,包括坐标变换、图形的放大、缩小、旋转、移动以及周长、面积、体积计算等;(2)曲线色彩、线型和线宽的灵活改变以及网格的显示与隐藏;(3)可通过动画形式展现绘制过程,标准的坐标网格利于用户观测数据,且可以通过鼠标获得所取点的坐标数值;(4)可进行根据用户需求获得折线图、散点图、直方图等数据统计结果的显示;(5)常用三维立体图、函数曲线图均可进行360°旋转,用户可以清晰地观测图像的三视图并且可以通过鼠标获取单独的三视图;(6)实现参数方便灵活的调整以及目标函数的输入、运算和绘图功能;(7)结果可形成文档或者保存为图片,方便实验结果的记录。同时,数学实验室提供基于Matlab设计的视频播放器和学生用计算器。管理模块用来对用户、系统信息等的管理与维护。数学题库由高中数学题库和初中数学题库两部分组成,均按教材分类,包括章节的检测题、综合检测题、升学考试题、中期模拟卷、期末模拟卷等。
2 中学数学实验室系统的开发
2.1 数学实验室的设计与实现
系统数学实验室的设计与实现采用可视化图形用户界面设计方法。Matlab中设计GUI程序的前台界面有全命令行的M文件编程和GUIDE辅助的图形界面设计两种方式。GUIDE即Maltab提供的GUI程序的集成化设计和开发环境,其要比前者更为简单,是一种可视化的图形用户界面设计方法[9]。由于数学实验室是教材的同步实验室,其设计可根据教材逐一进行实现,界面的制作步骤如图2所示。
图2 界面的制作步骤
系统的视频播放器并非在Web网页中嵌入播放器,把流媒体作为一个对象直接嵌入到Html中,实现音频和视频同步[10-11],而是采用ActiveX技术在微软的Media Player播放器中实现利用Matlab调用AVI视频。创建ActiveX控件的Matlab命令函数为actxcontrol,它支持WMPlayer.OCX.7、Windows Media Player播放器。考虑到Windows Media Player需要进行ProgID查询,即使查到的ProgID准确无误,创建的视频播放控件在程序的调试过程中依然错误很多,故本系统在设计和开发过程中,利用WMPlayer.OCX.7播放器实现Matlab对AVI视频的调用,其ProgID即为WMPlayer.OCX.7,利用actxcontrol函数创建控件对象,并利用paly函数实现AVI视频的播放。
2.2 VS与GUI的接口技术
Matlab/GUI程序转化成EXE文件采用Maltab Compiler工具进行实现。采用对调用控件的CS文件添加方法执行转换程序的调用事件即可实现VS与Matlab/GUI的接口问题。
2.3 系统网络端的设计与实现
系统网络端的设计与实现包含数据库的设计、Asp.net技术实现和网站的发布三部分。
数据库的设计先采用数据库概念模型设计方法抽象出系统中各个实体之间的联系,然后在SQL数据库中建立系统所要的基础表。
Asp.net技术实现分为业务层和表现层两层。其中,业务层采用Ado.net技术和数据源绑定控件GridView;表现层主要利用Asp.net的Session内置对象、文本类型控件等控件进行实现。
网站的发布主要是通过对IIS应用服务器进行安装和配置实现。
3 系统的例证
数学实验室由高中数学实验室和初中数学实验室2个模块组成,各模块均包括相应教材的同步实验室模块、视频播放器和趣味模块。下面以高中数学实验室为例,进行实验室功能的演示。图3是高中数学实验室的主界面。
图3 高中数学主界面
在选修1-1实验室中选择输入曲线方程,输入任意曲线方程,比如x2+y2-5xy-2x+4y=0,按照要求输入 x^2+y^2-5*x*y-2*x+4*y,再按绘图按钮,并改变结果图形的颜色、线性和线宽,得到的结果如图4所示。
图4 任意曲线方程图形
对图4利用工具栏中的放大、三维旋转、获取坐标、拖动功能处理,结果如图5所示。
本文采用Matlab、Asp.net等开发环境和平台,开发了一个通用性强、简单实用、功能完善并且基于B/S构架体系的中学数学实验室系统。将Matlab设计的数学实验室与网络技术相结合,充分利用Matlab优秀的数值计算能力和卓越的数据可视化能力以及强大的绘图功能,进行网络平台的可视化教学,实现了数学教学中抽象内容形象化的动态三维展示,改善了传统教学手段3个“一”的单一性缺点,可促进学校在师资、课程体系、教学内容、教学方法与技术、教学管理等方面系统的改进;促进学生分析问题、解决问题能力的形成,培养学生数形结合的数学思想,形成良好的数学思维习惯,提高教师的教学效率;促进学校充分利用学校现有的计算机和网络资源,降低教育投入和资源的浪费。
图5 工具栏功能演示
[1]樊开阳,林小兰.基于 Matlab GUI的直流电机 PID调速系统的设计[J].微型机与应用,2013,32(22):62-65.
[2]黄宇,汤全武.Matlab语言在指数函数可视化教学中的应用研究[J].佳木斯教育学院学报,2013(7):210-216.
[3]伊马木·达吾提.MATLAB在解函数和求导等方面的应用[J].数学学习与研究,2012(15):11-12.
[4]朱敏.Matlab在数学函数教学中的应用[J].内江科技,2009(7):183.
[5]王爱红.Matlab在统计函数与最小拟合函数的应用[J].成功(教育),2012(18):170.
[6]黎明,计春雷.MATLAB在中学数学和地理教学中的应用[J].考试周刊,2013(8):122-123.
[7]辛贺华.MatLab在中学数学教学中的应用[J].中小学电教,2007(9):48-50.
[8]李瑞生.浅谈利用MATLAB开展数学实验教学[J].甘肃科技纵横,2006,35(1):150-151.
[9]谢治州,罗晓宾,严忠权.基于 MATLAB网络数学实验室的构建[J].黔南民族师范学院学报:自然科学,2010(6):9-15.
[10]严林祥,张红雨.基于 Web和 nRF24L01的远程数据接收器设计[J].电子技术应用,2013,39(10):69-71.
[11]户青文,郑凯.网络数学实验室的设计[J].湖北广播电视大学学报,2007,27(2):149-150.