曾庆雨 郑波 徐梅 刘向虎
摘要:导数是微分学中最基本的概念,是初等数学和高等数学的桥梁,也是高等数学教学的重要组成部分。MATLAB是一高性能的数值计算和可视化软件,GUI是人机交互的中介。在微分学的学习过程中,导函数的求解过程繁琐,图像复杂抽象,难以绘制。本文充分利用MATLAB软件在绘图和计算上的优势,对导数的应用进行GUI仿真,使图像可视化,导数理论寓于GUI仿真图形中,让复杂问题简单化,数学问题直观化、具体化。
关键词:导数 MATLAB GUI可视化仿真 高等数学
中图分类号:TP391.9 文献标识码:A 文章编号:1007-9416(2016)08-0059-02
1 引言
高等数学不但是理工科的基础课程,同时也是专业课的工具课程,其应用十分广泛[1]。MATLAB GUI将计算机、可视化、程序设计融合到了一个交互式工作环境中,实现数值计算、建模和仿真、可视化及绘图功能[2-3]。鉴于导数理论复杂抽象,图形难以绘制。在教学时可采用GUI进行仿真教学,将导数理论与实验演示相结合,充分利用MATLAB的可视化功能,通过程序编写实现导数图像可视化、复杂问题简单化、抽象内容形象化,并把导数计算结果和图像使用MATLAB GUI模拟出来,以此达到事半功倍的效果。这样不仅能让高等数学的授课方式更能适应学生形象思维的特点,也能激发学生学习的求知欲,提升学会、学好高等数学的信心,体验解决问题的快乐,使学生真正学有所获。
2 GUI仿真设计原理
利用MATLAB进行导数的GUI仿真可分为以下四步[4]:
①分析界面所要实现的主要功能,明确设计任务;
②构思并绘制GUI界面草图;
③利用GUI设计工具制作静态界面,并进行调整对齐;
④调用回调函数,编写GUI界面上相应控件功能的程序。
3 GUI仿真演示
通过MATLAB强大的计算功能,能使GUI仿真界面清晰、直观地反应出参数方程所确定函数的一阶导数及二阶导数结果,并能绘制其参变量函数及其导函数在某一区间上的图像,使图像可视化。
3.1 GUI仿真主要功能及其设计意图
主要功能:计算参数方程所确定函数的一阶导数及二阶导数,并绘制其参变量函数、一阶导数及其二阶导数的图像。在有必要时还可以保存其函数图形,为了使图形变得美观,颜色多样化,还可以对其函数图像进行颜色改变。
设计意图:计算函数导数,绘制函数图像,使图像可视化。
3.2 GUI仿真界面布局[4]
①建立五个静态文本框,用于标注对应控件提示;
②建立五个可编辑文本框(动态文本框),其中两个用于输入参数方程X,Y,两个用于输入绘图区间范围,一个用于显示一阶导数或二阶导数的结果;
③建立四个按钮,分别用于参数一阶求导、参数二阶求导、清除和保存图片;
④建立八个面板,分别用于装载控件分组;
⑤建立一个坐标轴对象,用于显示函数图像;
⑥建立二个下拉菜单,分别用于选择图形的颜色和绘图选项(参数函数的图像、参数的一阶导数图像和参数的二阶导数图像);
⑦建立两个单选按钮和一个复选框,一个单选按钮用于设置坐标轴边框打开,一个单选按钮用于设置坐标轴边框关闭,一个复选框用于设置网格线打开或关闭;
⑧建立六个菜单栏,分别用于参数求导、保存、Grid、Box、退出和语言。
3.3 制作GUI仿真静态界面
在命令窗口中输入GUIDE命令启动GUIDE创建GUI。在GUI编辑区域中,按草图构思布置相应控件,并利用对象对齐与分布工具对GUI界面控件对象进行位置调整,使控件对象对齐且分布均匀,致使界面美观。最后设置相应控件的属性,便于查找句柄对象,方便编辑和调试代码。界面布局如图1所示。
①分别将五个静态文本框的string属性设置为:参数x、参数y、T范围、图形的颜色和----,Tag属性分别设置为:x text、y text、T text、ys text和Ttext;
②分别将五个可编辑文本框的string属性设置为空,Tag属性分别设置为:inputx edit、inputy edit、tmin edit、tmax edit和jieguo edit;
③分别设置四个按钮的string属性为:参数一阶求导、参数二阶求导、清空和保存图片,Tag属性分别设置为:first pushbutton、second pushbutton、clear pushbutton和save pushbutton;
④分别将八个面板的title属性设置为:可视化GUI求参数导数、结果显示区、绘图选项、按钮选项和图形显示;
⑤分别将两个单选按钮的string属性设置为: Set box on和Set box off,Tag属性分别设置为:radiobutton1和radiobutton2; 复选框的string属性设置为: Grid on,Tag属性设置为checkbox1;
⑥将坐标轴的Tag属性设置为:axes1;
⑦分别将两个下拉菜单的string属性设置为:--选择--、红色、绿色、蓝色、洋红色、蓝绿色和--绘图选项--、参数函数图像、参数的一阶导数图像、参数的二阶导数图像,Tag属性分别设置为:popupmenu1和popupmenu2。最后保存文件名为:gui parameter。
3.4 GUI仿真代码
编写MATLAB程序代码完成程序中变量的赋值、输入、输出及绘图等工作,打开GUI中gui parameter文件,系统自动生成M文件。
3.5 仿真结果
运行程序后在GUI界面中输入参变量所确定的函数;以参数方程x=cos(t)、y=sin(t)为例,并绘制参变量t在区间-2*pi到2*pi的图形,点击参数一阶导数按钮运行仿真界面,如图2所示;以上述参数方程为例,并绘制参变量t在区间-16*pi到15*pi的图形,点击参数二阶导数按钮运行仿真界面,如图3所示;点击保存按钮保存当前坐标轴图形;当点击清空按钮时可清空界面,等待下次求解时的输入。
4 结语
本文通过对导数的GUI仿真,促使学生深刻理解导数的概念,掌握导数的几何意义。使复杂的、抽象的、难以想象的问题及图形难以绘制的函数转化为可视化GUI界面。降低学习的难度,激发学生学习的求知欲,感受数学的快乐美。除此之外,高等数学中很多抽象的问题也可以通过GUI设计来实现,形象直观。如:极限、定积分与不定积分、多元函数微分学和无穷级数等等都可以进行MATLAB GUI仿真,便于学生深刻理解和掌握其中的抽象理论。
参考文献
[1]同济大学数学系.高等数学(上、下册).7版[M].北京:高等教育出版社,2014.
[2]陈垚光,毛涛涛,王正林等.精通MATLAB GUI设计(第3版)[M].北京:电子工业出版社,2013.
[3]施晓红,周佳.精通GUI图形界面编程[M].北京:北京大学出版社,2003.
[4]罗华飞.MATLAB GUI设计学习手记[M].北京:北京航空航天大学出版社,2014.08.