肖漢光+宋濤+鄒雪



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