官术网_书友最值得收藏!

任務四 求解線性方程組

知識目標

掌握高斯消去法求解線性方程組的基本原理。了解Excel自帶函數和Excel規劃求解法處理線性方程組的方法。

能力目標

能運用高斯消去法進行手工求解線性方程組,能將高斯消去法和Excel單元格驅動相結合求解線性方程組。

化學化工中,用線性代數方法描述復雜的化學反應、定義多原子和多分子體系的線性空間、計算各種物質的物理化學性質的加和方法、物料衡算和能量衡算、確定反應體系的獨立反應數、化工量綱分析中確定獨立變量數以及某些分析化學計算等,都常常要運用線性代數方程組的計算。

線性代數方程組的解法大體上可分為兩大類,即迭代法與直接法。由于直接法具有計算量較小、結果精確的特點,故又稱精確法,目前求解線性方程組以采用直接法為多。以下將介紹求解線性方程組的基本原理,并著重講解如何利用Excel進行求解的詳細步驟。

一、線性方程組的求解方法

消元法是求解線性方程組常用的一種直接方法。這種方法的優點是可以預先估計計算的工作量,并且根據消元法的基本原理,可以得到有關矩陣運算的一些方法,故其應用很廣泛。

思考:何謂高斯消元法?

(一)消元法

消元法亦稱高斯(Gauss)消去法,其基本思想是通過線性變換將原線性方程組轉化為三角形方程組(消元),然后再進行求解(回代)。消元法分為消元和回代兩個過程。下面以一個四階方程組為例說明消元法的基本過程。

(1)消元過程

所謂消元,是指逐步減少方程式中變量的數目。為此將一個方程式乘以(或除以)某個常數,然后在方程式之間作加減運算。為便于說明,將式(1-25)寫作增廣矩陣的形式

消元過程的第一步

a11≠0(若a11=0,總可以通過方程次序互換,使滿足a11≠0),將第一行各元素乘以(-ai1/a11)后加到第i行(i=2,3,4),則可得

消元過程的第二步

又若(若a2(1)2=0,同樣可以通過方程次序互換,使滿足;將第二行各元素乘以后加到第i行(i=3,4),則可得

消元過程的第三步

再若,將第三行各元素乘以后加到第i行(i=4),則可得

至此消元過程完成,式(1-29)中原方程組的系數矩陣化為一上三角矩陣,原方程組(1-25)等價于如下三角形方程組

注意消元過程中利用了這樣兩條運算規則:

①某方程各項除或乘同一非零數所得方程組與原方程組等價;

②某方程與另一方程相加或相減所得方程組與原方程組等價。

(2)回代過程

所謂回代,即從最后一個方程式直接解出

x4代入上一式,解出x3

逐次往前計算,便可求出全部xi。

按此類推,n階線性方程組,即

式(1-33a)也可表達為

其消元法的計算公式和步驟可歸納如下:

①消元過程 依次按k=1,2,…,n-1計算下列系數

②回代過程

對于一個n階方程組,采用高斯消元法需作n-1次消元過程。消去第一列(n-1)個系數需作乘法運算次數為nn-1),消去第二列中(n-2)個系數需作(n-2)(n-1)次乘法運算,……,最后消去第(n-1)列中一個系數需作1×2次乘法,總計消去過程的乘法運算次數為

其次為使第i個方程的xi系數為1時需作除法運算次數為

因此消元過程總運算次數為

在回代過程中需作乘法運算次,除法運算n次。所以整個高斯消元過程運算總次數為

由此可見,采用高斯消元法求解高階線性方程組的工作量很大,手工求解不太可能,如n=10時,總運算次數為430次。

(二)高斯主元消去法

由式(1-28)可知,消元過程需用系數矩陣的對角線元素ak,k(通常稱為主元素)做除數。若主元素為零,總能通過行交換找到非零ak,k,但若主元素很小,由于舍入誤差及有效數字損失,其本身常有較大誤差,再用它作除數,則會帶來嚴重的誤差增長,以致使最終解極不準確,由此提出了高斯列主元消去法,即在消元之前應對方程組的首行或首列元素進行檢查,并將其中絕對值最大者調整到首行或首列。這種方法稱為主元消去法。

根據誤差分析,若選取主元素的絕對值最大的方程作為主方程,則所得的解的誤差最小。選取主元素的方法有三種。

①遍查方程組第一式中的所有元素(不包括常數項),并找出其中絕對值最大者作為主元素,然后將主元素及其所在列的其他元素與第一列各對應元素互換位置。這種選取主元素的方法,稱為行主元法。

②遍查方程組第一列中的所有元素,并找出其中絕對值最大者作為主元素,然后將主元素及其所在行的其他元素與第一式的各對應元素互換位置。這種選取主元素的方法,稱為列主元法。

③同時采用行主元法與列主元法選取主元素,稱為全主元法。

二、手工求解線性方程組

以下通過具體實例講解如何應用上述方法求解線性方程組。

【例1-9】 采用高斯消元法求解以下三階方程組

2x1-x2+3x3=1

4x1+2x2+5x3=4

x1+2x2=7

解:對于三階方程,采用高斯消元法需要二次消元過程。此三階線性方程組經過兩次消元過程即可將原方程組化為上三角形方程組,消元過程如下:

回代過程是將上三角形方程組自下而上逐步進行求解,從而得出

x3=-6,x2=-1,x1=9

三、采用Excel求解線性方程組

