陳琰明
摘要:本文以Excel2003辦公軟件為平臺,以其自帶函數為工具,介紹了Excel應用于工程數學矩陣類相關運算的新方法——Excel函數編程法。通過工程數學教材中的實例計算,詳細說明了自動生成運算結果的編程過程,并將該方法比對數學軟件Mathematica進行分析。
關鍵詞:Excel函數編程;矩陣類運算;自動化處理
中圖分類號:G642.4 文獻標志碼:A 文章編號:1674-9324(2014)10-0254-02
一、前言
在工程數學的教學中,經常面臨這樣的困惑:矩陣的組成元素大多是10以內的數字,涉及到矩陣類的運算均是數字在滿足矩陣運算規律下的加減乘除,如手工操作,運算過程較繁瑣,結果不能快速得出。本科類院校,一般開設數學實驗課,引入諸如Mathematics、Matlab等專業軟件來進行計算,而眾多高職高專院校未開設數學實驗課。另外,對專業數學軟件的學習勢必加重學生的學習負擔,筆者在教學改革工作中,通過多年的思考和探索,提出了一種新方法,即利用現有資源和條件,在學生理解基本數學概念的前提下,通過學生熟悉的辦公軟件Excel函數編程來解決這一問題。該方法充分利用Excel函數自動運算功能,通過簡單的數據錄入,便可完成矩陣類的自動化運算。方法簡單實用,易于掌握,切實體現了高職高專教學“學以致用、夠用為度”的原則。
二、Excel2003與矩陣之間的相關性
Excel系微軟公司Office系列軟件中的一個組件,可制作電子表格,完成復雜的數據分析,不僅簡單易學,且實用性強,具有容易獲得,普及面廣、操作簡潔等優點。矩陣即由多個數排列形成的數表,“電子表格、數表”均是表格,以此為橋梁和媒介,便可建立Excel和矩陣之間的聯系。
(一)矩陣的表示
單元格是Excel的最小單位,在其中輸入數字或文字后,由該單元格所在的行號和列號即可準確定位。矩陣中的元素表示數表中的數字在第i行第j列,矩陣的基本類型包括行、列向量和矩陣。
例1:在Excel中分別表示2行3列的矩陣A、3行3列的矩陣B、3行4列的矩陣C。
Excel表示方法:如圖一所示,在Excel的中輸入數字,并附說明性文字,如圖中的“矩陣A,2行3列”文字即簡單明了表示任一個矩陣。
(二)矩陣中某一個元素的提取
矩陣運算中涉及到從任意一個矩陣中提取某一個元素參與計算時,Excel2003利用計算相應值函數Offset建立參照系,提取矩陣中的元素。
例2:從矩陣A■ 2 3 5 1110 8 9 7 5 6 4 3提取元素a23和a13。
分析:以元素a11=2所在單元格A1建立參照系,則元素 a23=9相對于a11只需下移1行,右移2列即可;同理若以a34=7所在單元格D2建立參照系,則元素a13=5相對于a34而言只需上移1行,左移1列即可,如圖二所示。Excel表示方法:函數Offset(reference,rows,cols),reference為參照系,rows是指相對于參照系偏移的行數,cols是指相對于參照系偏移的列數。特別注意,行(列)向下(右)偏移用正數表示,行(列)向上(左)偏移用負數表示。
三、Excel2003在矩陣類運算中的應用
(一)矩陣的加減
首先,判斷矩陣之間是否滿足相加(減)的條件,若滿足,Excel自動完成,如下例3所示。
例3:已知矩陣A■1 2 34 5 6,B■7 8 91 2 1計算A+B。
分析:矩陣A、B的行數與列數對應相等(均為“2×3”類型),滿足矩陣的加減法運算,在Excel2003中標注說明文字,輸入A、B兩個矩陣即可完成計算。
步驟1:在單元格B4中輸入"=B1+G1",將鼠標箭頭放置B4單元格的右下角,當出現“+”填充符號后向下填充至單元格B5,如圖三所示。
步驟2:將鼠標箭頭放置B5單元格的右下角,當出現“+”填充符號后向下填充至單元格D5,可實現自動化運算。在此例中運用了Excel2003的自動填充功能。
(二)矩陣的數乘
用數K(K≠0)乘以矩陣A,即用K乘以A中的所有元素。K作為一個常數是“不動”的,在Excel2003中利用絕對引用便可實現。
絕對引用:在某一單元格位置符前加貨幣符號“$”,如單元格A1的絕對引用表示為“$A$1”。
例4:已知A2×3,則用K=4乘以矩陣A,新矩陣C的求解過如下:
分析:將K所在的單元格“G1”轉化為絕對引用“$G$1”進入計算。如圖四所示。
操作步驟:與例3類似,在單元格B5中輸入"=B1*$G$1",將鼠標箭頭放置B5單元格的右下角,當出現“+”后向下填充至單元格B6;將鼠標箭頭放置B6單元格的右下角,當出現“+”后向下填充至單元格D6,便可實現自動化運算。
(三)矩陣與矩陣的相乘
矩陣之間的乘積是整個矩陣運算的一個難點,在矩陣相乘的條件、得到乘積結果的判斷上,很多學生存在困擾。筆者提出一個簡便可行易于記憶的方法。
矩陣相乘的條件和結果的判斷:已知矩陣A和矩陣B分別為“A:m行n列”,“B:h行j列”,如圖五所示。
Excel2003函數計算:利用excel2003“MMULT”矩陣運算類函數便可實現矩陣與矩陣之間乘積的自動化輸出。
例5:矩陣A■1 23 45 8,B■1 5 6 72 3 1 5,計算C=AB。
分析:A、B矩陣相乘的條件和結果矩陣C的格式如上可以進行判斷。Excel函數MMULT(array1 array2,……),array1 和array2等分別表示矩陣A、B所在的區域,在此Excel將矩陣看作是數組格式,如圖六所示。endprint
步驟1:在B6中輸入"=MMULT(B1:C3,F1:I2)",選定A和B所在區域。按Enter鍵,“B1:C3”為矩陣A所在區域,“F1:I2”為矩陣B所在區域;
步驟2:根據圖五判斷,矩陣A、B相乘的結果C為“2×4”,選中放置輸出結果的單元格區域B6:E7,按F2,回到步驟1得出的結果,同時按住[Ctrl]+[Shift]+[Enter]鍵,最終得出圖六結果。
注:使用MMULT函數求解矩陣的乘積結果時,利用到Excel數組求值功能,在編輯欄輸入函數后,利用數組輸出格式“同時按住[Ctrl]+[Shift]+[Enter]鍵”進行結果輸出。
(四)方陣的行列式和逆矩陣
逆陣存在的前提是方陣行列式的值不為零。可用函數MDETERM和MINVERSE來分別求解行列式的值和逆矩陣,下面通過例題來介紹兩種函數的用法。
例6:已知A■=1 2 32 2 13 4 3,計算A的行列式,并判斷A是否可逆,如可逆,得出A-1。
分析:求解逆陣,首先利用函數MDETERM計算矩陣A的行列式|A|,判斷|A|的值是否為零,確定A是否可逆。在A可逆的條件下利用函數MINVERSE求解得到A-1。如圖七所示:
步驟1:計算A的行列式,判斷是否可逆;步驟2:在可逆的前提下,計算A的逆陣。
(五)矩陣的轉置
矩陣的轉置是將矩陣的行元素轉換為列元素。在excel中可以利用函數“TRANSPOSE”或者使用復制-選擇性粘貼菜單選項中的“轉置”復選框來完成。下面參照圖八,用函數TRANSPOSE(array)來完成矩陣的轉置。
分析:對矩陣E轉置,選中放置輸出結果的單元格區域G1:H3,然后選擇函數TRANSPOSE。選定矩陣A的區域“B1:D2”,利用數組格式輸出結果。
四、后記
矩陣將日常生產生活中的數表(包含數字的表格)進行數學處理,可以幫助我們解決諸多實際問題,尤其在解決經濟類問題時,利用矩陣可起到事半功倍的作用,如線性方程組的求解、投入產出問題、運輸問題、資金投資策略以及閉合經濟問題等方面都有著廣泛的應用,利用Excel函數實現矩陣的自動化運算,既能夠解決學生對運算的困擾,激發學生學習興趣,培養學生的數字應用能力,還不至于增加學生學習學業負擔,可謂一舉多得。
參考文獻:
[1]史玉磊.Excel函數與圖標實用大全[M].北京:電子工業出版社,2007,3.
[2]丁嵐.調查分析基本技能[M].北京:中國財政經濟出版社,2007,11.
基金項目:本文系甘肅省高等學校科研項目資助,項目編號2013B-125。endprint
步驟1:在B6中輸入"=MMULT(B1:C3,F1:I2)",選定A和B所在區域。按Enter鍵,“B1:C3”為矩陣A所在區域,“F1:I2”為矩陣B所在區域;
步驟2:根據圖五判斷,矩陣A、B相乘的結果C為“2×4”,選中放置輸出結果的單元格區域B6:E7,按F2,回到步驟1得出的結果,同時按住[Ctrl]+[Shift]+[Enter]鍵,最終得出圖六結果。
注:使用MMULT函數求解矩陣的乘積結果時,利用到Excel數組求值功能,在編輯欄輸入函數后,利用數組輸出格式“同時按住[Ctrl]+[Shift]+[Enter]鍵”進行結果輸出。
(四)方陣的行列式和逆矩陣
逆陣存在的前提是方陣行列式的值不為零。可用函數MDETERM和MINVERSE來分別求解行列式的值和逆矩陣,下面通過例題來介紹兩種函數的用法。
例6:已知A■=1 2 32 2 13 4 3,計算A的行列式,并判斷A是否可逆,如可逆,得出A-1。
分析:求解逆陣,首先利用函數MDETERM計算矩陣A的行列式|A|,判斷|A|的值是否為零,確定A是否可逆。在A可逆的條件下利用函數MINVERSE求解得到A-1。如圖七所示:
步驟1:計算A的行列式,判斷是否可逆;步驟2:在可逆的前提下,計算A的逆陣。
(五)矩陣的轉置
矩陣的轉置是將矩陣的行元素轉換為列元素。在excel中可以利用函數“TRANSPOSE”或者使用復制-選擇性粘貼菜單選項中的“轉置”復選框來完成。下面參照圖八,用函數TRANSPOSE(array)來完成矩陣的轉置。
分析:對矩陣E轉置,選中放置輸出結果的單元格區域G1:H3,然后選擇函數TRANSPOSE。選定矩陣A的區域“B1:D2”,利用數組格式輸出結果。
四、后記
矩陣將日常生產生活中的數表(包含數字的表格)進行數學處理,可以幫助我們解決諸多實際問題,尤其在解決經濟類問題時,利用矩陣可起到事半功倍的作用,如線性方程組的求解、投入產出問題、運輸問題、資金投資策略以及閉合經濟問題等方面都有著廣泛的應用,利用Excel函數實現矩陣的自動化運算,既能夠解決學生對運算的困擾,激發學生學習興趣,培養學生的數字應用能力,還不至于增加學生學習學業負擔,可謂一舉多得。
參考文獻:
[1]史玉磊.Excel函數與圖標實用大全[M].北京:電子工業出版社,2007,3.
[2]丁嵐.調查分析基本技能[M].北京:中國財政經濟出版社,2007,11.
基金項目:本文系甘肅省高等學校科研項目資助,項目編號2013B-125。endprint
步驟1:在B6中輸入"=MMULT(B1:C3,F1:I2)",選定A和B所在區域。按Enter鍵,“B1:C3”為矩陣A所在區域,“F1:I2”為矩陣B所在區域;
步驟2:根據圖五判斷,矩陣A、B相乘的結果C為“2×4”,選中放置輸出結果的單元格區域B6:E7,按F2,回到步驟1得出的結果,同時按住[Ctrl]+[Shift]+[Enter]鍵,最終得出圖六結果。
注:使用MMULT函數求解矩陣的乘積結果時,利用到Excel數組求值功能,在編輯欄輸入函數后,利用數組輸出格式“同時按住[Ctrl]+[Shift]+[Enter]鍵”進行結果輸出。
(四)方陣的行列式和逆矩陣
逆陣存在的前提是方陣行列式的值不為零。可用函數MDETERM和MINVERSE來分別求解行列式的值和逆矩陣,下面通過例題來介紹兩種函數的用法。
例6:已知A■=1 2 32 2 13 4 3,計算A的行列式,并判斷A是否可逆,如可逆,得出A-1。
分析:求解逆陣,首先利用函數MDETERM計算矩陣A的行列式|A|,判斷|A|的值是否為零,確定A是否可逆。在A可逆的條件下利用函數MINVERSE求解得到A-1。如圖七所示:
步驟1:計算A的行列式,判斷是否可逆;步驟2:在可逆的前提下,計算A的逆陣。
(五)矩陣的轉置
矩陣的轉置是將矩陣的行元素轉換為列元素。在excel中可以利用函數“TRANSPOSE”或者使用復制-選擇性粘貼菜單選項中的“轉置”復選框來完成。下面參照圖八,用函數TRANSPOSE(array)來完成矩陣的轉置。
分析:對矩陣E轉置,選中放置輸出結果的單元格區域G1:H3,然后選擇函數TRANSPOSE。選定矩陣A的區域“B1:D2”,利用數組格式輸出結果。
四、后記
矩陣將日常生產生活中的數表(包含數字的表格)進行數學處理,可以幫助我們解決諸多實際問題,尤其在解決經濟類問題時,利用矩陣可起到事半功倍的作用,如線性方程組的求解、投入產出問題、運輸問題、資金投資策略以及閉合經濟問題等方面都有著廣泛的應用,利用Excel函數實現矩陣的自動化運算,既能夠解決學生對運算的困擾,激發學生學習興趣,培養學生的數字應用能力,還不至于增加學生學習學業負擔,可謂一舉多得。
參考文獻:
[1]史玉磊.Excel函數與圖標實用大全[M].北京:電子工業出版社,2007,3.
[2]丁嵐.調查分析基本技能[M].北京:中國財政經濟出版社,2007,11.
基金項目:本文系甘肅省高等學校科研項目資助,項目編號2013B-125。endprint