胡 文
(南京航空航天大學(xué)信息科學(xué)與技術(shù)學(xué)院,江蘇 南京 210016)
混沌與分形是近年來(lái)發(fā)展迅速的熱門(mén)研究方向,幾乎涉及理工科各個(gè)研究領(lǐng)域[1,2]。“混沌與分形”是我校研究生的一門(mén)選修課,主要面向電類專業(yè)學(xué)生開(kāi)設(shè)。分岔理論在“混沌與分形”課程中占有非常重要的地位,是理解和分析動(dòng)力系統(tǒng)進(jìn)入混沌的關(guān)鍵工具。它主要研究隨參數(shù)改變,動(dòng)力系統(tǒng)解的變化[3]。分岔理論涉及較多抽象的數(shù)學(xué)概念,僅通過(guò)課堂講解及圖示介紹,學(xué)生難以深刻理解分岔理論方面的概念。
筆者通過(guò)引導(dǎo)學(xué)生在課堂參與調(diào)試Matlab程序,直觀的了解平衡點(diǎn)的穩(wěn)定性和非線性系統(tǒng)的線性化和分岔等關(guān)鍵概念,可以加深學(xué)生對(duì)于分岔理論的理解[4,5]。
分岔理論是對(duì)動(dòng)力系統(tǒng)解的定性變化或拓?fù)浣Y(jié)構(gòu)改變的數(shù)學(xué)研究。分岔理論不僅是研究動(dòng)力系統(tǒng)中動(dòng)力學(xué)特征和現(xiàn)象的主要工具,也影響著對(duì)動(dòng)力系統(tǒng)產(chǎn)生混沌現(xiàn)象的理解。
動(dòng)力系統(tǒng)中所見(jiàn)到的分岔是當(dāng)系統(tǒng)參數(shù)平滑緩慢改變時(shí),系統(tǒng)發(fā)生拓?fù)浣Y(jié)構(gòu)上的突變。分岔類型有局部分岔和全局分岔,其中局部分岔可以由簡(jiǎn)單的程序直觀描述,是課堂講授的重點(diǎn)。
局部分岔與平衡點(diǎn)、平衡點(diǎn)類型和平衡點(diǎn)穩(wěn)定性等概念緊密相連,需要先給學(xué)生講授上述概念。對(duì)平衡點(diǎn)和平衡點(diǎn)類型的講授,要利用相空間和解軌跡來(lái)進(jìn)行演示,授課中應(yīng)對(duì)這兩個(gè)概念作詳細(xì)說(shuō)明。平衡點(diǎn)穩(wěn)定性的分析涉及雅可比矩陣和它的特征值,授課中需復(fù)習(xí)這兩個(gè)概念。
分岔可以在連續(xù)系統(tǒng)或離散系統(tǒng)中出現(xiàn)。在連續(xù)系統(tǒng)中,局部分岔發(fā)生在平衡點(diǎn)的雅可比矩陣特征值實(shí)部為0處,如果特征值為0就是穩(wěn)定狀態(tài)分岔,如果特征值為純虛數(shù)就稱為Hopf分岔。在離散系統(tǒng)中,分岔發(fā)生在平衡點(diǎn)具有模為1的特征值處,如果這個(gè)特征值等于1是鞍結(jié)點(diǎn)分岔、穿越分岔或Pitchfork分岔,如果特征值等于-1是倍周期分岔或Hopf分岔。在分岔理論的課程學(xué)習(xí)中,要求透徹理解連續(xù)和離散系統(tǒng)中常見(jiàn)的局部分岔概念。
分岔理論的教學(xué)中的上述概念較為抽象和枯燥,但都可以找到一些例子由簡(jiǎn)單的Matlab程序演示。鑒于大多數(shù)研究生已接觸過(guò)Matlab,完全有能力理解、編寫(xiě)和調(diào)試簡(jiǎn)單的Matlab程序。因此,在課堂講授分岔理論概念的同時(shí),讓學(xué)生參與現(xiàn)場(chǎng)編寫(xiě)調(diào)試演示程序,能使學(xué)生加深理解。演示程序調(diào)試的結(jié)果,也是教師判斷學(xué)生是否理解相關(guān)概念的依據(jù)。
我們授課時(shí),借助于了Matlab中的ode45函數(shù),講解平衡點(diǎn)的類型和穩(wěn)定性。
[例1]采用ode45函數(shù)來(lái)演示源、匯和鞍點(diǎn)這三種平衡點(diǎn)性質(zhì),用來(lái)演示的二維線性連續(xù)系統(tǒng)為

