董秀明 賀方超
基金項目:湖北省教育廳人文社科項目(No.15Q075)。
摘要:線性代數是一門特別抽象的數學課程,很多同學在學習中都遇到了困難,然而一些演算過程耗費的大量精力,使線性代數的教學和學習陷入了不斷重復的繁瑣中。為了提高線性代數的教學效果,激發學生的學習興趣,將理論與實際之間結合起來,建議在線性代數教學中引入matlab軟件輔助教學。
關鍵詞:matlab軟件;線性代數;輔助教學
線性代數是理工科大學生的一門數學基礎課,其內容非常抽象,不同章節之間又存在一些不容易掌握的聯系,因此線性代數的學習狀況不容樂觀。而傳統的線性代數課堂上,絕大部分的教學仍然是圍繞著理論進行講解,教授方式大部分仍是黑板演算,即使采用了多媒體也是筆算過程。例如,一個四階數值行列式的求解,一個階數不算高的數值矩陣進行初等行變換化為行最簡形,一個線性方程組的求解,這些都需要做上十次的四則運算,并且只有在保證沒有一點出錯機會的條件下計算才會正確,這些四則運算的計算過程雖然考察了學生計算的精確性和耐心程度,但是是一些沒有什么含金量的處理過程,只是一些繁瑣的按部就班。筆算能力已經在大學之前得到了很好的鍛煉,已經達到極致不需要再進行強化了,英國人數學筆算能力很差但國家仍然發展不錯這一事實也從一方面說明我們的大學生無需再進行更多重復計算訓練了。所以不管是教師還是學生,日常教學和學習過程在這些最基本的演算上,耗費了大量的時間,而學生在分析問題、處理問題的能力上沒有任何提高。而且這些演練針對的行列式或者矩陣還只能是階數比較小的,階數太大了計算量是難以想象的。線性代數傳統教學的劣勢,很多一線教師也都注意到了,他們也在進行積極的探討,尋求教學上的突破。
現在我們正處于大數據時代,要想處理大量數據必須依賴計算機,把這些繁瑣的工作教給專業軟件,在這方面數學課程的教學應該走在最前面。很幸運的是,有一種叫matlab的軟件正好可以做這方面工作。Matblab是矩陣實驗室(matrix laboratory)的縮寫,它的一部分是從美國數學家開發的線性代數軟件包Linear agebra package調用的,具有強大的數值計算功能,能解決該學科中的幾乎所有問題。由于它以矩陣作為基本數據單位,因此與線性代數有著天然的聯系。在線性代數的學習過程中,學生在課堂學習的同時,如果教師能在課堂上進行matlab語言相應輸入演示,或者教給學生方法讓學生去實驗室自行輸入觀察演算結果,將會極大提高學生的學習興趣,并為他們掌握matlab這個科學運算工具打下良好的基礎。
Matlab的確是非常適合線性代數學習的,它簡單易學,界面友好,只需要在命令窗口中輸入語句就可完成,將線性代數中最繁重的環節通過敲擊鍵盤解決。用matlab解決線性代數中的基本問題,聯系我們目前40學時所用的教材,主要有以下幾個方面,幾乎涵蓋了線性代數的所有內容。
1. 實現矩陣的輸入或創建
矩陣的輸入就像在紙上寫一個矩陣一樣簡單明確,如輸入A=[1 2 3;4 5 6;7 8 9]就得到矩陣A,通過一些命令還可以提取A中的小矩陣,還可以構造含矩陣A的大矩陣。創建矩陣主要通過一些特定的函數和語句進行。
2. 矩陣的基本運算
矩陣輸入或創建之后,就可以進行各種基本運算了,這些運算所用符號簡潔易懂,容易掌握。
矩陣的加減法(A+B,A-B),乘法(A*B),數乘矩陣(k*A),轉置(A′),方陣的行列式(det(A)),逆矩陣(inv(A)),矩陣的秩(rank(A)),矩陣的跡(trace(A)),對矩陣進行初等行變換化為標準形(rref(A)),這些都可以通過一個命令進行實現。
3. 求解線性方程組
由于線性方程組解的情況有三類,需要根據系數矩陣和增廣矩陣的秩之間的關系進行判定,因此線性方程組的求解需要的命令相對增加,但一般十幾行命令就完成了。
4. 求方陣的特征值和特征向量
應用matlab的命令[V,D]=eig(A)即可求解方陣A的特征值特征向量,其中矩陣D為A的特征值所構成的對角陣,V的列向量為A的特征向量,與D中特征值一一對應。
5. 方陣的正交規范化及二次型化為標準形
orth(A)表示將矩陣A正交規范化,得到正交矩陣。利用不超過十個命令可以將二次型化為標準形。
引入matlab進線性代數課堂的主要作用,是輔助教學,且不可本末倒置。線性代數中的定義、定理等最基本的內容必須花大工夫認真講解,一些筆算也是必需的,一些理論推導仍需嚴格進行。Matlab的目的是增加學習的趣味性,為線性代數走上實際應用起到橋梁作用。
參考文獻:
[1]蔡光興,李逢高.線性代數(第四版)[M].北京:科學出版社,2016.
[2]周曉陽.數學實驗與Matlab[M].武漢:華中科技大學出版社,2002.
作者簡介:
董秀明,賀方超,湖北省武漢市,湖北工業大學理學院。