董少光
(佛山科學(xué)技術(shù)學(xué)院物理與光電工程學(xué)院 廣東 佛山 528000)
經(jīng)典物理是高等院校物理類專業(yè)非常重要也是非常難學(xué)的專業(yè)基礎(chǔ)課.在日常的經(jīng)典物理教學(xué)過程中,學(xué)生普遍反映該課程中的某些物理概念離現(xiàn)實(shí)生活非常遙遠(yuǎn),理解起來也非常抽象、枯燥和晦澀難懂,還有些物理概念和物理規(guī)律學(xué)生難以靈活掌握以及很難理解其具體的實(shí)際運(yùn)用.很多學(xué)生在學(xué)習(xí)經(jīng)典物理時(shí)感到心理壓力很大,教師在教學(xué)過程中也感到非常棘手和茫然.因此,對(duì)經(jīng)典物理課程的課堂教學(xué)模式進(jìn)行相應(yīng)的改革和探索更好的教學(xué)方式具有非?,F(xiàn)實(shí)的指導(dǎo)意義.
在以往的經(jīng)典物理課堂教學(xué)過程中,教師特別注重培養(yǎng)學(xué)生嚴(yán)格、嚴(yán)密、嚴(yán)謹(jǐn)?shù)目茖W(xué)素質(zhì),要求學(xué)生擁有扎實(shí)的物理基礎(chǔ)理論知識(shí)功底[1].但是,在目前的經(jīng)典物理教學(xué)過程中往往存在以下3個(gè)突出的問題:一是學(xué)生所學(xué)的經(jīng)典物理主要是以復(fù)雜的高等數(shù)學(xué)知識(shí)推導(dǎo)的物理基礎(chǔ)理論知識(shí)為主,而學(xué)生往往由于高等數(shù)學(xué)知識(shí)掌握得不夠扎實(shí)或不夠熟練,導(dǎo)致學(xué)習(xí)或理解復(fù)雜物理問題的效果不理想;二是在經(jīng)典物理的教學(xué)過程中,學(xué)生不太容易聽得懂比較抽象復(fù)雜的物理問題,或者課堂上似乎聽得懂,但課后作業(yè)卻很難獨(dú)自揣摩明白并準(zhǔn)確求解;三是學(xué)生不太能理解經(jīng)典物理教學(xué)內(nèi)容中某些難度較大的物理概念或物理規(guī)律背后所隱含的物理意義,不太容易將這些物理概念和物理規(guī)律與生活中對(duì)應(yīng)的實(shí)際問題結(jié)合起來進(jìn)行研究分析[2].
在經(jīng)典物理的課堂教學(xué)過程中,教師普遍認(rèn)為學(xué)生對(duì)經(jīng)典物理問題中含有一些復(fù)雜的高等數(shù)學(xué)公式不能自如地處理是學(xué)習(xí)物理概念和掌握物理規(guī)律時(shí)感到困難的主要原因[3].如果教師能恰當(dāng)?shù)厥褂肕ATLAB軟件的可視化程序,就可以將很多用復(fù)雜高等數(shù)學(xué)公式表達(dá)的物理公式轉(zhuǎn)變?yōu)橹庇^形象的二維、三維視圖或動(dòng)態(tài)仿真圖.學(xué)生對(duì)某些復(fù)雜經(jīng)典物理問題的理解就可以由抽象的理性思維轉(zhuǎn)變?yōu)槿菀捉邮艿母行运季S.這樣的教學(xué)方式可以大大減輕學(xué)生在學(xué)習(xí)經(jīng)典物理過程中面對(duì)繁瑣復(fù)雜的高等數(shù)學(xué)公式產(chǎn)生的心理障礙或心理壓力,可以很好地提高學(xué)生對(duì)復(fù)雜經(jīng)典物理問題的深入領(lǐng)悟和物理意義的透徹理解.當(dāng)然也就較好地提高了學(xué)生學(xué)習(xí)經(jīng)典物理的興趣和積極性,提高了教師講授經(jīng)典物理的課堂教學(xué)質(zhì)量以及教學(xué)效果等等.
MATLAB是一款面向科學(xué)計(jì)算、數(shù)據(jù)可視化以及交互式程序設(shè)計(jì)的工程軟件,具有強(qiáng)大的數(shù)據(jù)計(jì)算功能,簡單易學(xué)易懂,編程效率高,在工程計(jì)算和數(shù)值分析領(lǐng)域有著十分廣泛的應(yīng)用[4].如果在經(jīng)典物理的課堂教學(xué)過程中應(yīng)用MATLAB軟件的可視化程序進(jìn)行輔助教學(xué),適當(dāng)?shù)厥褂肕ATLAB軟件中可視化程序繪出二維或三維視圖,制作可視化的動(dòng)態(tài)模擬仿真圖像,就可以將抽象復(fù)雜的經(jīng)典物理問題具體化、形象化、可視化乃至模擬仿真化,再結(jié)合經(jīng)典物理中的某些物理理論對(duì)這些復(fù)雜經(jīng)典物理問題進(jìn)行深入的分析,就可以很好地降低學(xué)生在學(xué)習(xí)經(jīng)典物理過程中遇到復(fù)雜問題時(shí)的恐懼心理,就能夠提升學(xué)生對(duì)經(jīng)典物理課程內(nèi)容中某些晦澀難懂的物理理論的感性認(rèn)識(shí),并更好地分析物理現(xiàn)象產(chǎn)生的本質(zhì)和原因,進(jìn)一步激發(fā)學(xué)生對(duì)經(jīng)典物理的學(xué)習(xí)興趣.更重要的是通過經(jīng)典物理這門專業(yè)基礎(chǔ)課程的學(xué)習(xí),可以很好地培養(yǎng)學(xué)生良好的創(chuàng)新意識(shí)和科學(xué)素質(zhì),提高學(xué)生的動(dòng)手操作能力和創(chuàng)新實(shí)踐能力[5].
經(jīng)典物理是學(xué)生最早利用高等數(shù)學(xué)知識(shí)解決實(shí)際生活問題的專業(yè)基礎(chǔ)課,涉及的知識(shí)面非常廣,主要包括力學(xué)、熱學(xué)、聲學(xué)、光學(xué)、電磁學(xué)、原子物理等多個(gè)學(xué)科[6].在經(jīng)典物理的課堂教學(xué)過程中,根據(jù)經(jīng)典物理課程的特點(diǎn),教師特別注重培養(yǎng)學(xué)生處理復(fù)雜物理問題的能力、動(dòng)手實(shí)踐操作的能力、科學(xué)計(jì)算模擬的能力、科學(xué)分析概括的能力等等[7].教師在經(jīng)典物理的課堂教學(xué)過程中,對(duì)復(fù)雜的物理教學(xué)內(nèi)容適當(dāng)?shù)貞?yīng)用MATLAB軟件的可視化程序進(jìn)行動(dòng)態(tài)模擬仿真,讓學(xué)生在不需要在實(shí)驗(yàn)室做實(shí)物實(shí)驗(yàn)的情況下,就可以直觀地觀察到某些特殊的物理現(xiàn)象或物理變化過程,讓學(xué)生體會(huì)到學(xué)習(xí)經(jīng)典物理課程并非真的是枯燥乏味的,反而是非常生動(dòng)有趣和容易理解接受的.
為了使學(xué)生能夠很好地掌握抽象的、難以理解的經(jīng)典物理復(fù)雜問題的物理概念和物理規(guī)律,在經(jīng)典物理的教學(xué)過程中,教師利用MATLAB軟件的可視化程序?qū)⑦@些物理概念和物理規(guī)律用直觀生動(dòng)的動(dòng)態(tài)仿真圖像表示出來.MATLAB的可視化程序是基于數(shù)組和有關(guān)特定函數(shù),運(yùn)行相關(guān)程序得到的視圖,該視圖是對(duì)物理概念和物理規(guī)律的定量描述,而不是普通意義的示意圖[8].因此可以定量地分析物理概念和物理規(guī)律中所涉及的各個(gè)因素對(duì)某個(gè)物理量產(chǎn)生的各種影響,這種教學(xué)模式是傳統(tǒng)的教學(xué)模式根本不可能做到的.
在經(jīng)典物理的教學(xué)過程中,剛性小球在地面上連續(xù)彈跳問題是學(xué)生難以理解的質(zhì)點(diǎn)運(yùn)動(dòng)學(xué)問題.利用MATLAB軟件的可視化程序?qū)傂孕∏虻倪\(yùn)動(dòng)過程進(jìn)行動(dòng)態(tài)仿真模擬,就能直觀顯示剛性小球彈跳的水平距離與反彈系數(shù)、速率比這兩個(gè)參數(shù)之間的變化關(guān)系,從而更容易理解剛性小球在彈跳運(yùn)動(dòng)過程中所隱含的物理運(yùn)動(dòng)規(guī)律.
【例1】一個(gè)剛性小球以水平速度v0從高為h處拋出,與地面發(fā)生碰撞后繼續(xù)向前跳躍.假設(shè)小球在水平方向沒有受到摩擦,在豎直方向碰撞后的速率與碰撞前的速率之比為k(k<1),k稱為反彈系數(shù).求小球到靜止時(shí)運(yùn)動(dòng)的時(shí)間和水平距離.小球的水平速率與第一次反彈的速率之比為一常數(shù),對(duì)于不同的反彈系數(shù),小球的運(yùn)動(dòng)軌跡有什么特征?
解析:小球與地面碰撞后做斜拋運(yùn)動(dòng),在水平方向是勻速直線運(yùn)動(dòng),在豎直方向是上拋運(yùn)動(dòng),小球每次與地面碰撞后的速率為
vi=kiv0
(1)
小球第i次做斜拋運(yùn)動(dòng)的方程為
xi=xi0+vixti
(2)
(3)
其中ti是小球第i次斜拋運(yùn)動(dòng)的時(shí)間,xi0是小球第i次斜拋運(yùn)動(dòng)的水平初始位置.
小球第i次做斜拋運(yùn)動(dòng)的時(shí)間為
(4)
小球彈跳的總時(shí)間為
(5)
反彈系數(shù)決定小球彈跳的總時(shí)間.
小球彈跳的水平總距離為
(6)
算法:取平拋高度h為距離單位,取平拋時(shí)間T0為時(shí)間單位,取v0為速度單位,則小球做平拋運(yùn)動(dòng)的無量綱方程為
(7)
(8)
小球第i次做斜拋運(yùn)動(dòng)的無量綱方程為
(9)
(10)
(11)
(12)
小球彈跳的水平距離可表示為
(13)
小球彈跳的水平總距離由反彈系數(shù)和速率比決定,反彈系數(shù)和速率比是可調(diào)節(jié)參數(shù).
MATLAB可視化程序如下所示:
%平拋小球在地面上跳躍的軌跡的主程序
clear
%清除變量
vx=0.1;
%速率比
k=0.9;
%反彈系數(shù)
fun(vx,k)
%調(diào)用函數(shù)文件畫軌跡
fun(vx,0.8)
%調(diào)用函數(shù)文件畫軌跡
%平拋小球在地面上跳躍的軌跡的函數(shù)文件
function fun(vx,k)
if k>=1 return,end
%如果速率比
大于1則返回
tm=(1+k)/(1-k);
%運(yùn)動(dòng)時(shí)間
xm=2*vx*tm;
%最遠(yuǎn)的距離
figure
%創(chuàng)建圖形窗口
plot([0,xm],[0,0],′LineWidth′,3)
%畫
地平線
grid on
%加網(wǎng)格
axis equal
%使坐標(biāo)間隔相等
axis([0,xm,0,1])
%坐標(biāo)范圍
fs=16;
%字體大小
title(′平拋小球在地面上跳躍的軌跡′,′FontSize′,fs)
%標(biāo)題
xlabel(′水平距離itx/h′,′FontSize′,fs)
%橫坐標(biāo)標(biāo)簽
ylabel(′豎直高度ity/h′,′FontSize′,fs)
%縱坐標(biāo)標(biāo)簽
txt=[′速率比itv_x/v m_0:′,num2str (vx)];
%水平速率與平拋落地速率比文本
txt=[txt ′,反彈系數(shù):′,num2str(k)];
%反彈系數(shù)文本
text(0,0.5,txt,′FontSize′,fs)
%顯示
速率比文本
txt=[′itT m=′,num2str((1+k)/(1-k)),′(2ith/g m)^{1/2}′];
%運(yùn)動(dòng)時(shí)間字符串
txt=[txt ′,itX m=′,num2str(xm),′ith′];
%連接運(yùn)動(dòng)距離
text(xm/4,0.8,txt,′FontSize′,fs)
%顯示
運(yùn)動(dòng)時(shí)間
dt=0.001;
%時(shí)間間隔
tm=1;
%平拋時(shí)間
t=0:dt:tm;
%平拋的時(shí)間向量
x=2*vx*t;
%平拋的橫坐標(biāo)
y=1-t.^2;
%平拋的縱坐標(biāo)
i=0;
%斜拋次數(shù)清零
hold on
%保持圖像
while tm>0.01
%斜拋時(shí)間較大則循環(huán)
comet(x,y)
%畫彗星式軌跡
plot(x,y,′LineWidth′,2)
%補(bǔ)畫軌跡
i=i+1;
%斜拋次數(shù)
tm=2*k.^i;
%斜拋運(yùn)動(dòng)時(shí)間
t=0:0.001:tm;
%時(shí)間向量
x=x(end)+2*vx*t;
%橫坐標(biāo)
y=2*k^i*t-t.^2;
%縱坐標(biāo)
end
%結(jié)束循環(huán)
當(dāng)小球水平速率與平拋落地速率之比取0.1,反彈系數(shù)取0.9時(shí),小球的運(yùn)動(dòng)時(shí)間為19T0,水平運(yùn)動(dòng)的總距離為3.8h,運(yùn)動(dòng)軌跡如圖1所示.
圖1 平拋小球在反彈系數(shù)為0.9的運(yùn)動(dòng)軌跡
當(dāng)小球水平速率與平拋落地速率之比仍取0.1,但反彈系數(shù)取0.8時(shí),小球的運(yùn)動(dòng)時(shí)間為9T0,水平運(yùn)動(dòng)的總距離為1.8h,運(yùn)動(dòng)軌跡如圖2所示.
圖2 平拋小球在反彈系數(shù)為0.8的運(yùn)動(dòng)軌跡
這樣我們就可以得出,在水平速率與平拋落地速率之比一定時(shí),反彈系數(shù)越小,小球運(yùn)動(dòng)時(shí)間越短,水平運(yùn)動(dòng)的總距離也越短.在反彈系數(shù)一定時(shí),小球運(yùn)動(dòng)時(shí)間不變,水平速率與平拋落地速率之比越大,水平運(yùn)動(dòng)的總距離也越長.從圖中可直觀看到小球的運(yùn)動(dòng)軌跡及小球彈跳水平總距離,物理過程非常清晰和直觀,學(xué)生也非常容易理解物理過程.
在經(jīng)典物理的教學(xué)過程中,均勻鏈條從光滑桌面上下落的問題也是學(xué)生難以理解的質(zhì)點(diǎn)動(dòng)力學(xué)問題之一.通過利用MATLAB軟件可視化程序?qū)鶆蜴湕l在下落過程中下落部分的運(yùn)動(dòng)過程進(jìn)行動(dòng)態(tài)模擬仿真繪圖,就能直觀地顯示均勻鏈條下落部分的位移和速度變化規(guī)律,從而更容易理解和接受均勻鏈條在下落過程中的物理運(yùn)動(dòng)規(guī)律.
【例2】一鏈條長為l,放在光滑的桌面上,其中長為b的一段處于下垂?fàn)顟B(tài),如圖3所示.鏈條從靜止開始運(yùn)動(dòng),求鏈條的運(yùn)動(dòng)規(guī)律,并求鏈條滑出桌面的時(shí)間和速度各為多少?
圖3 鏈條下落的示意圖
解析:由牛頓第二定律和牛頓第三定律以及數(shù)學(xué)的微積分和初始條件可以求得,鏈條下落的時(shí)間與高度的關(guān)系為
(14)
鏈條下落長度(高度)的規(guī)律為
(15)
當(dāng)鏈條完全滑出桌面時(shí),所需要的時(shí)間為
(16)
鏈條的速度為
(17)
對(duì)以上的解析式進(jìn)行約化處理,令
取約化時(shí)間
再取約化長度
約化速度
其中
則鏈條的長度和速度分別為
y*=b*cosht*v*=b*sinht*
(18)
當(dāng)鏈條全部滑出桌面時(shí)所需要的時(shí)間可表示為
(19)
鏈條全部滑出桌面時(shí)對(duì)應(yīng)的速度可表示為
(20)
取初始下垂的長度b為參數(shù)向量,取時(shí)間t為自變量向量,形成矩陣來計(jì)算鏈條下滑的長度和速度,用矩陣畫線法畫出鏈條長度和速度的曲線族,作出的圖像如圖4和圖5所示.
圖4 均勻鏈條下落過程中離開桌面長度的變化規(guī)律
圖5 均勻鏈條下落過程中下落速度的變化規(guī)律
MATLAB可視化程序如下所示:
% 均勻鏈條從光滑桌面上滑下來的運(yùn)動(dòng)規(guī)律曲線
clear
%清除變量
b=0.1:0.1:0.7;
%b與l的比值向量
y=0:0.01:1;
%鏈條滑過的長度y
與l的比值向量
[B,Y]=meshgrid(b,y);
%化為矩陣
Y(Y
%使不符合條件的
元素為非數(shù)
T=acosh(Y./B);
%求時(shí)間
%T(imag(T)~=0)=nan;
%將復(fù)數(shù)
改為非數(shù)
V=B.*sinh(T);
%求速度
V=sqrt(Y.^2-B.^2);
%求速度(同上)
figure
%創(chuàng)建圖形窗口
plot(T,Y,′LineWidth′,2)
%畫長度曲線族
plot(T(:,1),Y(:,1),′o-′,T(:,2),Y(:,2),′d-′,T(:,3),Y(:,3),′s-′,...
T(:,4),Y(:,4),′p-′,T(:,5),Y(:,5),′h-′,T(:,6),Y(:,6),′^-′,...T(:,7),Y(:,7),′v-′)
%畫長度曲線族
fs=16;
%字體大小
xlabel(′itt/t m_0′,′FontSize′,fs)
%時(shí)
間比標(biāo)簽
ylabel(′ity/l′,′FontSize′,fs)
%長度比標(biāo)簽
title(′均勻鏈條從桌面上無摩擦滑下的長度′,′FontSize′,fs)
%加標(biāo)題
grid on
%加網(wǎng)格
n=length(b);
%比值個(gè)數(shù)
legend([repmat(′itb/l m=′,n,1),num2str(b′)],4)
%加圖例
text(1.5,0.1,′itt m_0=(itl/g m)^{1/2}′,′FontSize′,fs)
%加時(shí)間單位文本
tm=max(T);
%求運(yùn)動(dòng)時(shí)間
text(tm,ones(size(tm)),num2str(tm′,2),′FontSize′,fs)
%標(biāo)記時(shí)間
axis tight
%帖軸
hold on
%保持圖像
stem(tm,ones(size(tm)),′--′)
%畫桿圖
figure
%創(chuàng)建圖形窗口
plot(T,V,′LineWidth′,2)
%畫速度曲線
plot(T(:,1),V(:,1),′o-′,T(:,2),V(:,2),′d-′,T(:,3),V(:,3),′s-′,...
T(:,4),V(:,4),′p-′,T(:,5),V(:,5),′h-′,T(:,6),V(:,6),′^-′,...
T(:,7),V(:,7),′v-′)
%畫速度曲線族
xlabel(′itt/t m_0′,′FontSize′,fs)
%時(shí)間
比標(biāo)簽
ylabel(′itv/v m_0′,′FontSize′,fs)
%速
度比標(biāo)簽
title(′均勻鏈條從桌面上無摩擦滑下的速度′,′FontSize′,fs)
%加標(biāo)題
legend([repmat(′itb/l m=′,n,1),num2str(b′)],4)
%加圖例
grid on
%加網(wǎng)格
text(1.5,0.1,′itv m_0=(itgl m)^{1/2}′,′FontSize′,fs)
%速度單位文本
vm=max(V);
%求最終速度
text(tm,vm,num2str(vm′,3),′FontSize′,fs)
%標(biāo)記最終速度
hold on
%保持圖像
plot([zeros(size(tm));tm],[vm;vm],′--′,′LineWidth′,2)
%畫水平線
b=0.1:0.01:1;
%b與l的比值向量
tm=acosh(1./b);
%全部滑下的時(shí)間
vm=sqrt(1-b.^2);
%全部滑下的速度
plot(tm,vm,′--′,′LineWidth′,2)
%畫全部滑下的速度和時(shí)間曲線
在經(jīng)典物理的教學(xué)過程中,利用MATLAB軟件的數(shù)值模擬可視化可以使學(xué)生理解物理概念和物理規(guī)律變得輕松.例如利用MATLAB軟件的可視化程序可以使經(jīng)典物理中的剛性小球彈跳問題和均勻鏈條下滑過程的位移和速度變化問題變得生動(dòng)、直觀、形象.利用MATLAB軟件的可視化程序可以將涉及的物理規(guī)律的模擬結(jié)果以動(dòng)態(tài)變化圖形的方式呈現(xiàn).從這些可視化的動(dòng)態(tài)圖形中,學(xué)生很容易理解物理規(guī)律以及物理量之間的變化趨勢,更好地理解該物理規(guī)律產(chǎn)生的原因或條件.利用MATLAB軟件的可視化程序可以使經(jīng)典物理的教學(xué)在一定的程度上減輕了教師課堂教學(xué)難度,同時(shí)也降低了復(fù)雜的高等數(shù)學(xué)計(jì)算過程對(duì)學(xué)生理解物理概念和物理規(guī)律的干擾.這種輔助教學(xué)手段如果利用得當(dāng)?shù)脑?,一定可以提高教師?jīng)典物理的課堂教學(xué)效果,激發(fā)教師的教學(xué)激情,更重要的是激發(fā)學(xué)生學(xué)習(xí)經(jīng)典物理的積極性和興趣,快速提升學(xué)生的科學(xué)理論素質(zhì)和科學(xué)領(lǐng)悟能力.