杨咏东 王君美
(烟台大学光电信息科学技术学院 山东 烟台 264005) (烟台大学经济与工商管理学院 山东 烟台 264005 )
计算机辅助教学作为一种新型教学手段,以其生动、直观、形象的特点,可以充分调动学生的听觉、视觉器官,从而激发学生的学习兴趣;因此越来越多地被许多教师应用于大学物理的教学当中.其中Powerpoint是绝大多数教师所采用的教学软件;用它来进行多媒体课件的制作、演示非常简单方便.但是Powerpoint制作多媒体课件有其局限性,物理学中的许多最终结果,特别是图像的绘制难以用Powerpoint来完成,而Matlab教学软件正好可以弥补Powerpoint在这方面的缺陷[1].
Matlab是由美国Mathworks公司开发的一套大型科学计算软件.主要用于数值分析、矩阵运算、图形图像处理、信号处理和仿真等[2].Matlab简单易学,具有强大的数值计算、符号计算功能以及强大的绘图功能,并且有专业性比较强的学科性工具箱可供使用[3],可以充分满足大学理工科学生的计算及专业需要,各大学也因此开设了相应的Matlab课程,并成了理工科学生必须掌握的工具之一.
下面通过几个实例,介绍Matlab在大学物理热学课件制作中,特别是在麦克斯韦速率分布和卡诺循环中的应用.
气体动理论中麦克斯韦速率分布律是热学教学的重点和难点.这是因为麦克斯韦速率分布律公式比较复杂,数学推导证明比较繁琐,其图像难以用Powerpoint来表现;如果借助Matlab就可以比较方便地解决这些问题.麦克斯韦速率分布函数表达式为
其中, k=1.38×10-23J·K-1为玻尔兹曼常量,m,T,v 分别为气体分子的质量,气体的热力学温度和气体分子的速率.
最概然速率为
先编写一个独立的Maxwell函数文件,以便后续调用.
functionf=Maxwell(T,M,v)
R=8.31;%普适常量
globalkNam
m=M/Na;%气体分子的质量
若将麦克斯韦速率分布函数在整个速率区间积分,将得到所有速率区间的分子数占总分子数百分比的总和,显然等于1,即所谓的归一化.可由以下Matlab代码加以验证:
symsv;ra=int(Maxwell(300,28e-3,v),0,inf);gyh=vpa(ra,2)
运行结果:
gyh=
1.0
在用Powerpoint制作多媒体课件的过程中,遇到的首要问题是麦克斯韦速率分布函数图像的绘制问题,可以用Matlab中的plot函数来实现.首先调用上面的Maxwell函数,取得图像纵坐标,然后调用plot函数绘制分布曲线.核心代码如下:
f=Maxwell(T,M,0:vmax);
plot(0:vmax,f,′k′,′LineWidth′,1);%绘制麦克斯韦速率分布律
代码中的T表示热力学温度,M表示气体的摩尔质量,vmax表示速率范围的上限,默认下限是零,使用时要代入具体的参数.
改变参数,可以得到不同温度、不同气体的麦克斯韦速率分布曲线,如图1所示.图中加入了最概然速率的计算.
图1
在实际应用中,还会遇到求速率处于某个范围的分子数所占的百分数及其图像绘制问题.实现的Matlab核心代码如下:
g=quad(@(v)Maxwell(T,M,v),v1,v2);%积分计算所给速率范围内的分子数占总分子数的比率
f=Maxwell(T,M,0:3000);
plot(v,f,′k′,′LineWidth′,1);%画分布律曲线
holdon;f=Maxwell(T,M,v1:v2);
fill([v,vend,vorigin],[f,0,0],[0.7,0.7,0.7]);%将所给速率范围画上阴影
其中v1,v2分别表示速率区间的始末值,使用时要代入具体参数.选取T=1000K, v1=300m/s,v2=500m/s,M=28×10-3kg/mol,得到的图像如图2所示.即300~500m/s速率区间范围内的分子数占总分子数的比率为0.12,即图中的阴影范围.
图2 某速率区间的分子数占总分子数的比率
卡诺循环图的绘制也是多媒体课件制作过程中必不可少的环节,可以用Matlab准确地绘制卡诺循环图像,如图3(a)所示.首先确定等温膨胀过程始末体积,也就是两条绝热线与等温膨胀线的两个交点.然后利用plot函数绘制分别经过a,b两交点的两条绝热线,再绘制两条等温线.核心代码如下:
R=8.31;Y=(i+2)/i;%比热比
Pa=R*T2/Va;Pb=R*T2/Vb;
Vd=Vc*Va/Vb;Pc=R*T1/Vc;Pd=R*T1/Vd;
V2=1.1*Vc;V=0.9*Va:(V2-Va)/1000:V2;
plot(V,Pj1,′b′,V,Pj2,′b′,′LineWidth′,1);%绘制两条绝热线
Pt1=(R*T1)./V;Pt2=(R*T2)./V;
plot(V,Pt1,′k′,V,Pt2,′k′,′LineWidth′,1); %绘制两条等温线
其中,i是气体分子自由度;T1是低温热库温度,T2是高温热库温度;Va,Vb分别为等温膨胀始末体积.取i=3,T1=300K,T2=400K,Va=3×10-3m3,Vb=5×10-3m3.得到图像如图3(a)所示.
图3 卡诺循环
由热力学第一定律,可以证明两条绝热线bc,da与横轴所包围的面积相等,如图3(b)所示.很多教师绘制的卡诺循环图像不严格,不满足这个条件,是不准确的.用Matlab可以将图像画出来,亦可计算二者面积,证明其相等.首先,利用上面的代码绘制卡诺循环图,然后用fill函数将bc,da与横轴所包围的面积加上阴影,最后可以用trapz函数计算二者的面积.取i=3,T1=300K,T2=400K,Va=3×10-3m3,Vb=5×10-3m3.得到图像如图3(b)所示.
由以上例子可以看出Matlab在大学物理热学教学中有很大用处;特别是其强大的绘图功能、简单的编程,给教师制作多媒体课件带来了方便.在实际应用中,更多的复杂问题都可以根据具体情况,用Matlab方便快捷的解决.
参考文献
1 张星辉. 在大学物理教学中使用Matlab制作图像和动画的几个实例.大学物理,2004,23(9):59
2 葛哲学. 精通MATLAB.北京:电子工业出版社,2008
3 刘卫国.MATLAB程序设计与应用 .(第二版).北京:高等教育出版社,2009