田 雷
?
Matlab在中學(xué)物理教學(xué)與研究中的應(yīng)用案例
田 雷
遵化市第一中學(xué) 河北遵化 064200
摘 要:Matlab具有卓越的計(jì)算功能和仿真可視化能力,在物理電磁學(xué)等各類(lèi)場(chǎng)的數(shù)值仿真中具有無(wú)比的優(yōu)勢(shì).本文是利用Matlab 軟件進(jìn)行中學(xué)物理靜電場(chǎng)教學(xué)的典型案例.將 Matlab 引入電磁學(xué)教學(xué) ,利用其可視化仿真功能對(duì)電磁學(xué)實(shí)驗(yàn)現(xiàn)象進(jìn)行仿真模擬 , 可使教學(xué)內(nèi)容形象、生動(dòng),達(dá)到了簡(jiǎn)化理論推導(dǎo)過(guò)程,重視應(yīng)用的目的,可提高學(xué)生的學(xué)習(xí)效率與學(xué)習(xí)積極性 ,也為教師對(duì)復(fù)雜問(wèn)題研究提供了幫助.
關(guān)鍵詞:matlab應(yīng)用 靜電場(chǎng) 仿真 可視化 物理教學(xué)
物理是一門(mén)以實(shí)驗(yàn)為基礎(chǔ)的科學(xué),物理教學(xué)需要大量實(shí)驗(yàn), 但一些實(shí)驗(yàn)設(shè)備比較復(fù)雜并且昂貴 ,限制了實(shí)驗(yàn)的普及應(yīng)用;另一方面 ,有些實(shí)驗(yàn)環(huán)境是很難滿足的;另外 ,有些實(shí)驗(yàn)是不能直接觀察的 ,或者只能觀察到實(shí)驗(yàn)對(duì)象的局部 ,如電場(chǎng)、磁場(chǎng)、重力場(chǎng)等.
MATLAB是矩陣實(shí)驗(yàn)室(Matrix Laboratory)之意。70年代后期,美國(guó)新墨西哥州大學(xué)計(jì)算機(jī)系系主任的CIeve Moler,在教授線性代數(shù)課時(shí),為了讓學(xué)生能使用程序進(jìn)行矩陣計(jì)算,同時(shí)又不用在編程上花費(fèi)過(guò)多的時(shí)間,開(kāi)始著手用FORTRAN語(yǔ)言為學(xué)生編寫(xiě)使用矩陣運(yùn)算程序的接口,他將這個(gè)程序取名為MATLAB,
MATLAB作為一種高級(jí)科學(xué)計(jì)算軟件,是進(jìn)行算法開(kāi)發(fā)、數(shù)據(jù)可視化、數(shù)據(jù)分析以及數(shù)值計(jì)算的交互式應(yīng)用開(kāi)發(fā)環(huán)境。MATLAB的基本數(shù)據(jù)單位是矩陣,它的指令表達(dá)式與高等數(shù)學(xué)中常用的形式十分相似,故用MATLAB來(lái)解決數(shù)學(xué)計(jì)算及實(shí)時(shí)顯示問(wèn)題要比用編程語(yǔ)言做完全相同的事情簡(jiǎn)捷得多. MATLAB除具備卓越的數(shù)值計(jì)算能力外,它還提供了專(zhuān)業(yè)水平的符號(hào)計(jì)算,文字處理,可視化建模仿真和實(shí)時(shí)控制等功能。[1]
高中選修課本3-1直接給出了點(diǎn)電荷,等量異種電荷的電場(chǎng)線。如果把一些典型電場(chǎng)線的來(lái)龍去脈展現(xiàn)給學(xué)生,甚至幫助學(xué)生經(jīng)歷推導(dǎo)證明,不但是對(duì)已有知識(shí)應(yīng)用和新知識(shí)的理解,更是培養(yǎng)學(xué)生勇于探索、尊重事實(shí)的科學(xué)態(tài)度的重要途徑。
下面通過(guò)用Matlab軟件描繪點(diǎn)電荷空間電場(chǎng)分布特點(diǎn),來(lái)顯現(xiàn)MATLAB在物理學(xué)中用簡(jiǎn)單的方法直觀實(shí)現(xiàn)復(fù)雜的物理規(guī)律。[2]
1.方法1
式中Ey和Ex分別為E在垂直方向和水平方向的分量。
具體計(jì)算:
設(shè)直角坐標(biāo)系XOY,兩個(gè)點(diǎn)電荷q1、q2位于X軸上,坐標(biāo)分別為(-a,0)和(a,0)。
計(jì)算空間某點(diǎn)(x,y)的電場(chǎng)強(qiáng)度:
其中:
這樣,就獲得了一個(gè)關(guān)于曲線函數(shù)的一階常微分方程。利用常微分方程的數(shù)值解法就可以求出曲線函數(shù)并描繪出來(lái)。
下面為主程序
2.方法2
[x,y]=meshgrid(-2:0.1:2,-2:0.1:2); %meshgrid產(chǎn)生“格點(diǎn)”矩陣,以0.1為步長(zhǎng)建立平面數(shù)據(jù)網(wǎng)格。
z=1./sqrt((x-1).^2+y.^2+0.01)+1./sqrt((x+1).^2+y.^2+0.01);%寫(xiě)出電勢(shì)表達(dá)式。
[dx,dy]=gradient(z);% gradient(z),dx是z在x方向的近似偏導(dǎo)數(shù),dy是F在y方向的近似偏導(dǎo)數(shù),求電勢(shì)在x,y方向的梯度即電場(chǎng)強(qiáng)度。
xx=[linspace(-2,2,10),2*linspace(1,1,10),linspace (-2,2,10),-2*linspace(1,1,10),.01*linspace(1,1,10),-.01*linspace(1,1,10)];% linspace是Matlab中的均分計(jì)算指令,用于產(chǎn)生x1,x2之間的N點(diǎn)行線性的矢量。其中x1、x2、N分別為起始值、終止值、元素個(gè)數(shù)。
streamline(x,y,dx,dy,xx,yy)% x、y、dx、dy必須是同
型矩陣,且至少應(yīng)是2行2列的。繪制二維矢量(dx,dy)的流線型矢量場(chǎng)。(x,y,)是(dx,dy,)的坐標(biāo),且(x,y)必須是二維的數(shù)據(jù)網(wǎng)格。(xx,yy)指定了這些描繪矢量場(chǎng)的流線的起點(diǎn)坐標(biāo)。輸出參數(shù)是一個(gè)向量,向量里存儲(chǔ)著每根流線的句柄。
物理仿真實(shí)驗(yàn)已引起了大家的關(guān)注,出現(xiàn)了一些基于Flash、Photoshop、 3D MAX之類(lèi)的圖形圖像制作軟件,這些軟件雖可以制作逼真的實(shí)驗(yàn)環(huán)境和生動(dòng)的實(shí)驗(yàn)過(guò)程動(dòng)畫(huà),可產(chǎn)生實(shí)際實(shí)驗(yàn)所無(wú)法達(dá)到的效果.但這類(lèi)軟件對(duì)物理實(shí)驗(yàn)規(guī)律和過(guò)程很少涉及 ,缺乏交互性,開(kāi)發(fā)也很困難.而Matalab軟件的的出現(xiàn),為解決這些問(wèn)題開(kāi)辟了一條光明大道。
參考文獻(xiàn)
[1]周群益,侯兆陽(yáng),劉讓蘇.MATLAB可視化大學(xué)物理學(xué)[M].北京:清華大學(xué)出版社,2015:326.
[2]劉群英.MATLAB在大學(xué)物理電磁學(xué)中的應(yīng)用[N].渝西學(xué)院學(xué)報(bào),2005-6.