胡劍
MATLAB是用Fortran語言編寫的工程計算分析軟件,matlab的核心理念是矩陣計算,其中的計算對象都是以矩陣的形式呈現的。現在的matlab擁有強大的程序包用來處理各個領域的問題,比如仿真計算,原型開發,數據可視化等。因此matlab目前是最廣泛應用的數學軟件,在發達國家大學中是必須掌握的基本數理工具,更是一般研究設計和工程單位的標準軟件。無論是學術,還是工業應用,matlab都具有無法或缺的地位。
線性代數主要是研究線性變換的學科,大學階段的線性代數,主要討論和矩陣相結合的有限維線性空間的理論。主要涉及線性方程組,矩陣運算,線性空間與線性變換,正交性,二次型,向量空間等內容,是一般大學的公共基礎課,是現代數學理論的重要基石之一。目前在網絡運算,優化,系統工程等多方面有深入而廣泛的應用。
線性代數的教學存在以下弊端:1.枯燥抽象,線性代數是第二代數學模型,是先建立抽象的公理系統,再討論運算的。所以對于學生來說一下子難以接受如此抽象的課程。我們的教材的安排上也是遵循學科發展的時間順序編排,并沒有考慮學生的接受次序,往往線性代數成了很多學生的發懵課。2.計算大而繁瑣,現代大量應用中的線性代數都是大規模的,反應到教學中。過于簡單的算例,學生領會不到計算的技巧,過于復雜的算例,有讓學生浪費時間在枯燥無趣的加減乘除中,對于真正線性代數理念的理解毫無進益,此舍本求末。3.線性代數本身涉及抽象空間的對象的變換,如果沒有圖形的輔助對學生來說沒辦法建立抽象空間的概念。往往線性代數最后都是為學而學,對真正抽象空間的理解僅停留在幾個字面意思,脫離了線性代數教學本身的初衷。
新教學改革計劃將matlab融入線性代數的教學中,基本安排如下:
1.教材選擇,我們選用了Steven J. Leon的第九版的線性代數中文版。它詳細的講解了每個公式的來龍去脈和其中的代數和幾何意義,使得讀者對于那些公式的理解可以提高一個檔次。每章用一個introductory example開頭 讓人對這樣抽象的課程有點感性認識。其實在一本數學書中,詳細的證明過程并不是理解一個定理的捷徑,只有理解了定理中每個元素在的內在含義后以及它們之間的關系后,才會在心中承認這個定理的正確性,而證明過程只是一種官方的確認而已。
2.線性代數的關鍵在于建模——把實際問題轉化成線性代數問題,合理選擇工具,比如matlab語言都有大量的工具包選擇,從而用計算機解決問題。如何引導學生建模,勢必要求學生把注意力從計算中引開去。比如矩陣與方程組,可以結合圖論在通信網絡中的應用,將圖轉化成鄰接矩陣(adjacency matrix)后,乘冪該鄰接矩陣,可以求得任意兩頂點間給定長度的路的條數。比如奇異值分解(singular value decomposition)以及馬爾可夫過程(Markov process)在網絡搜索和分級中的應用,。google早期的PageRank排名算法就是一個巨大的馬爾可夫過程。又比如基于向量空間的線性變換,即從一個向量空間到另一個向量空間的線性映射。其中提到一個線性算子(linear operator)是一個向量空間到其自身的線性變換,以及每一個mxn矩陣A,事實上定義了一個從Rn到Rm的線性變換,這讓矩陣有了具體的意義,這些都可以利用matlab讓學生感受到形象的線性代數的運算。再比如線性變換在計算機圖形和動畫中的具體應用,我們通過改變平面上幾何圖形頂點的位置,并重新繪制圖形,即可變換圖形,如果變換是線性的,則可通過矩陣乘法實現,觀察一系列這樣的圖形就得到了一個動畫。特別在正交性的例子中,我們可以利用matlab引入最小二乘法的計算,并用線性代數的知識證明最小二乘法的最優。
3.線性代數本身計算的設計,我們在教學中還考慮了現在計算理論的初步嘗試,由于計算機數據是用計算機中有限位的數字系統表示的,導致其在初始化和算術運算中會出現大量的舍入誤差,所以選擇一個合適穩定的算法在這里非常重要,在沒有matlab的情況下我們不能向學生展示計算誤差,那么有了matlab,我們不僅能夠展示計算誤差,還可以讓學生自己做估計,并比較差別。
基于Matlab的線性代數實驗安排在每一章節后,讓學生能夠實操matlab進行線性代數的演算,實際效果反應相當好。多數學生表示對線性代數有了一個全新的認識,其次是對matlab的更多操作和命令的使用有了更高的掌握,最重要的事對線性代數的處理能力有了一個明顯的提高。比如說相關m文件的建立,畫圖用到的標注,配色,坐標控制,同一張圖里畫幾幅不同的圖像,相關參數的設置以及相關函數的調用格式等等。 就拿建立一個數學方程而言,通過設置不同的參數達到所需要的要求和結果,而且還可以在不同的窗口建立不同的函數而達到相同的效果,比如說可以再命令窗口和m文件中通過不同的命令設置的到相同的所需的效果圖。對于矩陣及閉環傳遞函數的建立掌握了相關的命令操作和處理的方法,不僅可以通過建立函數和參數來達到目標效果,而且還可以通過可視化的編程達到更快更方便。
期末有課學期論文,要求學生完成一整個線性代數相關項目,獨立經歷設定選題,查找資料,搜集數據,建模分析的過程。最后都能夠有相應的完成的論文呈現。
應用matlab的線性代數教學,不單單讓學生理解了線性代數本身的概念,還掌握了matlab的基本應用,以及論文撰寫的基本技能,整個教學效果還是不錯的。
參考文獻:
[1]運用“MATLAB”進行線性代數課程教學的原則[J]. 汪潘義. 科技信息. 2009(23)
[2]“實變函數論”課程教學改革的探索與實踐[J]. 許靜波,張國芳. 吉林師范大學學報(自然科學版). 2009(02)
[3]線性代數課程MATLAB實驗內容的教學與研究[J]. 高淑萍,孫群,楊威,陳懷琛. 中國電子教育. 2007(04)
[4]線性代數教學內容改革的研究與實踐[J]. 吳天毅. 天津輕工業學院學報. 2003(S1)
公安海警學院2017年度教學改革課題項目資助(No.2017
YB008)。