申貝貝
【摘要】 線性代數(shù)是一門應(yīng)用性極強的基礎(chǔ)學(xué)科,但是由于其自身性質(zhì),在學(xué)習(xí)過程中會出現(xiàn)很多問題,Matlab以其在許多方面強大的功能優(yōu)勢,其應(yīng)用與線性代數(shù)的學(xué)習(xí)過程相結(jié)合會收到學(xué)習(xí)事半功倍的效果. 本文通過對Matlab在線性代數(shù)學(xué)習(xí)中的使用必要性以及具體運用進行探討,希望給相關(guān)的理論研究工作提供一點參考依據(jù).
【關(guān)鍵詞】 Matlab;線性代數(shù);應(yīng)用
長久以來傳統(tǒng)線性代數(shù)的應(yīng)用性受到人們的忽視,常常將重心置于定理、證明等過程. 然而社會經(jīng)濟中很多現(xiàn)實問題,無法只憑借對線性代數(shù)相關(guān)定理、概念的理解去解決. 如果在線性代數(shù)的學(xué)習(xí)過程中引入Matlab工具軟件,不僅能夠?qū)崿F(xiàn)計算的精準(zhǔn)性,而且能夠進行仿真繪圖,使得數(shù)學(xué)知識與現(xiàn)實生活緊密相連,學(xué)習(xí)效率大大提高.
一、線性代數(shù)中使用Matlab軟件的必要性
線性代數(shù)是非常重要的學(xué)科,具有非常嚴(yán)密的邏輯性和高度的抽象性,計算過程非常復(fù)雜,計算量非常大. Matlab軟件兼容性極佳,具有非常強大的仿真繪畫和計算功能,將Matlab引入線性代數(shù)的學(xué)習(xí)當(dāng)中,可在多維空間中將抽象概念具體、形象化,并拓展至高維空間,無須對數(shù)序問題進行探討.
二、Matlab在線性代數(shù)知識中的應(yīng)用
假設(shè)在一個大城市中的總?cè)藬?shù)是固定的,人口的分布會因居民在市區(qū)和郊區(qū)之間遷徒而變化.每年平均有6%的市區(qū)人口向郊區(qū)遷移,2%的郊區(qū)人口向市區(qū)遷移. 如果最開始全部人口的70%為郊區(qū)人口,30%為市區(qū)人口,現(xiàn)在如何求出十年后、三十年后、五十年后兩個區(qū)域的人口比重?可以用矩陣乘法來描述這個問題. 市區(qū)和郊區(qū)兩個變量分量表口人口變量,即:Xk = XckXsk,其中s表示郊區(qū),c表示市區(qū),k表示年份,當(dāng)k = 0的時候,
其中:
X = Xc0Xs0 = 0.30.7
城市一年之后的市區(qū)人口比例為Xc1 = 0.02Xs0 + (1 - 0.06)Xc0,郊區(qū)比例為Xs1 = (1 - 0.02)Xs0 + 0.06Xc0,人口比例變化如果用矩陣來描述的話,可表述為:
X1 = Xc1Xs1 = 0.94 0.020.06 0.980.30.7 = AX0 = 0.29600.7040
從最開始到第k年,這種比例關(guān)系是固定不變的,因此上式可以擴展,Xk = AXk-1 = A2Xk-2 = … = AkX0 = 0.29600.7040. 運用Matlab軟件計算的話,則為A = {0.94,0.02,0.06,0.98},X0 = {0.3,0.7},X1 = A*X0,X10 = A10*X0,X30 = A30*X0,X50 = A50*X0.
X1 = 0.29600.7040,X10 = 0.27170.7283,X30 = 0.25410.7459,X50 = 0.25080.7492
當(dāng)k的值無限增大的時候,兩個區(qū)域的人口比例趨于一個常數(shù):0.25/0.75,如果要對這個固定比例的出現(xiàn)原因進行探究的話,第一步須將坐標(biāo)系統(tǒng)進行調(diào)整,能夠特別明確地從這個坐標(biāo)系統(tǒng)中看到與矩陣A相乘的效果,首先需求出A的特征值和向量,輸入{c,r} = cig(A)
可得c = -0.7071 -0.3162 0.7041 -0.9487,r = 0.9200 0 0 1.0000,令u1 = -1 1,u2 = 13,兩個區(qū)域人口是整數(shù),而且和特征向量c1,c2成比例. 由此可知,用A與兩個特征向量分別相乘的話,改變的僅是特征向量的長度,對其方向沒有產(chǎn)生任何影響,發(fā)生相應(yīng)變化的比例為0.92和1.Au1 = 0.92u1,Au2 = u2,X0 = 0.25u2 - 0.05u1,因此可得Xk = 0.02u2 - 0.05(0.92)ku1,當(dāng)k取值無限大的情況下,第二項值趨于0,所以其可不予考慮. 選擇合適的基向量,矩陣乘法結(jié)果與簡單實數(shù)的乘子相等同,可以避免交叉項的出現(xiàn),可使問題簡單化.
三、利用Matlab對線性代數(shù)中的實際問題進行解決
例如:我國目前高校學(xué)生每天均需有一定量的蛋白質(zhì)、脂肪和碳水化合物的攝取,三種營養(yǎng)素每天所需正常量分別為33、3、45,第一種食物中三種營養(yǎng)物質(zhì)含量分別為:36、0、52,第二種食物中含量分別為:51、7、34,第三種食物為13、1.1、74,根據(jù)對上述問題的描述建立線性方程組,對高校學(xué)生每天對三種物質(zhì)的攝入量進行確定,假設(shè)第一種食物中三種營養(yǎng)物質(zhì)的含量分別為x1,x2,x3,因此可得以下方程組:36x1 + 51x2 + 13x3 = 33,7x2 + 1.1x3 = 3,52x1 + 34x2 + 74x3 = 45.運用Matlab軟件對以上方程組求解的方法為:A = [36 51 13;0 7 1.1;52 34 74],B = [33;3;45],X = inv(A)*B則求出0.2772,0.3919,0.2332,最后結(jié)果可以借助Matlab軟件求得,依據(jù)所求得的結(jié)果可知,高校學(xué)生應(yīng)當(dāng)每天攝入的第一種食物量為:0.2772,第二種食物量為:0.3917,第三種食物量為:0.2332,這個量就可以充分保障高校學(xué)生的健康合理飲食. 通過上述實際問題的解決過程可知,在運用線性代數(shù)解決現(xiàn)實問題時,第一步應(yīng)當(dāng)建模,然后通過Matlab工具軟件進行計算,這樣一來大大提高了問題解決的效率.
四、Matlab在矩陣求秩、向量組極大無關(guān)組求解中的應(yīng)用
在Matlab工具軟件中存在一種命令,這種命令可以直接求矩陣求秩以及對向量組極大無關(guān)值進行求解,現(xiàn)舉例說明. 對于A = {a1,a2,a3,a4} = 2 1 2 34 1 3 52 0 1 2,要求對A的秩,梯形矩陣代碼是A = [2 1 2 3;4 1 3 5;2 0 1 2]通過上述代碼可知A的秩是2.
綜上所述,通過輔助軟件Matlab,可大大簡化線性代數(shù)的學(xué)習(xí),并且運用Matlab對現(xiàn)實數(shù)學(xué)問題進行解決,建模能力也相應(yīng)得到提高,而且使得線性代數(shù)的學(xué)習(xí)過程充滿趣味性.
【參考文獻】
[1]凌智,張波.Matlab在工科線性代數(shù)教學(xué)中的應(yīng)用[J].科技創(chuàng)新導(dǎo)報,2008(29):247-248.
[2]劉波,戴小鵬,沈岳,王奕.Matlab融入線性代數(shù)的教學(xué)改革與實踐[J].軟件,2014(02):150-152.