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