其中,x?R2,A為2×2的常系數(shù)矩陣。上式在原點(diǎn)處有唯一的平衡點(diǎn),在以原點(diǎn)為圓心的單位園上的均勻取8個(gè)點(diǎn)為初始值。得到8條解的軌跡在相空間中畫(huà)出,可以直觀看到原點(diǎn)處平衡點(diǎn)對(duì)附件初始值的吸引或排斥特性。
Matlab程序運(yùn)行結(jié)果如圖1(a)所示,改變矩陣的取值為

由此可以得到圖1(b)、圖1(c)和圖1(d)的結(jié)果。從圖1(a)和圖1(b)中可以看到,當(dāng)矩陣A對(duì)角線上的系數(shù)全為正時(shí)原點(diǎn)處平衡點(diǎn)排斥所有方向的初始值,是不穩(wěn)定平衡點(diǎn),稱為源。反之則吸引所有方向的初始值,是穩(wěn)定平衡點(diǎn),稱為結(jié)點(diǎn)或匯。從圖1(c)可以看出,從單位圓上的初始值出發(fā)的軌跡,在x1方向上受到吸引,在x2方向上受到排斥。對(duì)比圖1(b)和圖1(d),所有方向上的初始值都受到吸引,不同的只是圖1(d)中的軌跡在收斂到原點(diǎn)的同時(shí)還要轉(zhuǎn)動(dòng),因此平衡點(diǎn)對(duì)附近初始值的吸引作用只受對(duì)角線上系數(shù)的影響。

圖1 系數(shù)矩陣A取不同值時(shí)初始值的軌跡
作完上述演示后,讓學(xué)生動(dòng)手任意改變矩陣A的系數(shù),觀察平衡點(diǎn)特性的變化,使其對(duì)矩陣A對(duì)角線上系數(shù)的影響將有較深刻的體會(huì)。再通過(guò)討論,引導(dǎo)學(xué)生認(rèn)識(shí)到對(duì)角線上的系數(shù)就是矩陣A的特征值,從容易理解線性系統(tǒng)平衡點(diǎn)的穩(wěn)定性由系數(shù)矩陣特征值的實(shí)部決定這一概念。
在理解線性系統(tǒng)的基礎(chǔ)上進(jìn)一步討論非線性系統(tǒng),通過(guò)復(fù)習(xí)雅可比矩陣的概念闡述非線性系統(tǒng)的線性化系統(tǒng),從而可以將學(xué)生對(duì)線性系統(tǒng)平衡點(diǎn)穩(wěn)定性的理解擴(kuò)展到非線性系統(tǒng)。借助Matlab中的Jacobian函數(shù)可以容易的計(jì)算任意非線性函數(shù)的雅可比矩陣。相關(guān)的主要程序分為三部分,第一部分為利用Jacobian函數(shù)得到非線性系統(tǒng)的線性化系統(tǒng),后兩部分利用ode45函數(shù)計(jì)算非線性系統(tǒng)解的軌跡與線性化系統(tǒng)解的軌跡。
[例2]采用Jacobian函數(shù)計(jì)算非線性函數(shù)的雅可比矩陣,源程序?yàn)?/p>

