利用MATLAB实现高中课件的实时绘图副本.docx
《利用MATLAB实现高中课件的实时绘图副本.docx》由会员分享,可在线阅读,更多相关《利用MATLAB实现高中课件的实时绘图副本.docx(14页珍藏版)》请在冰点文库上搜索。
![利用MATLAB实现高中课件的实时绘图副本.docx](https://file1.bingdoc.com/fileroot1/2023-5/5/fd21905e-c65a-480d-8dd9-ecd6b1b2c70a/fd21905e-c65a-480d-8dd9-ecd6b1b2c70a1.gif)
利用MATLAB实现高中课件的实时绘图副本
利用MATLAB实现高中课件的实时绘图
邱林彬
四川省彭州市第一中学
【摘要】课件软件在高中主要用到的是PowerPoint,该软件简单易用,且兼容性较好,但是它自身的绘图功能却让人十分苦恼,仅提供了一些很简单的图形构建模式,制作出来的图形不仅精度不高,而且让学生难以理解透彻,所以很多教师对于高中数学中的函数图形,立体几何,解析结合等图形的构建,通常需要用到第三方软件来制作。
Matlab软件是目前功能最强,用途最广的科学计算软件,提供了超过600多种的数学函数可供使用,而且快捷简便,强大的数据可视化功能,能让我们方便迅速地画出各种二维、三维图形。
本文将就如何利用该软件结合PowerPoint实现实时绘图的功能做一些探讨。
【关键字】PowerPoint、Matlab、绘图、函数、二维图形、三维图形
一、引言
PowerPoint是美国微软公司的Office系列套件之一,由于简单易用,兼容性好等优点被广大教师选为制作课件的工具之一,但是它自身的绘图功能却让人十分苦恼,仅提供了一些很简单的图形构建模式,制作出来的图形不仅精度不高,而且让学生难以理解透彻。
而高中数学大部分内容如:
指数函数、对数函数、三角函数、立体几何、解析几何等内容的幻灯片大都需要用到制图的功能,利用图形表现更能让学生直观的理解利用数型结合的思想来解决问题。
二、MATLAB介绍
MATLAB这个软件,是美国MathWorks公司出品的商界数学软件。
这款软件是用途非常广泛的,能实现很多功能,尤其是对于数值运算,符号运算,数据可视化操作,很方便的绘制出各种二维、三维图形,并且还可以对图形线条,颜色,视角等进行处理,能够将数据的特征表现得淋漓尽致,最关键的是它提供了一个很强大的工具箱,工具箱中有目前我们能用到的所有函数的模板,节约了编程的时间,目前来说是高等学校理工科学生必须掌握的工具之一,当然用在我们高中课堂教学上,绰绰有余。
三、在PowerPoint中应用MATLAB
首先,要在PowerPoint中应用MATLAB的功能,必须做好2个准备,第一个要用到VisualBasicforapplication插件,第二个是要借助于ActiveX控件。
接下来先对这两个软件进行个简单的介绍。
1、VisualBasicforapplication简称VBA是大家熟悉的Office套件中的一个插件,一般大家安装Office系列软件的时候都没有勾选这个插件,只需要在安装过程中选择“自定义安装”添加该插件即可。
2、ActiveX控件ActiveX是Microsoft对于一系列策略性面向对象程序技术和工具的称呼,我们将要用到的是ActiveX组件里面的自动化服务器和自动化控制器,这两个服务都可以在微软的官方网站进行下载,安装后即可。
软件工作准备就绪后,就可以在VBA中创建MATLAB对象语句了,例如
DimMatlabAsObject
SetMatlab=CrteatObject(“Matlab.Application”)
执行Matlab命令的语句为
Matlab.execute(h),h这是由Matlab的命令和函数组成的字符串。
四、课件制作过程
首先要在PowerPoint中建立一个空白幻灯片,在菜单中选择视图-工具栏-控件工具箱-其他控件-MicrosoftForms2.0Image这个控件。
图1
图2
选择后,鼠标会变成一个十字,用鼠标在空白处拖出一个区域如(图3)所示
图3
用鼠标调整该区域的大小,这个区域就是显示后期函数图象的区域,然后继续用工具箱中的文本框,在该区域的旁边拉出一个文本框,文本框用于输入我们需要交给Matlab运算的代码。
最后在合适的位置,用工具箱中的命令按钮拉出一个按钮,自定义名字为“生成图象”。
这样,演示用的页面就制作好了。
如图所示
图4
然后鼠标双击刚才拖出的按钮,就进入MicsoftVisualBasic控件的编程页面,我们需要编写一个让Matlab与PowerPoint接口的小程序。
Privatesubcmd1_chich()
Dimhasstring
Dimresultasstring
DimMatlabasobject
SetMatlab=createobject(“Matlab.application”)
Result=Matlab.execute(“set(gcf,’visible’,’off’);”)
H=textbox1.value
Result=Matlab.execute(h)
*H为我们要输入Matlab的程序
Resule=Matlab.execute(“print(gcf,’-dtiff’,’c:
\aaa.tif’);”)
Result=Matlab.execute(“x=imread(‘c:
\aaa.tif’);”)
Result=Matlab.execute(“imwrite(x,’c:
\a.bmp’);”)
Image1.picture=loadpicture(“c:
\a.bmp”)
*将保存在文件的图像加载到幻灯片播放窗口中
Slideshowwindows
(1).view.gotoslide1
Endsub
如图5
范例1、实现指数函数y=ax(a≠0且a≠1)在a取0.25、0.5、2、4时的图象
首先按F5播放幻灯片,然后在刚才的文本框中输入以下代码:
Fora=[0.250.524]
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轴’);
*目的是画出相应的指数函数图像并做好坐标轴。
Ifa<1;
Text(-1,(a)^(-1),[‘y=’,num2str(a),’^x’]);
*实现y=a^x
Else;
Text(1,(a)^
(1),[‘y=’,num2str(a),’^x’]);
End;
Gridon;
Anix([-55-25]);
Title([‘指数函数y=a^x图像’]);
Pause
(2);
*暂停2秒钟,以便观察生成的动画图像。
Holdon
end
下图是在Matlab中调试代码的图片,调试好后可以直接复制到PowerPoint文本框中执行。
End
图6
编程就结束了,接下来就点击输出图形,幻灯片就做出来了,
图7
图7中4条函数曲线分别是a取0.25、0.5、2、4时的最终结果图形,这些曲线都将逐一动态生成,并且通过修改a的值来进行互交换功能。
学生通过观察图形的生成过程,总结归纳出指数函数的性质,加深指数函数的概念、性质的理解。
范例2、三角函数制图
y=sin(x)
y=sin(2x)
y=sin(2x-π/4)
这三个函数的图像
参照上面的例子,在PowerPoint中调用Matlab程序,然后建立一个控件,在控件文本框中输入:
x=[-17];
y=[00];
plot(x,y)
holdon
x=[00];
y=[-11.5];
plot(x,y)
axison
x=0:
0.1:
2.01*pi;
plot(x,sin(x),x,sin(2*x),x,sin(2*x-pi./4));
t=0:
pi/2:
2*pi;
title('正弦曲线图')
text(6.77,0.01,'\rightarrow');
text(-0.05,1.46,'\uparrow');
text(0,0,'\0');text(pi/8,0,'\pi/8');text(pi/2,0,'\pi/2');
text(5*pi/8,0,'\pi5/8');text(pi,0,'\pi');text(pi*9/8,0,'\pi9/8');
text(3*pi/2,0,'\pi3/2');text(pi*13/8,0,'\pi13/8');text(pi*2,0,'\pi2');
图形输出后如下图所示:
图8
三角函数的图像变换一直是高中数学的难点,很多学生无法直观的了解y=asin(ωx+ϕ)的图形变换,本例更加直观的体现了y=sin(x);y=sin(2x);y=sin(2x-π/4)三个函数的图像,对于三角函数图像周期改变,图像平移等方面起到了很好的演示作用。
让学生更能直观的了解三角函数的图像性质,灌输数型结合的思想起到了重要的作用。
范例3:
建立三棱锥的正视图、侧视图、俯视图、
输入
a=0.5;b=sqrt(3)./2;c=sqrt(3)./3;d=sqrt(6)./3;
X=[000a;aa-a-a;-a000];
Y=[000b;bbbb;bccc];
Z=[0000;0000;0ddd];
subplot(2,2,1)
fill3(X,Y,Z,'y');
title('三棱锥')
axisoff
subplot(2,2,2)
fill3(X,Y,Z,'y');
title('三棱锥正视图')
view(0,0)
axisoff
subplot(2,2,3)
fill3(X,Y,Z,'y');
title('三棱锥侧视图')
view(60,0)
axisoff
subplot(2,2,4)
fill3(X,Y,Z,'y');
title('三棱锥俯视图')
view(60,90)
axisoff
end
图形输出后如下图所示
图9
对于刚接触立体几何的学生,立体空间意识并没有完全的建立,传统的数学手工作图又很难将空间几何关系描绘得很清晰,使得高中立体几何成为高中数学一个难题,利用Matlab实现立体作图并作展示,能够将知识更加直观的展示给学生,提供开放式教学情境创建,课堂上培养学生的认知能力。
五、结束语
Matlab功能很强大,在此只是对用在PowerPoint中进行实施绘图做了一个探讨,为制作适合高中数学特点的课件,给出了一个简单快捷的方法,利用信息技术改进教学方法提高教学效果提供了一种新的尝试。
运用信息技术与学科相互结合的方式在现在还处于起步阶段,但是它体现了利用现代教育思想,利用先进的软件来改变我们对传统教学的思考,合理的运用现代教育技术将会使我们的教学水平、教学能力得到很好的提高。
【参考文献】
1、张志涌《精通MATLAB6.5教程》北京航空航天大学出版社2003年第一版
2、楼顺天、于卫、闫华梁《MATLAB程序设计语言》西安电子科技大学出版社2005年第三版
3、张培强《MATLAB语言-演算纸式的科学工程计算语言》中国科学技术大学出版社2001年第二版
4、张志涌、刘瑞桢、杨祖樱《掌握和精通MATLAB》北京航空航天大学出版社2004年第二版