聶奧洋 李軍成








摘要:矩陣的相關運算是代數學中重要的內容,在許多領域也有著廣泛的應用。為了對矩陣相關運算的結果進行驗證,基于MATLAB的圖形用戶界面(GUI)平臺設計了一個矩陣相關運算的驗證系統。該系統通過調用MATLAB自帶的有關函數進行設計,主要包括矩陣的運算、矩陣的求值、線性方程組求解等3個模塊。用戶只需根據提示信息輸入相應的變量,系統即可快速給出矩陣相關運算的結果,為矩陣相關運算的驗證提供了一個有效的平臺。
關鍵詞:MATLAB;圖形用戶界面;矩陣運算;驗證系統
中圖分類號:TP311 ? ? ? ?文獻標識碼:A
文章編號:1009-3044(2021)30-0088-04
1 引言
MATLAB將數值分析、矩陣計算、科學數據可視化等強大功能聚集在一起,為工程設計、科學研究等涉及數值計算的領域提供了靈活便捷的解決方案。MATLAB在矩陣運算以及線性方程組的求解中,擁有強大的計算功能,學生可以利用MATLAB高效地進行基本的矩陣運算[1]。
關于矩陣計算的GUI設計[2-4]有很多,但這些設計主要存在的問題有:1)界面不能用于矩陣的不同計算;2)界面設計過于復雜,不便使用。矩陣的理論和方法在數學和其他學科中都具有重要的意義,但許多學生無法克服矩陣龐大的計算量帶來的恐懼,從而喪失了學習的興趣和動力[5]。為此,本文對矩陣相關運算進行細化分類,通過MATLAB自帶的函數設計了一個矩陣相關運算驗證系統,為輔助教師的教學和學生的學習提供了便利。
2 系統的設計
2.1 系統主界面的設計
演示平臺總界面的設計思路是將矩陣的所有相關知識點分成了以下三類:矩陣的運算、矩陣的求值、線性方程組求解,系統主界面的設計如圖1所示。
2.2 矩陣的運算界面設計
2.2.1 矩陣的加法界面設計
矩陣的加法模塊的界面設計如圖2所示。該界面給出了和與差的定義以及運算規則,包含兩個可編輯文本框,分別用來讀取用戶所輸入的矩陣,然后通過按鈕(計算A+B)和按鈕(計算A-B)得出用戶所需數值結果,結果會在按鈕下方的列表框中顯示。
2.2.2 矩陣的數乘界面設計
矩陣的數乘模塊界面設計如圖3所示。該界面給出了一些矩陣與數相乘的運算規律以及遵循的運算法則,讓用戶在使用該界面時同時可以增加用戶對矩陣數乘知識的學習。該界面提供兩個可編輯文本框,一個用來獲取用戶所輸入的數k,另一個用來獲取用戶所需要計算的矩陣。
2.2.3 矩陣乘法的界面設計
矩陣乘法模塊的界面設計與圖4所示。跟矩陣的數乘運算類似,該界面設置兩個可編輯文本框用于獲取用戶所輸入的矩陣,列表框用于反饋結果。用戶在可編輯框輸入需要計算的矩陣,點擊計算按鈕,界面系統會自動通過MATLAB所包含的函數對輸入矩陣進行處理反饋結果。
2.2.4 矩陣求逆的界面設計
矩陣求逆模塊的界面設計如圖5所示。該界面給出了矩陣求逆的一些相關理論知識和編輯文本框、按鈕等操作按鍵。用戶通過對可編輯框的編輯,使MATLAB利用get函數獲取到所需要加工的矩陣,然后利用程序所指定的符號對矩陣進行求逆,最后通過列表框反饋。
2.2.5 矩陣轉置的界面設計
矩陣轉置模塊的界面設計如圖6所示。該界面利用MATLAB轉置運算符對用戶輸入的矩陣進行加工,得出矩陣的轉置。在該界面的左邊主要給出的是矩陣轉置的相關知識點和轉置運算的規律,方便用戶學習,中間部分設置兩個可編輯文本框提供給用戶輸入他們想處理的矩陣,模塊右邊是矩陣處理的按鈕以及處理過后結果的顯示。
2.2.6 矩陣共軛的界面設計
矩陣共軛模塊的界面設計如圖7所示。該界面相比于矩陣轉置模塊的設計區別在于矩陣共軛轉置研究的是復數矩陣。
2.3 矩陣的求值界面設計
2.3.1 矩陣行列式計算的界面設計
行列式是方陣的一個非常重要的指標,其計算本身具有一定的復雜度[6]。矩陣行列式計算的界面設計如圖8所示。該界面左邊排版方陣行列式的運算性質,中間利用get函數設計交互框用于提取用戶所輸入的矩陣,右邊利用MATLAB中det函數對get到的矩陣進行處理反饋數據,注意所輸入的矩陣必須為方陣不然會提示錯誤。
2.3.2 矩陣求秩的界面設計
矩陣的秩應用性十分廣泛,尤其是在判定向量組的線性相關性、求解方程組的解的結構以及判定矩陣行(列)空間的基和維數上的應用更為常見[7]。矩陣求秩的界面設計如圖9所示,該界面主要利用MATLAB rank函數精確快速地得出矩陣的秩。
2.3.3 矩陣求跡的界面設計
矩陣的跡作為矩陣的一個重要數字特征,在數值計算、逼近論和統計估計等方面都有著較為廣泛的應用[8]。矩陣求跡的界面設計如圖10所示,該界面的設計類似于矩陣行列式的模塊進行設計,在界面給出有關矩陣求跡的相關知識點,利用MATLAB已知函數trace函數,對矩陣進行加工并反饋結果。
2.3.4 矩陣特征值與特征向量計算的界面設計
特征值與特征向量的理論體系已經基本成熟,并且在其他領域中得到了廣泛的應用[9]。矩陣特征值與特征向量計算的界面設計如圖11所示,該界面給出了特征值和特征向量的相關知識點,主要通過eig函數幫助用戶快速計算矩陣的特征值與特征向量。
2.3.5矩陣計算范數的界面設計
矩陣計算范數的界面設計如圖12所示,該界面給出了范數的定義,用get函數設計了可編輯框用于讀取用戶輸入的矩陣,再針對輸入矩陣計算不同的范數結果。
2.3.6 矩陣條件數計算的界面設計
矩陣條件數計算的界面設計如圖13所示,該界面的設計與矩陣范數模塊的設計類似,給出了條件數的定義,用get函數設計了可編輯框用于讀取用戶輸入的矩陣,再針對輸入矩陣計算不同的條件數結果。
2.4 線性方程組求解的界面設計
求解線性方程組是代數學中重要的知識模塊,在網絡流模型,動物遷徙模型[10]求解中也具有廣泛應用。線性方程組求解的界面設計如圖14所示,該界面主要是利用矩陣的性質進行線性方程組有無解的判定和求解,對于有解的線性方程組可以利用常數矩陣和系數矩陣求解出該方程的解。用戶首先輸入線性方程組的系數矩陣、增廣矩陣、未知數個數以及等式右邊的常數向量,然后點擊判定方程組是否有解,如果此方程組有解則可點擊求解得到此方程組的解。
3 結束語
本文將矩陣相關運算具體分為矩陣的運算、矩陣的求值、線性方程組求解等3個模塊,基于MATLAB_GUI設計與開發了一個矩陣相關運算的驗證系統。所設計的系統界面美觀,功能齊全,運行穩定。在進行操作時,只需修改可編輯框參數,便可得到所需要的數據,通過該系統可以解決一些較復雜矩陣的計算。
參考文獻:
[1] 寇娜.MATLAB在線性代數理論教學中應用的探索[J].教育教學論壇,2020(29):306-307.
[2] 郝琳,馬長林.Matlab/GUI的AHP成對比較矩陣的檢驗及修正[J].電腦開發與應用,2014,27(9):76-78.
[3] 楊鳳英, 廖莎. 基于Matlab GUI線性代數計算器的設計與開發[J]. 甘肅科技, 2019, 35(21): 1-3.
[4] 崔秋珍.基于MATLAB的《線性代數實驗課程》GUI平臺設計與實現[J].電腦知識與技術,2012,8(31):7513-7515,7522.
[5] 楊亞輝.用Matlab深入學習和理解矩陣知識[J].現代電子技術,2007,30(6):175-177.
[6] 胡康秀,楊揚,丁云,等.3類典型的“矩陣和”的行列式計算及其應用[J].江西科學,2020,38(5):619-620.
[7] 謝毅,徐聰.矩陣的秩的三種常見的應用[J].數學學習與研究,2020(9):154,156.
[8] 宿曈.矩陣跡的性質及其應用[J].高師理科學刊,2018,38(10):45-47.
[9] 張亞. 矩陣的特征值與特征向量及其應用[J]. 科技經濟導刊, 2018, 26(11): 79-84.
[10] 王偉珠. 線性方程組應用分析[J]. 現代商貿工業, 2016(36): 168-169.
【通聯編輯:王力】
收稿日期:2021-03-22
基金項目:湖南省普通高等學校教學改革研究項目“基于學科競賽驅動培養地方院校數學類應用型創新人才的研究與實踐”(湘教通[2018]436號No.732);湖南人文科技學院MOOC/SPOC課程建設項目“MATLAB語言基礎”(校教通〔2018〕85號No. 21)
作者簡介:聶奧洋(2001—),男,湖南婁底人,本科生,主要研究方向為數學建模及其應用;通信作者:李軍成(1982—),男,湖北省漢川市人,教授,博士,主要研究方向為幾何設計與計算、數學建模。