肖漢光+宋濤+鄒雪
摘要:“矢量分析與場論”是理工本科專業(yè)的重要基礎(chǔ)課程,該課程的主要特征是抽象、難教和難學(xué)。為此,在教學(xué)過程中利用MatLab進(jìn)行矢量分析的可視化教學(xué),使課程更加生動具體,激發(fā)了學(xué)生的學(xué)習(xí)興趣,取得了良好的教學(xué)效果,值得推廣。
關(guān)鍵詞:矢量分析;場論;可視化教學(xué);MatLab
中圖分類號:G642.0 ? ? 文獻(xiàn)標(biāo)志碼:A ? ? 文章編號:1674-9324(2015)20-0146-02
“矢量分析與場論”課程是理工科(如電子、電氣、信息、自動化等專業(yè))本科生必修的一門重要的專業(yè)基礎(chǔ)課。該門課程是其他核心課程的前續(xù)課程,如物理場論、電磁場與電磁波、波導(dǎo)理論、電磁兼容、電機(jī)學(xué)等重要專業(yè)課,所以該門課程掌握的好壞直接關(guān)系到核心專業(yè)知識的學(xué)習(xí)。因此,如何教好和學(xué)好這門課程顯得尤為重要。
由于該課程概念抽象、理論性強(qiáng)、數(shù)學(xué)能力要求高,所以教與學(xué)都有較大難度。為此,筆者將MatLab應(yīng)用到該門課程的教學(xué)過程中,使教學(xué)內(nèi)容變得生動、具體,使學(xué)生產(chǎn)生濃厚的學(xué)習(xí)興趣,取得了良好的教學(xué)效果。
一、矢量運(yùn)算
矢量運(yùn)算是該門課程的基礎(chǔ),其教學(xué)較為容易,但部分學(xué)生計算時常常出錯,利用MatLab的矢量計算函數(shù)可以方便地進(jìn)行矢量計算,幫助檢驗計算結(jié)果,同時可以幫助觀察和理解矢量運(yùn)算。例如,求矢量■=(1,2,3),■=(1,1,1),■=(2,1,3)的矢量運(yùn)算。
代碼如下:
A=[1 2 3];B=[1,1,1];C=[2,1,3];
A+B;%矢量相加
A-B;%矢量相減
dot(A,B);% ■·■,點積或標(biāo)積
cross(A,B);% ■×■叉積或矢積
dot(A,cross(B,C));% ■·(■×■)標(biāo)量三重積
cross(cross(A,B),C);% ■×■×■矢量三重積
norm(A,2)% |■| 求模
A./norm(A,2)% ■■求單位矢量
在計算結(jié)果的基礎(chǔ)上,利用quiver3可繪出矢量圖形,如圖1所示為以上代碼計算結(jié)果的空間可視化圖形,便于學(xué)生理解叉積等難掌握的新知識。
二、梯度、散度和旋度的計算
利用MatLab的符號運(yùn)算功能,學(xué)生可對梯度、散度、旋度等微分算子進(jìn)行符號計算。標(biāo)量場的梯度可利用gradient函數(shù),例如:計算三維標(biāo)量場
f(x,y,z)xe■的梯度,則MatLab代碼為:
syms x y z
f = x .* exp(-x.^2 - y.^2- z.^2)
g=gradient(f,[x,y,z]);
%繪制梯度場
[X,Y,Z]=meshgrid(-1∶.1∶1,-1∶.1∶1,-1∶
.1∶1);
G1=subs(g(1),[x y z],{X,Y,Z});
G2=subs(g(2),[x y z],{X,Y,Z});
G3=subs(g(3),[x y z],{X,Y,Z});
quiver3(X,Y,Z,G1,G2,G3)
利用quiver3函數(shù)可以繪出三維矢量場,上述三維標(biāo)量場的梯度場如圖2所示。
矢量場的散度和旋度可利用diff函數(shù),例如:計算三維矢量場的■(x,y,z)=(x+y+z■)■x+(x■y)■■+2yz■■散度和旋度,則MatLab代碼為:
syms x y z
F=[x+y+z^2,x^2*y,2*z];
divF=diff(F(1),x)+diff(F(2),y)+diff(F(3),z);
rotF=diff(F(3),y)-diff(F(2),z),diff(F(1),z)-diff(F(3),x),diff(F(2),x)-diff(F(1),y)];
%繪制散度場
[X,Y,Z]=meshgrid(-1.2∶.2∶1.2,-1∶.2∶1,-1∶.2∶1);
V=subs(divF,[x y z],{X,Y,Z});
slice(X,Y,Z,V,[-1 0 1],0.2,[-.8])
shading interp
%繪制旋度場
figure
G1=subs(rotF(1),[x y z],{X,Y,Z});
G2=subs(rotF(2),[x y z],{X,Y,Z});
G3=subs(rotF(3),[x y z],{X,Y,Z});
quiver3(X,Y,Z,G1,G2,G3)
該三維矢量場的散度場和旋度場如圖3和圖4所示。
三、等值線和場線的繪圖
對于二維的標(biāo)量場,可以利用mesh函數(shù)繪制分布圖,圖5為f(x,y,z)=xe■的標(biāo)量場分布。
其代碼為:
[x,y]=meshgrid(-2∶.1∶2,-1∶.05∶1);
z=x.*exp(-x.^2-y.^2);
mesh(x,y,z);
對于三維的標(biāo)量場,可以利用切片函數(shù)slice繪制分布圖,如圖3所示,其代碼為:
slice(X,Y,Z,V,[-.5 0 0.5],0.2,[-.8]);
二維標(biāo)量場的等值線可利用contour函數(shù)繪制,二維矢量場的場矢量分布圖可利用quiver函數(shù)繪制,圖6為標(biāo)量場f(x,y,z)=xe■的等值線和梯度矢量場的場分布。
二維矢量場的場線可利用streamline和stream2繪制。
四、結(jié)語
針對“矢量分析與場論”課程難教難學(xué)、概念抽象、計算復(fù)雜等特點,采用MatLab的向量計算、繪圖等技術(shù),高效、便捷、直觀地實現(xiàn)了該門課程的可視化教學(xué),激發(fā)了學(xué)生的學(xué)習(xí)興趣,同時學(xué)生可通過編程提高解決實際問題的能力和動手能力,提升綜合素質(zhì),實現(xiàn)教學(xué)相長的效果。
參考文獻(xiàn):
[1]唐軍杰,王愛軍.Matlab在電磁場可視化教學(xué)中的應(yīng)用[J].物理與工程,2013,(1):42-45.
[2]帥春江.Matlab在電磁場與電磁波課程電解槽的應(yīng)用[J].吉林化工學(xué)院學(xué)報,2012,29(9):76-78.
[3]楊光杰.Matlab在電磁場教學(xué)中的應(yīng)用[J].成才之路,2012,(36):41-41.
[4]李小兵.基于MATLAB對二維混合邊界靜電場域的分析[J].電子測試,2012,(9):24-27.
[5]田雨波,張貞凱,解志斌.基于Matlab的電磁場理論之可視化教學(xué)研究[J].現(xiàn)代電子技術(shù),2011,34(20):90-92.
[6]劉興鵬.MATLAB在電磁場可視化教學(xué)中的應(yīng)用[J].知識經(jīng)濟(jì),2010,(14):154-154.