在PowerPoint中利用MATLAB制作实时绘图的高中数学课件

2009-05-04 04:48严大虎
中国教育信息化·基础教育 2009年4期

严大虎

摘 要:针对在PowerPoint中绘图存在困难的问题,本文提出在幻灯片中用MATLAB绘制与高中数学有关的函数图像和几何图形的方法,从而为制作具有实时绘图功能的数学课件提供一条有效的途径。文中介绍了有关方法和关键技术,并给出具体实例。

关键词:PowerPoint;MATLAB;实时绘图;高中数学课件

中图分类号:G434 文献标识码:A 文章编号:1673-8454(2009)08-0070-02

一、引言

PowerPoint由于简单易用且兼容性好等优点而成为广大教师制作课件的首选工具,但它绘图功能不强,而高中数学大部分内容如指数函数、三角函数、立体几何及解析几何等都需要用图形表现,因此制作关于这些内容的课件多数靠公式、文字和图片等来描述,学生仅凭这些信息很难达到理解透彻的目的。利用MATLAB强大的科学计算和绘图功能,能够解决在幻灯片中实时绘制函数图像和几何图形的问题。这种方法巧妙地将MATLAB和PowerPoint各自的优点有机地结合起来,制作出的课件简单实用,效果良好,现就有关制作方法和关键技术介绍如下,希望能对各位同仁有所启发。

二、MATLAB介绍

MATLAB是美国Mathworks公司推出的目前使用最广、功能最强的科学计算软件。它有几个特点:一是强大的数值运算能力和符号运算能力,MATLAB中有超过600种的数学、统计及工程方面的函数可供使用,而且使用简单快捷,使之能够进行复杂的数学计算和符号运算;二是强大的数据可视化功能,能够方便迅速地画出各种二维、三维图形,并且可以通过对图形线型、色彩、视角等特性的处理,把数据的特征表现得淋漓尽致;三是具有丰富的工具箱,这些工具箱提供了专门领域所需的函数,节省了用户编程序的时间;四是提供了和其它一些应用程序进行数据交换的接口,为利用不同应用程序联合编程提供了方便。MATLAB不但成为理工科学生必须掌握的工具,而且也成为课堂教学中的一个有效工具。

三、在PowerPoint中应用MATLAB

在PowerPoint中利用VBA(Visual Basic for Application)虽然可以实现实时交互处理,但在具体实践中,特别是在高中数学课件制作过程中,许多知识都涉及函数图像和几何图形,完成这些需要很高的编程技巧,这对大多数老师来说是难以胜任的。如果能在PowerPoint中充分利用MATLAB增加实时绘图功能,不仅能减轻教师的编程难度和强度,而且还可以有效提高教学效果。

在PowerPoint中调用MATLAB必须借助于ActiveX技术。ActiveX是一门使用和集成组件的技术,本文中用到的ActiveX组件包括自动化服务器和自动化控制器。自动化服务器是一种由其它应用程序编程驱动的组件;自动化控制器是指使用或操纵自动化服务器的应用程序。MATLAB和PowerPoint分别是自动化服务器和自动化控制器。

在VBA中创建MATLAB对象的语句为:

Dim matlab As Object

Set matlab = CreateObject("Matlab. Application")

执行MATLAB命令的语句为matlab.execute(h),h是由MATLAB的命令和函数组成的字符串。

四、课件制作过程

下面以指数函数y=ax(a≠0且a≠1)为例说明课件制作过程。

首先启动PowerPoint 2003,建立一个空白幻灯片,在菜单中选择“视图/工具栏/控件工具箱”,打开控件工具箱悬浮窗口,在工具箱中选择“其他控件”中的“Microsoft Forms 2.0 Image”控件,控件工具箱中出现“图像”选项,如图1所示。选择“图像”选项,按住鼠标左键在编辑区的左侧拖拉出一个图像框,调整位置及大小,然后在其右侧添加一个文本框和一个按钮,按钮名称设置为“输出图形”。

双击按钮,出现VB编辑窗口并输入如下代码:

Private Sub cmd1_Click()

Dim h As String

Dim result As String

Dim matlab As Object

Set matlab = CreateObject("Matlab.Application")

result = matlab.Execute("set(gcf,'visible','off');")

h = TextBox1.Value

result = matlab.Execute(h)h为输入的matlab程序

result = matlab.Execute

("print(gcf,'-dtiff','c:a.tif');")

result = matlab.Execute

("x = imread('c:a.tif');")

result = matlab.Execute

("imwrite(x,'c:a.bmp');")

Image1.Picture = LoadPicture("c:a.bmp") ‘把保存在文件中的图像加载到幻灯片放映窗口

SlideShowWindows(1).View.GotoSlide 1

End Sub

然后放映幻灯片并在文本框内输入如下MATLAB程序(组合键“Ctrl+Enter”实现“回车换行”):

for a =[1/4 1/2 2 4]; //循环从a=1/4开始,到a = 4结束

x = -30:.1:30; //x的取值范围为[-30,30],步长为0.1

y = a.^x;

y1 = 0*x;

plot(x, y1, ‘k, y1, x, ‘k, x, y),xlabel(‘x轴),ylabel(‘y轴);//画出相应的指数函数图像

if a<1;

text(-1, (a)^(-1), [‘y=, num2Str(a),^x]); //标识y=a^x

else;

text(1, (a)^(1), [‘y=, num2Str(a),^x]);

end;

grid on;

anix([-3 3 -2 6]);

title([‘指数函数y=a^x图像]);

pause(1); //暂停1秒,生成动画,便于观察

hold on;

end

最后单击“输出图形”按钮,幻灯片显示如图2。图中4条指数函数曲线是a取1∕4、1∕2、2、4时的最终结果,这些曲线逐一动态生成,并可以通过改变a的值实现交互功能。学生通过观察图像的生成过程总结归纳出指数函数的性质,加深对概念的理解。

五、结束语

在PowerPoint使用MATLAB进行实时绘图,为制作适合高中数学特点的课件给出了一个简便快捷的方法,为利用信息技术改进教学方法提高教学效果提供了一种新的尝试。

参考文献:

[1]马致明,陈惠敏等.PowerPoint中利用VBA制作交互式物理模拟课件[J].中国教育信息化(基础教育),2008,(16).

[2]李吉吉,张宏立.PowerPoint与MATLAB接口实现[J].新疆大学学报(自然科学版),2005,(1):23.

[3]张志涌.精通MATLAB 6.5版教程[M].北京:北京航空航天大学出版社,2003.

[4]于坚.利用MATLAB软件辅助高中数学教学[J].中小学信息技术教育,2006,(5).

(编辑:隗爽)