程序中變量dx表示一個(gè)二維非線性函數(shù),兩個(gè)變量分別是x1和x2。按需要也可以將dx改為其他的非線性函數(shù)。
介紹Jacobian函數(shù)的調(diào)用方式后,結(jié)合例1中ode45函數(shù),學(xué)生已經(jīng)可以自己動(dòng)手編寫(xiě)演示程序的后兩部分,對(duì)比線性化系統(tǒng)與非線性系統(tǒng)間的軌跡。對(duì)比程序的現(xiàn)場(chǎng)編寫(xiě)調(diào)試,可加深學(xué)生對(duì)非線性系統(tǒng)可以用線性化系統(tǒng)在平衡點(diǎn)附近逼近的理解,其中線性化系統(tǒng)的系數(shù)矩陣就是非線性系統(tǒng)的雅可比矩陣。結(jié)合例1的結(jié)果,學(xué)生能較深刻的理解非線性系統(tǒng)平衡點(diǎn)的性質(zhì)將由雅可比矩陣特征值的實(shí)部決定。
[例3]利用Matlab中的solve函數(shù)可以得到動(dòng)力系統(tǒng)平衡點(diǎn)的值,然后由Jacobian函數(shù)得到平衡點(diǎn)上的雅可比矩陣,再由eig函數(shù)得到特征值。這三個(gè)函數(shù)相互配合可以容易的分析動(dòng)力系統(tǒng)的局部分岔(源程序略)。
圖2(a)是程序運(yùn)行的結(jié)果,可以看到當(dāng)a=0,系統(tǒng)在原點(diǎn)處有唯一的平衡點(diǎn),由學(xué)生動(dòng)手計(jì)算該點(diǎn)的特征值證實(shí)該平衡點(diǎn)為鞍結(jié)點(diǎn)。隨著a增大到a>0,系統(tǒng)產(chǎn)生了兩個(gè)平衡點(diǎn),一個(gè)為鞍點(diǎn),一個(gè)為結(jié)點(diǎn),兩個(gè)平衡點(diǎn)的位置隨著a的增大在x1方向上移動(dòng)。由學(xué)生動(dòng)手,在平衡點(diǎn)附近取初始值,利用ode45函數(shù)計(jì)算a=0和a=0.5時(shí)系統(tǒng)的軌跡。在圖2(b)和圖2(c)中,直觀證實(shí)系統(tǒng)特性在a=0處發(fā)生了改變。在圖2(d)和圖2(e)中,逐漸減小a的值接近于0,系統(tǒng)狀態(tài)也將越來(lái)越接近a=0時(shí),說(shuō)明這是一種局部分岔。這個(gè)互動(dòng)演示的過(guò)程能使學(xué)生對(duì)鞍結(jié)點(diǎn)分岔概念有更清晰的認(rèn)識(shí)。類似地改變?cè)闯绦蛑械膁x變量分析其他非線性系統(tǒng),讓學(xué)生進(jìn)一步討論和理解其他的局部分岔類型,可以全面地理解各種類型局部分岔的概念。

圖2 鞍結(jié)點(diǎn)分岔
在“混沌和分形”的分岔理論課程的教學(xué)中,我們充分利用Matlab軟件工具進(jìn)行互動(dòng)式輔助教學(xué)。結(jié)果表明,這種引導(dǎo)學(xué)生參與的演示教學(xué)形式,能將抽象概念具體化、形象化和可視化,使他們?cè)趧?dòng)手參與中理解枯燥的理論概念,對(duì)教學(xué)效果和教學(xué)水平的提高也大有裨益。
[1]H.O.Peitgen,H.Jurgens,D.Saupe.Chaos and fractals:New Frontiers of Science(Second edition).New York:Springer-Verlag,Incorporated,2004
[2]R.C.Robinson.An introduction to dynamical systems:Continuous and Discrete.Upper Saddle River,New Jersey:Prentice Hall,2005
[3]P.Blanchard,R.L.Devaney,G.R.Hall.Differential Equations.Pacific Grove,CA:Brooks/Cole Publishing,2006
[4]黃紅飛.Matlab下DCT變換在信號(hào)壓縮中的應(yīng)用[J].南京:電氣電子教學(xué)學(xué)報(bào),2007(2)
[5]張萌,武攀.基于Matlab的多采樣率信號(hào)處理教學(xué)設(shè)計(jì)[J].南京:電氣電子教學(xué)學(xué)報(bào),2009(4)