高职数学教学中Matlab动画的应用
2017-10-21赵巧珍
赵巧珍
摘 要: 高职数学作为理工和经管类专业的基础课程,为今后的专业学习奠定基础。而高职学生学习数学的过程中难免有一定的畏惧情绪,主要是不理解、不了解相应的原理、概念。本文通过介绍Matlab中的四种动画制作技术,并举例演示极限、定积分应用和解析几何中常见的运动变化动画,使学生对数学知识的理解更为直观,提升学生学习兴趣。
关键词: 高等数学;Matlab;动画
Abstract:Higher vocational mathematics as a basic course of science and engineering and economics and management, laying the foundation for future professional learning. However, in mathematics teaching, students often have a certain degree of resistance to the course, mainly do not understand, do not understand the corresponding principles, concepts. This paper introduces four kinds of Matlab animation in the production technology, and example, limit movement animation common integral application and analytic geometry, make students understanding of mathematical knowledge is more intuitive and enhance students' interest in learning.
Key words: Advanced Mathematics; Matlab; animation
【中图分类号】 G642.0 【文献标识码】 A【文章编号】 2236-1879(2017)20-0327-02
一、高等数学情况介绍
高等数学具有高度的抽象性、严密的逻辑性和广泛的应用性,作为高职理工科和经管类专业一门重要的基础课程,对于大部分学生来讲,该门课程的学习都具有一定的难度,究其主要原因有以下几点:首先是高中数学与高等数学之间衔接点没有找对,高中数学涉及的是高等数学的基础内容,是为高等数学学习的前期准备,是作为解决问题模式的特殊化向普遍性过渡的;其次高等数学在教学的安排上学时较少,而且知识点较多,内容抽象,侧重概念的理解与原理的剖析,无法通过传统的教学与图像的展示生动的表现出来;再次学生数学思维能力培养没有有效的重视,空间想象能力、问题转化能力、逻辑思维能力对于高数的学习相对重要,需要通过课堂学习、课后思考和自学来培养1。
随着信息技术的迅速发展,大部分的高职院校已经开设高等数学的实验课程,在学生学习高等数学的基础上,借助数学计算软件验证相关定理结论并运用所学知识学习和掌握一般的数学建模方法以及解决实际问题的能力。通过高等数学实验课,把抽象的数学公式、定理通过实验得到验证和应用,通过上机实验,充分调动了学生的数学理论知识、软件知识、计算机知识和动手能力,改善了学生的知识结构,提高了学生的综合能力和素质2。
Matlab以其界面友好、语句简洁、计算和可视化功能强大、简单易操作、开放和扩展性强等优点,成为了大部分高校高等数学实验课的实验用软件。通过Matlab实现高等数学的理论教学与实践操作相结合,同时利用Matlab友好的编程开发环境及接近数学表达式的自然化语言将高等数学的理论概念予以展示,通过动画设计,还可以把数学中某些形成过程或变换过程这些变化过程及结果准确地模拟出来,使得数学知识变得直观生动,学生对知识理解更加深刻、透彻,增强数学学习的兴趣,激发其学习欲望,进一步加强对数学学习的自学能力,为学生以后的工作和学习打下基础3。
二、常用Matlab动画制作技术方法
(一)、以质点运动轨迹的方式显示。
质点运动轨迹显示的动画是最为简单的动画产生方式,通过质点沿着某一曲线运动来显示。使用comet(二维方式)、comet3(三维方式)函数的调用,使质点在二维或者三维空间运动。
(二)、以擦除方式显示。
Matlab中使用最多的動画产生方式。通过绘图函数不断重复绘制图形对象,重绘过程中递增式地改变图形对象位置,由更新的新图覆盖旧图,产生动画效果。在重绘对象的过程中之所以能产生动画效果是由于对原来的图形对象进行了擦除处理。
(三)、以旋转颜色映像的方式显示。
通过spinmap函数来产生动画。此类动画生成显示时问题较多,同时由于操作系统的不同或者屏幕的色彩品质过高都无法对制作的动画进行运行。
(四)、以电影播放的方式显示
保存想要产生动画的图片,存储为一系列各种类型的二维、三维图,再像放电影的方式按次序播放出来。运行一次可以多次播放,甚至可以直接生成avi文件,直接独立于Matlab环境播放。
三、Matlab动画制作示例
以下将通过极限的变化趋势,定积分中的曲线旋转构成的旋转体和解析几何中直线绕定轴旋转生成单叶双曲面等比较常见的过程,但又需要通过一定的动画引导来加强理解的内容来展示:
(一)、极限变化趋势。
极限一般是无限接近,通过动画可以很清晰明了的表示出它的变化过程和趋势,下面就通过两个重要的极限之一来演示趋向于某个值的极限变化过程。
例1:
x=1:-0.001:0;
y=sin(x)./x;
h=plot(x,y);
axesValue=axis;
for ii=1:10
for jj=1:length(x)*ii/10
set(h,'xdata',x(1:jj),'ydata',y(1:jj),'color','r');
axis(axesValue);
end
A(ii)=getframe;
end
movie(A);
(二)、定积分应用。
定积分的应用经常涉及到的是求解某平面图形绕某条直线旋转形成的旋转体的体积。下面就以某条抛物线旋转的动画来演示。
例如:求抛物线x=1-y^2(-5<=y<=5)绕x轴旋转产生旋转体的体积。
dis=linspace(-5,5,100);
steplen=linspace(0,pi,100);
for j=1:10
for i=1:100
y=dis.*cos(steplen(i));
z=dis.*sin(steplen(i));
x=1-(y.^2+z.^2);
plot3(x,y,z);
pause(0.01);
hold on
grid on
A(j)=getframe;
end
end
movie(A)
(三)、解析几何。
解析几何中,涉及到空间中的直线,和曲面的内容对于大多数空间想象力不足的学生是非常头疼的,但是通过动画的展示,可以将空间中的直线与曲面的变化过程反映出来,方便理解。下面就以直线旋转形成单叶双曲面形成过程作为示例。
例3:直线x=1, y=t, z=2t 绕z轴旋转得到的单叶双曲面
x=[-0.6,0.8];
y=[0.8,-0.6];
z=[3.0,-3.0];
[th,phi,r]=cart2sph(x,y,z);
n=120;
k=24;
hf=figure;
axis([-2,2,-2,2,-4,4]);
hold on
for i=1:n
[xt,yt,zt]=sph2cart(th+2*pi*i/n,phi,r);
x=xt;y=yt;z=zt;
hl=plot3(x,y,z,'m');
hfr=getframe(hf);
end
movie(hfr)
特别注意以上程序均在Matlab软件2010b版本下测试完成。
四、总结
本文中介绍的高等数学学习中三个简单动画,仅仅是众多学生需要了解的原理、概念动画的冰山一角。在信息技术高度发达的今天,必须利用现代化的信息技术来服务传统的教学方式,使相对比较枯燥的高等数学变成学生的兴趣点,促进学生自主学习的培养,为终身学习打好基础;进一步培养学生的数学实际应用的意识,提供学生利用计算机技术和数学知识分析解决问题的能力,促进学生实践能力的培养,为今后的创新奠定基础。
参考文献
[1] 刘璟忠;莫明琪.基于Matlab动画设计辅助高等数学教学[J].湖南科技学院学报.2006,(05):269-271.
[2] 李娜,仁庆道尔吉.MATLAB在高等数学教学中的应用研究[J].大学教育.2012,(11):66-67,74.
[3] 刘艳兰.基于MatLab环境的高等数学可视化[J].现代计算机(专业版).2011,(07):28-29,32.
[4] 洪晓芬.基于Matlab的动画演示与高等数学教学[J].计算机与现代化.2011,(04):112-114+118.
[5] 张萸,张敬华.Matlab动画演示教学[J].福建电脑.2008,(06):193+212.
[6] 吴宏锷,王慧.基于Matlab的圖形动画研究[J].南阳师范学院学报.2010,(06):59-61.
[7] 张德丰,赵书梅,刘国希.Matlab图形与动画设计[M].北京:国防工业出版社.2009.1-179.
[8] 霍振香,王福昌,张丽娟.在高等数学教学中使用Matlab制作曲面和动画的几个实例[J].教育教学论坛.2013,(32):175-177.
[9] 吴敏,陈涛.在Matlab中实现动画效果[J].电脑知识与技术.2006,(20):191-192.
[10] 向修栋,付云芝.在Matlab中实现旋转曲面的动画设计[J].计算机技术与发展.2011,(03):52-55.
[11] 刘广会,曹修文,齐化富.基于matlab的图形和动画技术在高等数学教学中的应用[J].甘肃联合大学学报(自然科学版).2013,(03):83-86,90.
[12] 刘志勇.基于Matlab的动画制作[J].江西电力职业技术学院学报.2008,(03):57-58.
[13] 童德茂,张华.Matlab用于动画制作旋转曲面设计[J].安庆师范学院学报(自然科学版).2015,(02):125-129.