1. Matlab简介
Matlab是MatrixLaboratory (意为矩阵实验室)的简称,由美国MathWorks公司出品。Matlab作为一款卓越的数学软件,将矩阵运算、信号处理、数值分析、绘图功能、系统仿真建模于一身,让用户在易学易用的环境中解决问题。因此,Matlab也被誉为“万能的草纸”。
Matlab作为三大数学软件之一,在数学类科技应用软件中的数值计算方面一马当先。矩阵运算、实现算法、绘制函数和数据图像、创建用户界面、连接其他编程语言的程序等Matlab都可以进行,这些功能主要应用于工程计算、控制设计、图像处理、信号处理与通讯、信号检测、金融建模设计与分析等范畴。
2. Matlab在教学上的应用实例
在二十世纪九十年代,科技的快速发展让计算机在各个领域都占有一席之地,多媒体在教学中的应用也越来越受到重视。Matlab应用到在理科教学也因此成了热门。本文统计了在中国知网CNKI《中国期刊全文数据库》中收集的,关于Matlab在教学中的应用方面的文献,并简要总结了Matlab在教学领域的应用研究现状。
在CNKI的中国期刊数据库中使用“Matlab”、“教学”这两个词语,以模糊匹配的方式检索主题,检索到1995~2017年共4891篇署名论文。检索到的文献年代分布情况如图1所示。
从图中我们可以看出,最早关于Matlab在教学应用方面的文献出现在1995年,1995年至2000年,文献数量增长较为缓慢,说明该领域的研究正在展开。进入新世纪,随着计算机的普及,Matlab在教学应用方面的文献也有了迅速地增长,尤其是在2001年到2010年这个时间区间内,计算机的普及让Matlab强大的计算能力在教学领域内更加受到重视。2010年以后,虽然文献数量有所波动,但幅度不大,而且走势趋于平缓逐渐稳定,这说明相关的应用研究已经逐渐成熟。
除了对Matlab在教学领域方面的文献的分布年代统计之外,还对收集到的119篇Matlab在教学各领域中的文献所占比率做了统计,统计结果如图2所示。
从图2中我们可以看出Matlab在各学科中,主要集中在数学、物理和化学这几门学科,占其总量的79.84%,说明Matlab辅助教学在这三门学科中应用的最多,本文也将以这三门学科为例介绍Matlab在理科教学中的应用。
2.1. Matlab在数学教学上的应用实例
函数图像在数学学科中有着重要的地位。因为函数图像具有抽象性,用以往的教学方法讲授函数知识,学生往往会受到空间想象力的限制,难以理解和掌握。想从一定程度上改善这种现状可以采用软件辅助的教学方法。
Figure 1. The years distribution of literatures
图1. 文献的年代分布
Figure 2. Matlab in the chemical fields of the literature quantity distribution
图2. Matlab在教学中各学科的文献数量分布
2.1.1. Matlab在中学数学教学上的应用实例
在高中数学教学中,函数图像有着重要的地位,将教学与Matlab图形可视化功能巧妙结合,不仅可以克服教师在黑板上作图难、作图慢的问题,更可以将函数的图像、概念及性质形象地表现出来,从而使学生更直观地理解函数这一抽象的概念。
钮明瑞 [1] 等将中学数学常见方程与方程组和Matlab结合起来,利用Matlab求解方程或分析方程结果的几何意义,做到了数形结合。使用Matlab来求解方程或方程组的解并绘制相应的函数图像,代数式的几何意义便可以直观快速地得到体现。例如求方程
的解,直接用公式求解,尽管并不难,但数学意义其实不明确。如果利用函数图像,使
,然后画出对应的曲线,方程的几何意义便很直观明确了。
使用Matlab画出图形,如图3,可以观察到,当
和
时,
。这样,对于方程
解的几何意义便有了明确的认识。
又如求解由
和
两个方程构成的二元一次方程组,解这个方程组非常容易,但是初中生刚学习函数时,对于直线方程所代表的几何意义不清楚,对于二元一次方程组解的含义也不太明确。使用Matlab把两个方程的几何图形表示出来,这对学生尽快掌握相关知识非常有帮助(如图4所示)。
图4中的红色直线和蓝色直线分别对应于
和
两个方程,而其交点便是该方程组的解,这样不仅让学生进一步理解一次函数,更直观地理解了方程组解的几何涵义。
2.1.2. Matlab在大学数学教学中的应用实例
此外,Matlab在大学阶段的教学中也被广泛应用到高等数学、线性代数、数值分析以及概率论等学
Figure 3. The solution of the quadratic equation
图3. 一元二次方程的解
Figure 4. The solution of the binary equation
图4. 二元一次方程的解
科中,并发挥重要作用。
(一) 在高等数学中利用Matlab求函数的极限。
极限是高等数学中非常重要的概念,计算很繁琐,学生不容易明白。求一个函数的极限,经常要综合利用比如等价无穷小替换、恒等变形消去非零因子、两个重要极限公式等方法,计算结果并不是那么显而易见。徐森 [2] 通过Matlab的画图功能,描绘出函数
的图像,如图5。
从图像上可以看出,当x无限趋近于0时,
的函数值无限趋近于1,图像上直观的描述出了“重要极限”的结论。另外,从图像上可以看出
的左右极限存在且相等。函数的图像通过Matlab的绘图功能便可生成,通过观察了解极限的概念,对巩固学生对重要极限的掌握和理解有很大的帮助。
(二) 在高等数学中利用Matlab绘制空间图形。
空间图形一直在高等数学中占据很重要的地位,它的表达式由三元方程表示。绘制三维图像对于空间想象力不好的学生有一定难度。张建勇 [3] 等利用Matlab软件具有的出色的计算功能和图像处理能力绘制空间曲线之螺旋线如图6。
Figure 5. Function image of y = sin(x)/x
图5. y = sin(x)/x的图像
Figure 6. Use plot3 to draw a spiral
图6. 使用plot3绘制螺旋线
通过Matlab辅助做图,对教师来说,课堂的绘图和计算的时间得到了节省,自己的教学手段、内容和形式得到了丰富。对于学生来说,也是事半功倍。
(三) 在高等数学中利用Matlab进行行列式计算。
线性代数中行列式、矩阵的逆、特征值、特征向量以及线性方程组等很多方面涉及的计算量都是很大的,占用了学生大量的时间。我们可以将线性代数与Matlab联系起来,使得繁琐的计算通过简单的程序命令得到解决。杜玉霞 [4] 等利用Matlab丰富的函数库来以及简单的Matlab编程语句解决这些繁琐且计算量大的问题。例如在求一个矩阵的行列式,只需在Matlab中输入该矩阵,之后再用det函数即可得到该矩阵的行列式的值。诸如此类的例子还有很多,比如利用inv函数可以求矩阵的逆,利用eig函数可以求矩阵的特征值与特征向量,利用rref函数可以求多元一次方程组的解等等。
通过这几个例子,我们可以看出,Matlab的引入改变了线性代数的教学模式,既能提高学生的动手能力,又能引发学生的学习兴趣,还节省了大量的计算时间。这样的教学方式既能培养学生的观察能力、归纳能力,又能让学生不仅知其然也知其所以然,从而获得更好的课堂效果。
(四) 在高等数学中利用Matlab解决算法问题。
数值分析是一门探讨怎样利用计算机去解决数学问题算法的学科,主要内容有:误差分析,插值法,数值微积分,数值代数,矩阵计算和微分方程数值解法等,是一门计算量大,算法多,实践性比较强的专业课。在以前的教学中,常利用C语言实现上述算法。利用C语言实现,要求要具有熟练的C语言语法和编程技巧,而且语句繁琐,不易记忆和理解。使用Matlab来实现这些算法,不仅效率高,并且能直观展示算法的实现过程,操作简单方便,能让学生从复杂的底层编程中解脱出来,激发他们的学习兴趣和效率。王春梅 [5] 用Matlab实现最小二乘拟合。输入表1中的数据,使用Matlab的polyfit功能函数进行拟合,便可以得到解和函数,还可以得到拟合后的函数与原数据的图像对比,如图7,有利于学生更直观地进行观察与分析。
其中的道理和方法只要被表述清楚,之后用Matlab即可实现,代码简洁,图像和文字也都能将结果清晰地表达出来,学生的学习兴趣自然也有所提升了。
(五) 在高等数学中利用Matlab进行概率统计。
概率统计是大学数学中主要的构成部分。其实质是由概率论和统计分析两部分组成的,涉及离散或连续型随机变量、多种分布函数与概率密度函数、点估计与区间估计等较抽象的知识点。翁智峰 [6] 将Matlab引入后,其庞杂的数据处理和显示都可以采用Matlab来解决。这样,不但可以激发学生的学习兴趣,活跃课堂气氛,还可以加强学生对概率统计基础的定义及技巧的掌握,加强学生实际操作的本领。比如:参数估计与假设检验、方差分析与回归分析、随机过程计算与仿真等。学生对概率统计学习的思维方式会被Matlab的引入而改变,在今后的学习与工作中具有更强的变通思维和实践本领。
2.2. Matlab在其他学科教学上的应用实例
2.2.1. Matlab在物理教学上的应用实例
将现代信息技术与物理教学进行融合是促进物理教学信息化现代化的重要途径,也是物理教学改革的发展方向之一。在中学物理教学中应用信息技术,可以有效提高课堂效率,提升学生的认知和理解能力。肖展望 [7] 利用Matlab解决中学物理受力分析的典型的问题,具体如下:
一个质量w = 0.41 kg的木块在F的牵引下以3 m/s2的加速度沿斜面向上做匀加速运动,F与斜面所成的角度设为α。已知斜面倾角θ = 30˚,木块与斜面之间的动摩擦因数
,重力加速度g = 10 m/s2。问α取何值时,F有最小值?F的最小值是多少?
对物体受力分析如图8所示,
沿斜面方向:
,
垂直斜面方向:
,其中
。
联立解得:
,此式表明F是α的函数,将方程式等输入到Matlab中,可得F的最小值Fmin = 4.5及其对应α的值α = 30。还可得到F随α的变化函数的图像,如图9所示,更直接地表现出F与α的关系。
2.2.2. Matlab在化学教学上的应用实例
在化学教学中,同样涉及到大量的计算。尤其是在处理实验数据上,Matlab的引入,让高效、准确的计算不仅减轻老师和学生的在的负担,Matlab的图形功能还能让学生更直观地理解化学反应原理,让学生投入更多的精力到学习中来。
高锦红 [8] 通过几个典型的化学实验,将测定的若干组实验数据输入到Matlab中得到对应的表达式及
图像,结果表明,Matlab计算结果准确,图像直观,结果合理。利用该软件可以激发学生在实验过程中的热情,Matlab也可以用来处理复杂的数据信息在学习和工作中。
姚卫峰等 [9] 用Matlab软件进行辅助教学,以电位滴定数据处理和配位滴定酸效应曲线计算为例讲授如何应用Matlab,减少学生绘制曲线时间,简化数据分析的过程,使学生更容易理解和掌握。
3. 展望
Matlab软件体积较大,对电脑配置要求比较高,在发展不均衡的今天,不能保证每人电脑里都可以配备有Matlab软件。不过在共享时代的大背景下,我们可以尝试做出共享Matlab让更多的人都可以随时随地的使用这款软件。比如说利用HTML5的技术,将Matlab与网页结合起来,浏览器作为前台,是用户与Matlab交互的接口,服务器作为后台,计算用户输入的数据,存储用户个人信息等。这样打开浏览器,即可使用Matlab。同时,我们还可以开发出“量身定制”的APP软件,即用户选择自己常用到的算法和功能,将其组装成一个“个性精简版”的软件供用户在移动终端如智能手机上使用,让人人都能随时随地使用Matlab。
4. 结语
通过上述实例,可以看到将Matlab应用到教学中来,弥补了传统教学手段,化抽象为具体,有利于培养学生数形结合的思想,形成良好的思维习惯。并且还让学生提升了对理科这些抽象知识的感知能力,激起学生掌握这些知识的兴趣。而且还能节省教师对题目的演算时间,大大提升课堂的教学效率。
基金项目
国家自然科学基金资助项目(21606099, 21406090, 21407058);吉林省科技发展计划项目(20150520062JH);吉林省教育厅“十三五”科学技术项目(JJKH20170376KJ)。