以下仍以例1-9為例,介紹如何運用Excel求解線性方程組的兩種方法:①高斯消去法與Excel單元格驅動相結合求解線性方程組;②Excel自帶的函數求解線性方程組。

(一)高斯消去法與Excel單元格驅動相結合求解線性方程組

具體步驟如下。

步驟1:打開Excel,將線性方程的增廣矩陣依次輸入單元格A6:D8中,如圖1-44所示。

圖1-44 Excel求解線性方程組方法一之示意圖1

步驟2:第一次消元,選中A6:D6,復制并粘貼到A10:D10,如圖1-45,這樣做的目的是保留原線性方程。在單元格A11中輸入消元公式:=A7-A6/$A$6*$A$7,選中A11,自動填充到D11;在單元格A12中輸入消元公式:=A8-A6/$A$6*$A$8,選中A12,自動填充到D12,第一次消元完成后的各方程系數及常數項的數值如圖1-45所示。

圖1-45 Excel求解線性方程組方法一之示意圖2

步驟3:第二次消元,選中A10:D11,采用選擇性粘粘方法將其數值復制到A14:D15,如圖1-46。在單元格B16中輸入第二次消元公式:=B12-B11/$B$11*$B$12,選中B16,自動填充到D16,至此完成整個消元過程。

圖1-46 Excel求解線性方程組方法一之示意圖3

步驟4:回代,如圖1-47所示,分別在單元格B18、D18、F18中輸入:=D16/C16、=(D15-C15*B18)/B15、=(D14-C14*B18-B14*D18)/A14即可得線性方程組的解,即:

圖1-47 Excel求解線性方程組方法一之示意圖4

x3=-6,x2=-1,x1=9

(二)采用Excel自帶函數求解線性方程組

步驟1:求系數行列式的值,如圖1-48所示,在A23:C25區域中輸入系數行列式。選擇單元格D23,輸入“=MDETERM( )”,在“( )”輸入框中輸入區域A23:C25,單擊“確定”,得方程組系數行列式的值為“-7”。由線性方程組求解知識可知,若方程組系數行列式的值不為0,說明系數矩陣有逆矩陣,方程組有唯一解。

圖1-48 Excel自帶函數求解線性方程組之示意圖1

步驟2:求矩陣的逆。選擇3行3列的一個區域,如A27:C29,如圖1-49所示,輸入“=MINVERSE( )”,在“( )”中輸入A23:C25,同時按下Ctrl、Shift、Enter鍵,得逆陣。

圖1-49 Excel自帶函數求解線性方程組之示意圖2

步驟3:求方程的解,即逆矩陣與列向量b的乘積,如圖1-50所示。選擇一個1列3行區域,如D27:D29,輸入列向量b,即1、4、7;另選一個1列3列區域,如E27:E29,輸入“=MMULT(?。?,在“( )”中輸入:“A27:C29,D27:D29”,同時按下Ctrl、Shift、Enter鍵,即可在區域E27:E29中得方程組解。

圖1-50 Excel自帶函數求解線性方程組之示意圖3

四、技能拓展——Excel規劃求解法解線性方程組

除采用單元格驅動結合高斯消去法、Excel自帶的函數求解線性方程組外,Excel的規劃求解法也可用于求解線性方程組,以下仍以例1-9為例,介紹規劃求解法的具體處理過程。

步驟1:如圖1-51所示,依次在單元格B33、B34、B35中輸入3個方程的表達式,即:=2*A33-A34+3*A35、=4*A33+2*A34+5*A35、=A33+2*A34+0*A35,其中A33、A34、A35分別代表x1、x2x3。

圖1-51 Excel規劃求解法求解線性方程組之示意圖1

步驟2:選中B33,單擊“數據”,選擇“規劃求解”,調出“規劃求解參數”對話框,如圖1-52所示。選擇值為( <文字顏色>V</文字顏色> ),輸入第一個方程的常數項值“1”??勺儐卧褫斎肟蛑休斎耄?A$33:$A$35。

圖1-52 Excel規劃求解法求解線性方程組之示意圖2

步驟3:設置約束條件,在“約束”窗口中單擊“添加”按鈕,出現“添加約束”對話框,如圖1-53所示。在單元格引用位置輸入$B$34,約束值前選擇“=”,其值輸入4,即第二個方程常數項的值。以同樣的方法添加另一約束條件,即第三個方程常數項的值。

圖1-53 Excel規劃求解法求解線性方程組之示意圖3

步驟4:求解計算,添加完約束條件后,在約束窗口就多了兩個表達式,即$B$34=4、$B$35=7,如圖1-54所示。按“求解”按鈕,得“結果”對話框,此時在A33:A35位置出現方程組的解。

圖1-54 Excel規劃求解法求解線性方程組之示意圖4

可見,采用Excel的三種求解線性方程組的計算結果是完全一致的。

主站蜘蛛池模板: 牡丹江市| 曲麻莱县| 合江县| 保康县| 昭平县| 南川市| 衡阳市| 新郑市| 乌拉特前旗| 贞丰县| 谷城县| 庄河市| 宣武区| 香港| 乾安县| 永年县| 多伦县| 凤翔县| 长寿区| 佳木斯市| 太白县| 铜山县| 板桥市| 洪江市| 和林格尔县| 稷山县| 太康县| 安多县| 苏尼特左旗| 垦利县| 滦南县| 且末县| 盱眙县| 雷波县| 崇礼县| 临邑县| 礼泉县| 连南| 柘荣县| 郓城县| 溧阳市|