91精品人妻互换日韩精品久久影视|又粗又大的网站激情文学制服91|亚州A∨无码片中文字慕鲁丝片区|jizz中国无码91麻豆精品福利|午夜成人AA婷婷五月天精品|素人AV在线国产高清不卡片|尤物精品视频影院91日韩|亚洲精品18国产精品闷骚

您當(dāng)前位置:首頁 > 新聞?lì)l道 > 技術(shù)動(dòng)態(tài) > 正文
芻議使用Matlab軟件作為計(jì)算物理教學(xué)平臺(tái)的優(yōu)勢(shì)

  摘要:Matlab為數(shù)值計(jì)算提供了大量功能強(qiáng)大的應(yīng)用工具箱,使數(shù)值計(jì)算變得更加的高效。作為數(shù)值計(jì)算的軟件平臺(tái),Matlab在計(jì)算物理教學(xué)中的應(yīng)用能降低學(xué)生學(xué)習(xí)計(jì)算物理的難度,提高學(xué)生對(duì)計(jì)算物理的學(xué)習(xí)興趣。

  關(guān)鍵詞:Matlab;計(jì)算物理;BCS理論;線性方程

  一、引言

  計(jì)算物理是伴隨著計(jì)算機(jī)的出現(xiàn)和發(fā)展而逐步形成的物理學(xué)科,是運(yùn)用計(jì)算機(jī)對(duì)所要研究的復(fù)雜物理問題進(jìn)行數(shù)值計(jì)算或模擬實(shí)驗(yàn),并從中探索和發(fā)現(xiàn)新的物理規(guī)律。因此,計(jì)算物理是物理、數(shù)學(xué)和計(jì)算機(jī)三者相結(jié)合的產(chǎn)物[1]。在當(dāng)今的物理學(xué)各個(gè)分支領(lǐng)域,大量物理問題的求解都離不開計(jì)算機(jī)的輔助?梢哉f,計(jì)算物理的發(fā)展對(duì)物理學(xué)起著重要的推動(dòng)作用。

  在高等教育中,許多高校都為物理學(xué)專業(yè)本科生開設(shè)了計(jì)算物理課程。通過對(duì)該門課程的學(xué)習(xí),學(xué)生可掌握許多科學(xué)計(jì)算中所應(yīng)用的方法與技術(shù),培養(yǎng)他們對(duì)科研的興趣,并為將來開展科學(xué)研究和應(yīng)用打下良好的基礎(chǔ)。然而,對(duì)于大學(xué)本科生來說,在計(jì)算物理的學(xué)習(xí)中存在著許多的困難。首先,計(jì)算物理課程通常涉及較為復(fù)雜的數(shù)學(xué)知識(shí),如線性代數(shù)、偏微分方程等。在傳統(tǒng)的計(jì)算物理教學(xué)中,大部分教師把數(shù)值計(jì)算方法和原理作為教學(xué)重點(diǎn)和難點(diǎn),使得高等數(shù)學(xué)知識(shí)基礎(chǔ)較差的學(xué)生學(xué)習(xí)起來較為困難[2]。另一方面,計(jì)算物理課程的教學(xué)離不開計(jì)算軟件。在早期的教學(xué)過程中,大部分教師都以Fortran作為軟件平臺(tái)進(jìn)行程序的編寫,要求學(xué)生具有較強(qiáng)的編程能力。但學(xué)生通常很難掌握和應(yīng)用復(fù)雜的Fortran語言,使得計(jì)算物理教學(xué)過程中存在教與學(xué)的難度,降低了學(xué)生學(xué)習(xí)的效率[3]。隨著科學(xué)的進(jìn)步,許多新型計(jì)算軟件的誕生為計(jì)算物理教學(xué)和學(xué)生的學(xué)習(xí)提供了便利,最為典型的就是Matlab軟件在計(jì)算物理教學(xué)中的應(yīng)用。

  Matlab是美國MathWorks公司所開發(fā)的商業(yè)數(shù)學(xué)軟件,其全稱為Matrix Laboratory,意為矩陣實(shí)驗(yàn)室。Matlab的主要功能包括數(shù)值分析、數(shù)字圖像處理、數(shù)字信號(hào)處理、工程與科學(xué)繪圖和通訊系統(tǒng)設(shè)計(jì)與仿真等[4]。與其他數(shù)值計(jì)算軟件相比,Matlab的優(yōu)勢(shì)主要體現(xiàn)在如下幾方面:(1)Matlab為用戶提供了高效的數(shù)值計(jì)算和符號(hào)計(jì)算功能,特別是在處理矩陣方面具有明顯的優(yōu)勢(shì);(2)Matlab在編程語言上較為簡單,語法結(jié)構(gòu)更加接近人們常用的數(shù)學(xué)表達(dá)習(xí)慣,提高了編程效率。最重要的是,Maltab內(nèi)嵌了許多功能強(qiáng)大的應(yīng)用工具箱,為用戶提供了大量方便且實(shí)用的處理工具,使得一些煩瑣的數(shù)值計(jì)算過程能用單個(gè)簡單的命令代替;(3)Matlab具有完美的圖像處理功能,讓復(fù)雜的計(jì)算結(jié)果變得可視化。因此,如果將Matlab作為計(jì)算物理教學(xué)的軟件平臺(tái),將有效地改變學(xué)生學(xué)習(xí)計(jì)算物理困難的現(xiàn)狀,提高學(xué)生學(xué)習(xí)積極性的同時(shí),也能降低高校教師的教學(xué)難度。本文將通過一些計(jì)算物理實(shí)例,進(jìn)一步分析Matlab軟件作為計(jì)算物理教學(xué)平臺(tái)的優(yōu)勢(shì)。

  二、Matlab在求解線性方程組中的應(yīng)用

  在物理學(xué)中,許多實(shí)際物理問題可用線性方程組來描述,如電學(xué)網(wǎng)絡(luò)、分子振動(dòng)、應(yīng)力分析等問題,而這些線性方程組又可用轉(zhuǎn)化成如下的矩陣形式

  AX=B

  其中X=(x1,x2,…,xN)為未知數(shù)所構(gòu)成的N×1矩陣,A為N×N的系數(shù)矩陣,而B為N×1矩陣。如果矩陣A是非奇異矩陣,則方程組的解為X=A-1B。所以,非線性方程組的求解轉(zhuǎn)變?yōu)榍竽鍭-1。在線性代數(shù)中,矩陣的逆A-1=A*/|A|,這里A*為伴隨矩陣。|A|為矩陣的行列式。如果利用標(biāo)準(zhǔn)的線性代數(shù)方法求N×N矩陣A的行列式值[5],則必須要計(jì)算N!個(gè)乘積。對(duì)于較小的矩陣來說,通?衫煤唵蔚臄(shù)學(xué)公式求解行列式。當(dāng)N較大時(shí),盡管理論上仍然可以運(yùn)用線性代數(shù)公式進(jìn)行計(jì)算,但計(jì)算量非常大。以N=20的矩陣為例,如果我們的計(jì)算機(jī)每秒可做1010次運(yùn)算,那么計(jì)算該矩陣的行列式要花費(fèi)大約為7.7年的時(shí)間。這說明,在實(shí)際的數(shù)值計(jì)算中,不能用標(biāo)準(zhǔn)的線性代數(shù)公式做計(jì)算。此外,伴隨矩陣A*的求解在數(shù)值上也不太容易實(shí)現(xiàn)。

  Matlab為我們提供了一個(gè)計(jì)算矩陣行列式的命令――det。該命令所使用的算法為高斯消去法,其基本思想是將矩陣化為上三角或下三角矩陣,然后將對(duì)角元素相乘即可得到矩陣的行列式。我們以N=20的隨機(jī)矩陣為例,發(fā)現(xiàn)計(jì)算該矩陣的行列式所需要的時(shí)間約為5×10-5秒。由此可見,Matlab所提供的命令det在計(jì)算行列式時(shí),既高效又簡單。特別的,基于高斯-約當(dāng)消去法,Matlab也為我們提供了計(jì)算矩陣逆的命令――inv。因此,學(xué)生在利用這些命令求解線性方程組時(shí),不僅可以節(jié)省計(jì)算量,而且還可以避免編寫高斯消去法和高斯-約當(dāng)消去法時(shí)所涉及的煩瑣程序。

  三、Matlab求解非線性方程的應(yīng)用舉例

  在日常生活中,許多現(xiàn)象在理論上可用一些復(fù)雜的非線性方程或方程組來描述。通過求解這些非線性方程,可以深入研究這些現(xiàn)象背后所隱藏的物理規(guī)律。非線性方程的求解沒有簡單的求根公式,必須借助數(shù)值計(jì)算方法進(jìn)行近似求解。對(duì)于單個(gè)非線性方程的求解,常用的數(shù)值方法有區(qū)間對(duì)分法、迭代法、搜索法及牛頓迭代法[1]。盡管這些方法能夠有效地求解非線性方程,但在實(shí)際的應(yīng)用中,學(xué)生很難直接利用這些算法求解較為復(fù)雜的非線性方程或方程組。Matlab為我們提供了一個(gè)求解非線性方程或方程組的命令――fsolve,該命令主要采用最小二乘法來求解非線性方程[1],其用法比較簡單,學(xué)生容易學(xué)習(xí)和掌握。

  為了說明利用Matlab求解非線性方程的優(yōu)勢(shì),我們以BCS超導(dǎo)理論中的能隙方程和粒子數(shù)方程為例,其基本形式如下:

  這里為a原子相互作用的s波散射長度,k為費(fèi)米動(dòng)量,配對(duì)序參量Δ和化學(xué)勢(shì)μ需要自洽求解。該方程組為非線性方程組,可以通過牛頓迭代法進(jìn)行求解。牛頓迭代法的基本思想是,將兩個(gè)方程在初始值附近用二元泰勒級(jí)數(shù)做展開,并取線性部分,可得到求解方程時(shí)所需要的迭代格式[1]。然而,牛頓迭代法在每一步迭代的過程中都需要計(jì)算一次雅可比行列式。對(duì)于較為復(fù)雜的非線性方程組而言,雅可比行列式的求解較為困難,程序編寫過程比較復(fù)雜,以至于學(xué)生在編程過程中容易出現(xiàn)錯(cuò)誤。如果直接利用Matlab的fsolve命令,則可有效避地免該問題。以下是利用fsolve求解配對(duì)序參量和化學(xué)勢(shì)的Matlab程序:

  clear

  global k askF dk

  k=linspace(0,60,601);dk=k(2)-k(1);

  askF=-1;

  X0=[rand,rand];

  options=optimset('Display','iter');

  [X,fval]=fsolve(@myfun,X0,options);

  Delta=X(1);mu=X(2);

  這里我們用0到1之間的隨機(jī)數(shù)作為初始條件,其中子程序myfun的代碼為

  function Eqs=myfun(X)

  global k askF dk

  mu=X(1);Delta=X(2);

  xi=k.^2-mu;Ek=sqrt(xi.^2+Delta^2);

  Eq1=askF+2/pi*sum(k.^2./Ek-1)*dk;

  Eq2=1-3/2*sum(k.^2.*(1-xi./Ek))*dk;

  Eqs=[Eq1 Eq2];

  作為例子,我們利用上述程序展示配對(duì)序參量和化學(xué)勢(shì)隨相互作用強(qiáng)度的變化(見圖1)。由此可見,以Matlab作為平臺(tái),利用fsolve求解非線性方程組時(shí),可使學(xué)生從煩瑣的數(shù)值算法推導(dǎo)及編程過程中解脫出來,將精力更多地投入到物理問題的分析中。

  四、總結(jié)

  以線性和非線性方程的求解為例,我們說明了Matlab在計(jì)算物理教學(xué)中的優(yōu)勢(shì)。通過利用Matlab所提供的數(shù)值計(jì)算工具箱,可降低學(xué)生學(xué)習(xí)計(jì)算物理的難度,為計(jì)算物理教學(xué)提供便利。

  參考文獻(xiàn):

  [1]馬文淦.計(jì)算物理學(xué)[M].北京:科學(xué)出版社,2005.

  [2]李曉莉,張建飛.計(jì)算物理的教學(xué)改革研究與實(shí)踐[J].物理通報(bào),2010,(8):57.

  [3]彭芳麟,梁穎,忻蓓.計(jì)算機(jī)軟件在計(jì)算物理課程中的地位和作用[J].大學(xué)物理,2013,32(8):6.

  [4]張志涌.精通Matlab[M].北京:北京航空航天大學(xué)出版社,2011.

  [5]葉其孝,沈永歡.實(shí)用數(shù)學(xué)手冊(cè)[M].第2版.科學(xué)出版社,2006.

關(guān)鍵字:其它,北京
About Us - 關(guān)于我們 - 服務(wù)列表 - 付費(fèi)指導(dǎo) - 媒體合作 - 廣告服務(wù) - 版權(quán)聲明 - 聯(lián)系我們 - 網(wǎng)站地圖 - 常見問題 - 友情鏈接
Copyright©2014安裝信息網(wǎng) m.78375555.com. All rights reserved.
服務(wù)熱線:4000-293-296 聯(lián)系電話:0371-61311617 傳真:0371-55611201 QQ: 郵箱:zgazxxw@126.com 豫ICP備18030500號(hào)-4
未經(jīng)過本站允許,請(qǐng)勿將本站內(nèi)容傳播或復(fù)制
安全聯(lián)盟認(rèn)證