王居鳳
摘 要:實驗教學是學習《常微分方程》理論教學的輔助。針對《常微分方程》實驗課,對如何使用Matlab做實驗做些探討。
關鍵詞:常微分方程;實驗;教學
《常微分方程》是高等學校數學及相關專業的課程,該課程主要以理論教學為主,研究了各種方程的解法。實際上,很多微分方程是沒有解析解的,這時利用書上的算法求數值解,步驟很多,計算繁瑣。為了激發學生的學習興趣,本文針對四個方面對基于Matlab的《常微分方程》實驗課教學進行探索。
一、通過Matlab求矩陣計算、特征值、平衡點、線性方程組
各舉一個例子讓學生熟悉矩陣計算、特征值、平衡點、線性方程組的Matlab命令及使用。
二、通過Matlab求常微分方程的解析解
求微分方程解析解常用dsolve命令:s=dsolve(‘方程1,‘方程2,…,初始條件1,初始條件2…,自變量)。舉一例子求方程的通解,再舉一例子求方程的特解,為體驗這命令在方程組中也適用,繼續舉一方程組分別求其通解及特解。
三、通過Matlab求常微分方程的數值解
有些常微分方程的解我們無法用初等函數將其表達出來,此時,需要尋求方程的數值解,在求常微分方程數值解方面,常用命令:[t,x]=solver(‘f,ts,x0,options)。solver為命令ode45,ode23,ode15s,ode23s,ode23t,ode113之一,不同命令對應于不同算法,各算法有自己的特性。ode45在很多方程求解時的首選算法,而ode23適合于對精確度要求不高的方程求解問題。解釋‘f,ts,x0,options的含義及特點,比如,求解的方程式含n個未知數,則x0為 n維向量。在這部分實驗內容里,舉一特殊例子,例如,求微分方程:+2+19y=0,初始值為y(0)=0,y′(0)=1,先求解析解,再求數值解,并進行比較。求解析解時直接調用命令:y=dsolve(′D2y+2*Dy+19*y=0′,′y(0)=0,Dy(0)=1′,′x′),求數值解時,由于這是二階的微分方程組,先將其轉化為一階微分方程組再求解。求解后再編程,將方程的解析解用虛線畫出,保留圖形再將方程的數值解圖形用紅顏色星號曲線畫出,通過兩條曲線,直觀地感受解析解和數值解的吻合程度,從而理解數值解的精確度。
四、通過Matlab畫平面向量場、等高線圖、空間曲線、曲面圖
向量場等僅憑學生的想象力不太好理解,而手工畫曲線的向量場、等高線等非常耗時,通過Matlab將其畫出,曲線形狀相對直觀,這有利于學生空間想象能力的培養。
在《常微分方程》中增加使用Matlab的實驗課,會使學生對常微分方程的理論有較為感性的認識,從而激發學生學習的熱情,加深學生對本課程的掌握程度。
參考文獻:
王高雄,周之銘,王壽松.常微分方程[M].北京:高等教育出版社,2006.
(作者單位 中國計量學院數學系)