You are on page 1of 79

‫ﻓﺼﻞ دوم‬

‫دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺟﺒﺮي ﺧﻄﻲ‬

‫‪ 1-2‬ﻣﻘﺪﻣﻪ‬
‫در اﻳﻦ ﻓﺼﻞ ﺑﻪ ﻣﻌﺮﻓﻲ دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺟﺒﺮي ﺧﻄﻲ و روش ﻫﺎي ﺣﻞ آﻧﻬﺎ ﭘﺮداﺧﺘﻪ ﺷﺪه‬
‫اﺳﺖ‪ .‬از ﺟﻤﻠﻪ روش ﻫﺎي ﻣﺒﺘﻨﻲ ﺑﺮ اﻟﮕﻮرﻳﺘﻢ ﻫﺎ روش ﺣﺬﻓﻲ ﮔﻮﺳﻲ و روش ﮔﻮس‪ -‬ﺟﺮدن و از روش‬
‫ﻫﺎي ﻣﺒﺘﻨﻲ ﺑﺮ ﺗﺠﺰﻳﻪ ﻣﺎﺗﺮﻳﺲ ﻫﺎ دو روش ﺗﺠﺰﻳﻪ ‪ LU‬و ﺗﺠﺰﻳﻪ ﭼﺎﻟﺴﻜﻲ ﺑﺮرﺳﻲ ﺷﺪه اﺳﺖ‪ .‬در ﺑﻴﺎن ﻫﺮ‬
‫ﻳﻚ ﻣﺜﺎل ﻫﺎي ﻛﺎرﺑﺮد ﻫﻤﺮاه ﺑﺎ ﻛﺪﻧﻮﻳﺴﻲ ﻫﺎي ‪ MATLAB‬آورده ﺷﺪه اﺳﺖ‪ .‬اﻟﮕﻮرﻳﺘﻢ ﻫﺎي ﻧﺎم ﺑﺮده‬
‫ﺑﻪ ﻟﺤﺎظ ﺣﺠﻢ ﻣﺤﺎﺳﺒﺎت ﺑﺎ ﻳﻜﺪﻳﮕﺮ ﻣﻘﺎﻳﺴﻪ و ﻣﺰاﻳﺎي ﻫﺮ ﻳﻚ ﻣﻄﺮح ﮔﺮدﻳﺪه اﺳﺖ‪.‬‬
‫‪79‬‬ ‫ﻓﺼﻞ دوم‪ :‬دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺟﺒﺮي ﺧﻄﻲ‬

‫‪ 2-2‬ﻣﻌﺮﻓﻲ دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺟﺒﺮي ﺧﻄﻲ‬


‫ﺻﻮرت ﻛﻠﻲ ﻳﻚ دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺟﺒﺮي ﺧﻄﻲ ﺑﺎ ‪ m‬ﻣﻌﺎدﻟﻪ و ‪ n‬ﻣﺠﻬﻮل ﺑﻪ ﺷﻜﻞ زﻳﺮ در ﻧﻈﺮ‬
‫ﮔﺮﻓﺘﻪ ﻣﻲ ﺷﻮد‪،‬‬
‫‪a11 x1 + a12 x2 + L + a1n xn = b1‬‬
‫‪a21 x1 + a22 x2 + L + a2 n xn = b2‬‬
‫)‪(1-2‬‬
‫‪M‬‬
‫‪am1 x1 + am 2 x2 + L + amn xn = bm‬‬

‫اﻳﻦ دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﻣﻌﺮف ﻳﻚ ﺳﻴﺴﺘﻢ ‪ m × n‬اﺳﺖ‪ ،‬ﻛﻪ در آن ‪ aij‬ﻫﺎ و ‪ bi‬ﻫﺎ ﻣﻘﺎدﻳﺮ ﺛﺎﺑﺖ ﻣﻌﻴﻦ و‬
‫‪ x j‬ﻫﺎ ﻣﺠﻬﻮﻻﺗﻲ ﻫﺴﺘﻨﺪ ﻛﻪ ﺑﺎﻳﺪ ﺗﻌﻴﻴﻦ ﮔﺮدﻧﺪ‪ .‬اﻳﻦ دﺳﺘﮕﺎه ﻣﻌﺎدﻻت را ﻣﻲ ﺗﻮان ﺑﺎ ﺻﺮﻓﻨﻈﺮ ﻛﺮدن‬
‫ﻣﺠﻬﻮﻻت و ﻓﻘﻂ ﺑﺎ در ﻧﻈﺮ ﮔﺮﻓﺘﻦ ﺿﺮاﻳﺐ ﺑﺼﻮرت زﻳﺮ ﻧﻤﺎﻳﺶ داد‪،‬‬
‫‪⎡ a11‬‬ ‫‪a12‬‬ ‫⎤ ‪K a1n b1‬‬
‫⎢‬ ‫⎥‬
‫‪a‬‬ ‫‪a22‬‬ ‫⎥ ‪K a2 n b2‬‬
‫‪[A | b] = ⎢⎢ 21‬‬ ‫)‪(2-2‬‬
‫‪M‬‬ ‫‪M‬‬ ‫⎥‪O M M‬‬
‫⎢‬ ‫⎥‬
‫‪⎢⎣am1‬‬ ‫‪am 2‬‬ ‫⎦⎥ ‪K amn bm‬‬

‫اﻳﻦ ﻣﺎﺗﺮﻳﺲ را ﻣﺎﺗﺮﻳﺲ اﻓﺰوده‪ 1‬ﺳﻴﺴﺘﻢ ﻣﻲ ﻧﺎﻣﻨﺪ‪ ،‬ﻛﻪ ﻫﺮ ﺳﻄﺮ آن ﺑﻴﺎن ﻛﻨﻨﺪه ﻳﻜﻲ از ﻣﻌﺎدﻻت ﺧﻄﻲ‬
‫ﻣﻲ ﺑﺎﺷﺪ‪ .‬ﻫﻤﭽﻨﻴﻦ ﻣﻲ ﺗﻮان ﻣﻌﺎدﻻت را ﺑﺸﻜﻞ ‪ Ax = b‬ﻧﻤﺎﻳﺶ داد‪ ،‬ﻛﻪ در آن ‪ A‬ﻳﻚ ﻣﺎﺗﺮﻳﺲ‬
‫‪ b ، m × n‬ﻳﻚ ﺑﺮدار ‪ m × 1‬و ‪ x‬ﻳﻚ ﺑﺮدار ‪ n × 1‬ﺑﺼﻮرت زﻳﺮ اﺳﺖ‪،‬‬
‫⎤ ‪⎡ a11 a12 K a1n‬‬ ‫⎤ ‪⎡ b1‬‬ ‫⎤ ‪⎡ x1‬‬
‫‪⎢a‬‬ ‫⎥ ‪a 22 K a 2 n‬‬ ‫⎥‬ ‫⎢‬ ‫‪b‬‬ ‫⎥‬ ‫⎥ ‪⎢x‬‬
‫‪A = ⎢ 21‬‬ ‫⎥‪, b = ⎢ 2 ⎥ , x = ⎢ 2‬‬
‫‪⎢ M‬‬ ‫⎥ ‪M O M‬‬ ‫⎥‪⎢M‬‬ ‫⎥‪⎢M‬‬
‫⎢‬ ‫⎥‬ ‫⎥ ⎢‬ ‫⎥ ⎢‬
‫⎦ ‪⎣a m1 am 2 K a mn‬‬ ‫⎦ ‪⎣bm‬‬ ‫⎦ ‪⎣ xn‬‬
‫در راﺑﻄﻪ ﺑﺎ دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺧﻄﻲ ﺑﺎﻻ ﭘﺮﺳﺸﻲ ﻛﻪ ﻣﻄﺮح ﻣﻲ ﮔﺮدد آن اﺳﺖ ﻛﻪ آﻳﺎ ﺟﻮاﺑﻲ ﺑﺮاي اﻳﻦ‬
‫ﻣﺠﻤﻮﻋﻪ ﻣﻌﺎدﻻت وﺟﻮد دارد ﻳﺎ ﻧﻪ و در ﺻﻮرت وﺟﻮد ﺟﻮاب ﻣﻨﺤﺼﺮﺑﻔﺮد اﺳﺖ ﻳﺎ ﺧﻴﺮ‪ .‬در ﻓﺮآﻳﻨﺪ ﺣﻞ اﻳﻦ‬
‫دﺳﺘﮕﺎه ﻣﻌﺎدﻻت اﻣﻜﺎن رخ داد ﺣﺎﻟﺖ ﻫﺎي زﻳﺮ وﺟﻮد دارد‪،‬‬
‫‪ -1‬ﺣﺎﻟﺘﻲ ﻛﻪ دﺳﺘﮕﺎه ﺑﺪون ﺟﻮاب ﻳﺎ ﻧﺎﺳﺎزﮔﺎر‪ 2‬اﺳﺖ‪.‬‬
‫‪ -2‬ﺣﺎﻟﺘﻲ ﻛﻪ دﺳﺘﮕﺎه ﺳﺎزﮔﺎر‪ 3‬اﺳﺖ و ﺟﻮاب دارد ﻛﻪ در اﻳﻨﺼﻮرت اﻣﻜﺎن دارد ﻓﻘﻂ ﻳﻚ ﺟﻮاب‬
‫ﻣﻨﺤﺼﺮﺑﻔﺮد داﺷﺘﻪ ﺑﺎﺷﺪ ﻳﺎ اﻳﻨﻜﻪ ﺑﻴﺸﻤﺎر ﺟﻮاب داﺷﺘﻪ ﺑﺎﺷﺪ‪.‬‬

‫‪١‬‬
‫‪Augmented Matrix‬‬
‫‪٢‬‬
‫‪Inconsistent‬‬
‫‪٣‬‬
‫‪Consistent‬‬

‫‪Applied Linear Algebra with MATLAB‬‬


‫‪S. Sedghizadeh, Systems and Control Dept., KNTU‬‬
‫ﻓﺼﻞ دوم‪ :‬دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺟﺒﺮي ﺧﻄﻲ‬ ‫‪80‬‬

‫در ﻳﻚ دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺟﺒﺮي ﺧﻄﻲ ‪ m × n‬ﻛﻪ ‪ m‬ﺗﻌﺪاد ﻣﻌﺎدﻻت و ‪ n‬ﺗﻌﺪاد ﻣﺠﻬﻮﻻت‬
‫اﺳﺖ‪ ،‬ﺣﺎﻟﺖ ﻫﺎي زﻳﺮ را ﻣﻲ ﺗﻮان در ﻧﻈﺮ ﮔﺮﻓﺖ‪،‬‬
‫‪ -1‬ﺣﺎﻟﺖ ‪ : m = n‬در اﻳﻦ ﺣﺎﻟﺖ دﺳﺘﮕﺎه را ﻫﻤﻮاره ﻣﻌﻴﻦ‪ 1‬ﮔﻮﻳﻨﺪ‪،‬‬
‫اﮔﺮ ‪ A ≠ 0‬ﺑﺎﺷﺪ‪ ،‬دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺳﺎزﮔﺎر اﺳﺖ و ﻳﻚ ﺟﻮاب ﻣﻨﺤﺼﺮﺑﻔﺮد دارد‪.‬‬
‫‪⎧ 3x1 + 2 x2 = 5‬‬
‫⎨‬
‫‪⎩ x1 + x2 = 2‬‬
‫اﮔﺮ ‪ A = 0‬و دﺳﺘﮕﺎه ﺳﺎزﮔﺎر ﺑﺎﺷﺪ‪ ،‬ﺑﻴﺸﻤﺎر ﺟﻮاب دارد و ﺑﺮاي ﺑﺪﺳﺖ آوردن ﻳﻚ ﭘﺎﺳﺦ ﻣﻌﻴﻦ از روش‬
‫ﺣﺪاﻗﻞ ﻧُﺮم‪ 2‬ﻣﻲ ﺗﻮان اﺳﺘﻔﺎده ﻧﻤﻮد‪،‬‬
‫‪⎧ 3x1 + 2 x2 = 5‬‬
‫⎨‬
‫‪⎩ 6 x1 + 4 x2 = 10‬‬
‫اﮔﺮ ‪ A = 0‬و دﺳﺘﮕﺎه ﻧﺎﺳﺎزﮔﺎر ﺑﺎﺷﺪ‪ ،‬اﺻﻼٌ ﺟﻮاب ﻧﺪارد و ﺑﺮاي ﺑﺪﺳﺖ آوردن ﻳﻚ ﭘﺎﺳﺦ ﺗﻘﺮﻳﺒﻲ از روش‬
‫ﺣﺪاﻗﻞ ﻣﺮﺑﻌﺎت ‪ 3‬اﺳﺘﻔﺎده ﻣﻲ ﺷﻮد‪.‬‬
‫‪⎧ 3x1 + 2 x2 = 5‬‬
‫⎨‬
‫‪⎩ 6 x1 + 4 x2 = 5‬‬

‫‪ -2‬ﺣﺎﻟﺖ ‪ : m < n‬در اﻳﻦ ﺣﺎﻟﺖ دﺳﺘﮕﺎه را ﻓﺮوﻣﻌﻴﻦ‪ 4‬ﮔﻮﻳﻨﺪ‪،‬‬


‫اﻳﻦ ﮔﻮﻧﻪ ﺳﻴﺴﺘﻢ ﻫﺎ ﻣﻲ ﺗﻮاﻧﺪ ﺑﻴﺸﻤﺎر ﺟﻮاب داﺷﺘﻪ ﺑﺎﺷﺪ‪ .‬در دﺳﺘﮕﺎه ﻫﺎي ﻓﺮوﻣﻌﻴﻦ ﻛﻪ داراي ﺑﻴﺸﻤﺎر‬
‫ﺟﻮاب ﻫﺴﺘﻨﺪ‪ ،‬ﺑﺮاي ﺑﺪﺳﺖ آوردن ﻳﻚ ﭘﺎﺳﺦ ﻣﻌﻴﻦ از روش ﺣﺪاﻗﻞ ﻧُﺮم ﻣﻲ ﺗﻮان اﺳﺘﻔﺎده ﻛﺮد‪،‬‬
‫‪⎧ x1 + x 2 − x3 − 3 x 4 = 2‬‬
‫⎪‬
‫‪⎨− x1 − 2 x 2 + x 4 = −1‬‬
‫‪⎪2 x − x − x = 1‬‬
‫‪⎩ 1‬‬ ‫‪2‬‬ ‫‪3‬‬

‫‪ -3‬ﺑﺮاي ‪ ، m > n‬در اﻳﻦ ﺻﻮرت دﺳﺘﮕﺎه را ﻓﺮاﻣﻌﻴﻦ‪ 5‬ﻣﻲ ﻧﺎﻣﻨﺪ‪،‬‬


‫ﭼﻨﻴﻦ دﺳﺘﮕﺎﻫﻲ در ﺻﻮرت ﺳﺎزﮔﺎر ﺑﻮدن ﻣﻲ ﺗﻮاﻧﺪ ﻳﻚ ﺟﻮاب ﻣﻨﺤﺼﺮﺑﻔﺮد داﺷﺘﻪ ﺑﺎﺷﺪ‪.‬‬
‫‪⎧3x1 − x 2 = 2‬‬
‫⎪‬
‫‪⎨− 5 x1 + 2 x 2 = −3‬‬
‫‪⎪x + x = 2‬‬
‫‪⎩ 1‬‬ ‫‪2‬‬

‫‪١‬‬
‫‪Everdetermined‬‬
‫‪٢‬‬
‫‪Minimum Norm Solution‬‬
‫‪٣‬‬
‫‪Least Square Solution‬‬
‫‪٤‬‬
‫‪Underdetermined‬‬
‫‪٥‬‬
‫‪Overdetermined‬‬

‫‪Applied Linear Algebra with MATLAB‬‬


‫‪S. Sedghizadeh, Systems and Control Dept., KNTU‬‬
‫‪81‬‬ ‫ﻓﺼﻞ دوم‪ :‬دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺟﺒﺮي ﺧﻄﻲ‬

‫در ﺻﻮرت ﻧﺎﺳﺎزﮔﺎر ﺑﻮدن‪ ،‬اﺻﻼً ﺟﻮاﺑﻲ ﻧﺪارﻧﺪ‪ ،‬ﻛﻪ در ﭼﻨﻴﻦ ﻣﻮاردي ﺑﺮاي ﺑﺪﺳﺖ آوردن ﻳﻚ ﭘﺎﺳﺦ‬
‫ﺗﻘﺮﻳﺒﻲ از روش ﺣﺪاﻗﻞ ﻣﺮﺑﻌﺎت اﺳﺘﻔﺎده ﻣﻲ ﺷﻮد‪.‬‬
‫‪⎧4 x1 − x 2 = 2‬‬
‫⎪‬
‫‪⎨7 x1 + 2 x 2 = 8‬‬
‫‪⎪x + 6x = 2‬‬
‫‪⎩ 1‬‬ ‫‪2‬‬

‫ﺑﺮرﺳﻲ وﺟﻮد و ﻋﺪم وﺟﻮد ﺟﻮاب زﻣﺎﻧﻴﻜﻪ ﺗﻌﺪاد ﻣﻌﺎدﻻت و ﻣﺠﻬﻮﻻت دﺳﺘﮕﺎه ﻛﻢ ﺑﺎﺷﻨﺪ ﺑﺴﻴﺎر‬
‫ﺳﺎده اﺳﺖ‪ .‬ﻟﻴﻜﻦ در ﻋﻤﻞ ﻣﻤﻜﻦ اﺳﺖ ﺑﺎ ﺗﻌﺪاد ﻣﻌﺎدﻻت و ﻣﺠﻬﻮﻻت ﺑﻴﺸﺘﺮي ﺳﺮ و ﻛﺎر داﺷﺘﻪ ﺑﺎﺷﻴﻢ‪.‬‬
‫ﺑﺮاي دﺳﺘﮕﺎه ﻫﺎﻳﻲ ﺑﺎ ﺗﻌﺪاد ﻣﻌﺎدﻻت و ﻣﺠﻬﻮﻻت ﺑﻴﺸﺘﺮ ﺑﺎﻳﺪ از روﺷﻬﺎي ﺧﺎﺻﻲ ﺟﻬﺖ ﺑﺪﺳﺖ آوردن‬
‫ﭘﺎﺳﺦ اﺳﺘﻔﺎده ﻛﺮد‪ .‬ﻧﺮم اﻓﺰار ‪ MATLAB‬اﺑﺰارﻫﺎي زﻳﺎدي ﺑﺮاي ﺣﻞ دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺧﻄﻲ دارد‪ .‬ﻳﻚ‬
‫روش ﺑﺮاي ﺣﻞ دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ‪ Ax = b‬ﻛﻪ در آن ‪ Am× n‬و ‪ b m×1‬ﻣﻲ ﺑﺎﺷﺪ‪ ،‬اﺳﺘﻔﺎده از ﻋﻤﻠﮕﺮ ﺗﻘﺴﻴﻢ‬
‫ﭼﭗ ) \ ( اﺳﺖ‪.‬‬
‫در ﺣﺎﻟﺖ ‪ m = n‬ﻧﺮم اﻓﺰار ‪ MATLAB‬ﺟﻮاب دﻗﻴﻖ دﺳﺘﮕﺎه ﻣﻌﺎدﻻت را ﭘﺲ از ﮔﺮد ﻛﺮدن‬
‫اﻋﺪاد ﻣﺤﺎﺳﺒﻪ ﻣﻲ ﻛﻨﺪ‪.‬‬
‫‪A = [1‬‬ ‫‪2‬‬ ‫‪3;4 5‬‬ ‫‪6;7 8‬‬ ‫]‪10‬‬

‫= ‪A‬‬

‫‪1‬‬ ‫‪2‬‬ ‫‪3‬‬

‫‪4‬‬ ‫‪5‬‬ ‫‪6‬‬

‫‪7‬‬ ‫‪8‬‬ ‫‪10‬‬

‫;)‪b = ones(3,1‬‬

‫‪x = A\b‬‬

‫= ‪x‬‬

‫‪- 1.0000‬‬

‫‪1.0000‬‬

‫‪0.0000‬‬
‫ﺻﺤﺖ ﭘﺎﺳﺦ را ﻣﻲ ﺗﻮان ﺑﺎ ﻣﺤﺎﺳﺒﻪ ﺑﺮدار ﺑﺎﻗﻴﻤﺎﻧﺪه ‪ r‬ﺑﺼﻮرت زﻳﺮ ﺑﺮرﺳﻲ ﻛﺮد‪،‬‬
‫‪r = b - A *x‬‬
‫= ‪r‬‬
‫* ‪1.0e - 015‬‬
‫‪0.1110‬‬
‫‪0.6661‬‬
‫‪0.2220‬‬
‫ﺑﻪ ﻟﺤﺎظ ﺗﺌﻮري‪ ،‬ﺑﺎﻗﻴﻤﺎﻧﺪه ‪ r‬ﺑﺮاﺑﺮ ﺻﻔﺮ اﺳﺖ و ﻧﺘﻴﺠﻪ ﺣﺎﺻﻞ ﺗﺄﺛﻴﺮ ﮔﺮد ﻛﺮدن اﻋﺪاد ﻣﻲ ﺑﺎﺷﺪ‪.‬‬

‫‪Applied Linear Algebra with MATLAB‬‬


‫‪S. Sedghizadeh, Systems and Control Dept., KNTU‬‬
‫ﻓﺼﻞ دوم‪ :‬دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺟﺒﺮي ﺧﻄﻲ‬ ‫‪82‬‬

‫ﻫﻤﭽﻨﻴﻦ در ﺣﺎﻟﺖ ‪ m = n‬ﻣﻲ ﺗﻮان از ﻣﺎﺗﺮﻳﺲ ﻣﻌﻜﻮس )‪ inv(A‬ﺑﺮاي ﺣﻞ دﺳﺘﮕﺎه ﻣﻌﺎدﻻت‬


‫اﺳﺘﻔﺎده ﻧﻤﻮد‪ ،‬ﻟﻴﻜﻦ ﺑﻪ دﻟﻴﻞ ﺣﺠﻢ ﺑﺎﻻي ﻣﺤﺎﺳﺒﺎت و ﺣﺴﺎﺳﻴﺖ ﺑﺮﺧﻲ از ﺳﻴﺴﺘﻢ ﻫﺎ ﻧﺴﺒﺖ ﻛﻪ ﺧﻄﺎﻫﺎي‬
‫ﻛﻮﭼﻚ ﻣﺤﺎﺳﺒﺎﺗﻲ و ﮔﺮد ﻛﺮدن اﻋﺪاد اﻳﻦ روش ﺗﻮﺻﻴﻪ ﻧﻤﻲ ﺷﻮد‪،‬‬
‫;]‪A = [1 2 3;4 5 6;7 8 10‬‬

‫;)‪b = ones(3,1‬‬

‫‪x = inv(A)* b‬‬

‫= ‪x‬‬

‫‪- 1.0000‬‬

‫‪1.0000‬‬

‫‪0.0000‬‬

‫ﺑﺮاي ﻣﺸﺎﻫﺪه ﺗﻔﺎوت اﻳﻦ دو روش از ﻧﻈﺮ ﺣﺠﻢ ﻣﺤﺎﺳﺒﺎﺗﻲ ﺑﻪ وﻳﮋه در دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺑﺎ اﺑﻌﺎد ﺑﺎﻻ‬
‫دﺳﺘﻮري ﺑﺼﻮرت زﻳﺮ در ﻧﻈﺮ ﻣﻲ ﮔﻴﺮﻳﻢ‪،‬‬
‫;)‪A = rand(1000,1000‬‬
‫;)‪b = rand(1000,1‬‬
‫;‪tic‬‬
‫;‪x = A \ b‬‬
‫‪toc‬‬
‫= ‪elapsed_time‬‬
‫‪9.8900‬‬
‫;‪tic‬‬
‫;‪x = inv(A)* b‬‬
‫‪toc‬‬
‫= ‪elapsed_time‬‬

‫‪18.2180‬‬
‫دﺳﺘﻮرﻫﺎي ‪ tic‬و ‪ toc‬ﺑﺎﻋﺚ ﻣﻲ ﺷﻮﻧﺪ ﻛﻪ زﻣﺎن ﻻزم ﺑﺮاي ﻣﺤﺎﺳﺒﻪ ﻋﺒﺎرت ﺑﻴﻦ آن دو دﺳﺘﻮر ﺑﺮﺣﺴﺐ‬
‫ﺛﺎﻧﻴﻪ ﺛﺒﺖ و در ﺧﺮوﺟﻲ ﻧﺸﺎن داده ﺷﻮد‪ .‬ﻣﺸﺨﺺ اﺳﺖ ﻛﻪ ﺑﺎ اﻓﺰاﻳﺶ اﺑﻌﺎد دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺣﺠﻢ‬
‫ﻣﺤﺎﺳﺒﺎت در اﺳﺘﻔﺎده از دﺳﺘﻮر)‪ inv(A‬ﺑﺴﻴﺎر اﻓﺰاﻳﺶ ﺧﻮاﻫﺪ داﺷﺖ‪.‬‬

‫‪ -1-2-2‬ﻣﺤﺎﺳﺒﻪ ﻋﺪد ﺣﺎﻟﺖ ﻣﺎﺗﺮﻳﺲ ﻫﺎ‬


‫اﻳﺮاد دﻳﮕﺮي ﻛﻪ در اﺳﺘﻔﺎده از ﻣﺎﺗﺮﻳﺲ ﻣﻌﻜﻮس وﺟﻮد دارد‪ ،‬ﺣﺴﺎﺳﻴﺖ ﺑﺮﺧﻲ از دﺳﺘﮕﺎه ﻫﺎي‬
‫ﻣﻌﺎدﻻت ﻧﺴﺒﺖ ﺑﻪ ﺧﻄﺎﻫﺎي ﻛﻮﭼﻚ ﻣﺤﺎﺳﺒﺎﺗﻲ و ﮔﺮد ﻛﺮدن اﻋﺪاد ﻣﻲ ﺑﺎﺷﺪ‪ .‬ﺑﺮاي ﺑﺮرﺳﻲ اﻳﻦ ﻣﻮﺿﻮع ﺑﻪ‬
‫ﻣﺜﺎل ﺑﻌﺪي ﺗﻮﺟﻪ ﻧﻤﺎﻳﻴﺪ‪،‬‬

‫‪Applied Linear Algebra with MATLAB‬‬


‫‪S. Sedghizadeh, Systems and Control Dept., KNTU‬‬
‫‪83‬‬ ‫ﻓﺼﻞ دوم‪ :‬دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺟﺒﺮي ﺧﻄﻲ‬

‫ﻣﺜﺎل‪1-2‬‬
‫دﺳﺘﮕﺎه ﻣﻌﺎدﻻت زﻳﺮ را در ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ‪،‬‬
‫‪⎧23.297 x1 + 33.074 x 2 = 13.520‬‬
‫‪Ax = b‬‬ ‫→‬ ‫⎨‬
‫‪⎩52.684 x1 + 74.752 x 2 = 30.616‬‬
‫ﭘﺎﺳﺦ ﺳﻴﺴﺘﻢ را ﻣﻲ ﺗﻮان ﺑﺼﻮرت زﻳﺮ ﺑﺪﺳﺖ آورد‪،‬‬
‫;]‪A = [23.297 33.074;52.684 74.752‬‬

‫;]‪b = [13.520;30.616‬‬

‫)‪det(A‬‬

‫= ‪ans‬‬

‫‪- 0.9733‬‬

‫‪x = inv(A)* b‬‬


‫= ‪x‬‬

‫‪2.0000‬‬

‫‪- 1.0000‬‬

‫ﺣﺎل اﮔﺮ اﻳﻦ دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﻣﺮﺑﻮط ﺑﻪ اﻧﺠﺎم ﻳﻚ ﺳﺮي آزﻣﺎﻳﺸﺎت ﻣﺨﺘﻠﻒ ﺑﻮده و در اﻧﺪازه ﮔﻴﺮي ﻫﺎي‬
‫ﻣﺨﺘﻠﻒ ﺟﻮاب ﻫﺎي زﻳﺮ ﺑﺪﺳﺖ آﻣﺪه ﺑﺎﺷﺪ‪ .‬ﺑﺮرﺳﻲ ﻛﻨﻴﺪ در ﻫﺮ ﺣﺎﻟﺖ ﺣﻞ دﻗﻴﻖ ﺳﻴﺴﺘﻢ ﭼﻪ ﺧﻮاﻫﺪ ﺷﺪ؟‬
‫⎤‪⎡ b1 ⎤ ⎡13.65‬‬ ‫⎤ ‪⎡ b1 ⎤ ⎡13.4‬‬ ‫⎤ ‪⎡ b1 ⎤ ⎡ 13.5‬‬
‫‪⎢b ⎥ = ⎢ 30.5 ⎥ ,‬‬ ‫‪⎢b ⎥ = ⎢30.5⎥ ,‬‬ ‫⎥‪⎢b ⎥ = ⎢30.75‬‬
‫⎣ ⎦‪⎣ 2‬‬ ‫⎦‬ ‫⎣ ⎦‪⎣ 2‬‬ ‫⎦‬ ‫⎣ ⎦‪⎣ 2‬‬ ‫⎦‬

‫;]‪A = [23.297 33.074;52.684 74.752‬‬


‫;]‪b = [13.65;30.5‬‬
‫‪x = inv(A)* b‬‬
‫= ‪x‬‬
‫‪- 11.9266‬‬

‫‪8.8137‬‬

‫;]‪b = [13.4;30.5‬‬

‫‪x = inv(A)* b‬‬

‫= ‪x‬‬
‫‪7.2746‬‬

‫‪- 4.7190‬‬

‫‪Applied Linear Algebra with MATLAB‬‬


‫‪S. Sedghizadeh, Systems and Control Dept., KNTU‬‬
‫ﻓﺼﻞ دوم‪ :‬دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺟﺒﺮي ﺧﻄﻲ‬ ‫‪84‬‬

‫;]‪b = [13.5;30.75‬‬

‫‪x = inv(A)* b‬‬

‫= ‪x‬‬

‫‪8.0897‬‬

‫‪- 5.2901‬‬
‫□‬

‫ﻣﺸﺨﺺ اﺳﺖ ﻛﻪ ﺗﻐﻴﻴﺮات ﺑﺴﻴﺎر ﻛﻮﭼﻚ در ﺑﺮدار ‪ b‬ﺑﻪ ﺷﺪت در ﻧﺘﻴﺠﻪ ﺣﺎﺻﻞ ﺗﺄﺛﻴﺮ ﮔﺬار اﺳﺖ‪ .‬ﺑﻪ‬
‫ﭼﻨﻴﻦ دﺳﺘﮕﺎﻫﻬﺎي ﻣﻌﺎدﻻت ﺑﺪ ﺣﺎﻟﺖ‪ 1‬ﮔﻔﺘﻪ ﻣﻲ ﺷﻮد‪ .‬ﻋﻠﺖ اﻳﻦ ﻣﻮﺿﻮع را ﻣﻲ ﺗﻮان ﺑﺼﻮرت زﻳﺮ ﺑﻴﺎن‬
‫ﻛﺮد‪.‬‬
‫دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺧﻄﻲ زﻳﺮ را در ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ‪،‬‬
‫‪An×n x n×1 = b n×1‬‬
‫ﺑﺎ ﻓﺮض اﻳﻨﻜﻪ ﻣﺎﺗﺮﻳﺲ ‪ A‬ﻏﻴﺮ ﻣﻨﻔﺮد ﺑﺎﺷﺪ ﻣﻲ ﺗﻮان ﻧﻮﺷﺖ‪،‬‬
‫‪x = A−1b‬‬
‫ﺣﺎل اﮔﺮ ‪ b‬ﺷﺎﻣﻞ ﻧﻮﻳﺰ ﻳﺎ ﺧﻄﺎﻫﺎي ﻣﺤﺎﺳﺒﺎﺗﻲ ﻧﺎﺷﻲ از ﮔﺮد ﻛﺮدن ﻣﺎﻧﻨﺪ ‪ ∆b‬ﺑﺎﺷﺪ‪ ،‬در اﻳﻨﺼﻮرت اﻳﻦ ﺧﻄﺎ‬
‫ﺑﺼﻮرت زﻳﺮ در ﭘﺎﺳﺦ ﻇﺎﻫﺮ ﺧﻮاﻫﺪ ﺷﺪ‪،‬‬
‫)‪x + ∆x = A−1 (b + ∆b‬‬
‫ﻟﺬا ﻣﻲ ﺗﻮان ﻧﻮﺷﺖ‪،‬‬
‫‪∆x = A−1∆b‬‬
‫ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﺧﻮاص ﻧُﺮم ﻣﺎﺗﺮﻳﺲ ﻫﺎ از اﻳﻦ راﺑﻄﻪ ﻣﻲ ﺗﻮان ﻧﺘﻴﺠﻪ ﮔﺮﻓﺖ‪،‬‬
‫‪∆x ≤ A −1 ∆b‬‬
‫ﻧُﺮم ﻣﻮرد ﻧﻈﺮ ﻧُﺮم دو اﺳﺖ‪.‬‬

‫از ﻋﺒﺎرت اﺧﻴﺮ ﻣﻲ ﺗﻮان ﺗﻌﺒﻴﺮ ﻛﺮد ﻛﻪ‪ ،‬اﮔﺮ ‪ A−1‬ﻣﻘﺪار ﻛﻮﭼﻜﻲ داﺷﺘﻪ ﺑﺎﺷﺪ‪ ،‬ﺑﺮاي ﺗﻐﻴﻴﺮات‬
‫ﻛﻢ در ‪ b‬ﻳﻌﻨﻲ ‪ ∆b‬ﻛﻮﭼﻚ‪ ،‬ﻣﻘﺪار ‪ ∆x‬ﻛﻢ ﺧﻮاﻫﺪ ﺑﻮد‪ .‬وﻟﻲ ﺑﺮاي ‪ A−1‬ﻫﺎي ﺑﺰرگ‪ ،‬ﻣﻘﺪار ‪∆x‬‬
‫ﺑﺰرگ اﺳﺖ‪ ،‬ﺣﺘﻲ اﮔﺮ ‪ ∆b‬ﻣﻘﺪار ﻛﻮﭼﻜﻲ ﺑﺎﺷﺪ‪.‬‬

‫ﻟﺬا ﺑﺮاي ﺗﺸﺨﻴﺺ ﺑﺪ ﺣﺎﻟﺖ ﺑﻮدن ﻳﻚ دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﭘﺎراﻣﺘﺮي ﺑﻪ ﻧﺎم ﻋﺪد ﺣﺎﻟﺖ‪ 2‬ﺗﻌﺮﻳﻒ‬
‫ﻣﻲ ﮔﺮدد‪،‬‬
‫‪κ = A A −1‬‬ ‫‪,‬‬ ‫‪κ ≥1‬‬ ‫)‪(3-2‬‬

‫‪١‬‬
‫‪Ill condition‬‬
‫‪٢‬‬
‫‪Condition Number‬‬

‫‪Applied Linear Algebra with MATLAB‬‬


‫‪S. Sedghizadeh, Systems and Control Dept., KNTU‬‬
‫‪85‬‬ ‫ﻓﺼﻞ دوم‪ :‬دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺟﺒﺮي ﺧﻄﻲ‬

‫اﮔﺮ ﻋﺪد ﺣﺎﻟﺖ ﻛﻮﭼﻚ ﺑﺎﺷﺪ‪ ،‬ﺑﻴﺎن ﻛﻨﻨﺪه آن اﺳﺖ ﻛﻪ ﻣﺎﺗﺮﻳﺲ ‪ A‬و دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺣﺎﺻﻞ ﺧﻮش‬
‫ﺣﺎﻟﺖ‪ 1‬اﺳﺖ و اﮔﺮ ﻋﺪد ﺣﺎﻟﺖ ﻣﻘﺪار ﺧﻴﻠﻲ ﺑﺰرﮔﻲ ﺑﺎﺷﺪ‪ ،‬ﺑﻴﺎﻧﮕﺮ آن اﺳﺖ ﻛﻪ ﻣﺎﺗﺮﻳﺲ ﻧﺰدﻳﻚ ﺑﻪ ﻣﻨﻔﺮد‬
‫ﺷﺪن اﺳﺖ‪ ،‬ﻟﺬا آن ﻣﺎﺗﺮﻳﺲ را ﺑﺪ ﺣﺎﻟﺖ ﻣﻲ ﻧﺎﻣﻨﺪ و ﺧﻄﺎي ﻣﺤﺎﺳﺒﺎﺗﻲ در ﻣﻌﻜﻮس ﻛﺮدن ﻣﺎﺗﺮﻳﺲ ‪ A‬زﻳﺎد‬
‫اﺳﺖ‪.‬‬

‫ﻣﺜﺎل‪2-2‬‬
‫دﺳﺘﮕﺎه ﻣﻌﺎدﻻت زﻳﺮ را در ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ‪،‬‬
‫‪⎧23.297 x1 + 33.074 x 2 = 13.520‬‬
‫‪Ax = b‬‬ ‫→‬ ‫⎨‬
‫‪⎩52.684 x1 + 74.752 x 2 = 30.616‬‬
‫ﻋﺪد ﺣﺎﻟﺖ را ﺑﺮاي اﻳﻦ ﺳﻴﺴﺘﻢ ﺑﺪﺳﺖ آورﻳﺪ و ﺑﺪ ﺣﺎﻟﺖ ﻳﺎ ﺧﻮش ﺣﺎﻟﺖ ﺑﻮدن ﺳﻴﺴﺘﻢ را ﺑﺮرﺳﻲ ﻧﻤﺎﻳﻴﺪ‪.‬‬

‫ﺑﺮاي ﺑﺪﺳﺖ آوردن ﻋﺪد ﺣﺎﻟﺖ از ﺗﻌﺮﻳﻒ آن اﺳﺘﻔﺎده ﻣﻲ ﻧﻤﺎﻳﻴﻢ‪ ،‬اﻟﺒﺘﻪ دﺳﺘﻮري ﺑﻪ ﻧﺎم )‪ cond(A‬ﺑﺮاي‬
‫ﻣﺤﺎﺳﺒﻪ ﻋﺪد ﺣﺎﻟﺖ ﻣﺎﺗﺮﻳﺲ ﻫﺎ وﺟﻮد دارد‪،‬‬

‫;]‪A = [23.297 33.074;52.684 74.752‬‬

‫))‪norm(A)* norm(inv(A‬‬

‫= ‪ans‬‬

‫‪1.0275e + 004‬‬

‫)‪cond(A‬‬

‫= ‪ans‬‬

‫‪1.0275e + 004‬‬

‫ﻧﺘﻴﺠﻪ ﻧﺸﺎن ﻣﻲ دﻫﺪ ﻛﻪ ‪ κ = 1.0275 × 10 4 >> 1‬اﺳﺖ‪ ،‬ﻟﺬا اﻳﻦ ﺳﻴﺴﺘﻢ ﺑﺪ ﺣﺎﻟﺖ ﻣﻲ ﺑﺎﺷﺪ و ﺑﻪ‬
‫ﻫﻤﻴﻦ دﻟﻴﻞ ﺗﻐﻴﻴﺮات ﺑﺴﻴﺎر ﻛﻮﭼﻚ در ﺑﺮدار ‪ b‬ﺳﺒﺐ ﺑﺮوز ﺧﻄﺎي ﻣﺤﺎﺳﺒﺎﺗﻲ ﺑﺎﻻﻳﻲ در ﺣﻞ دﺳﺘﮕﺎه‬
‫ﻣﻌﺎدﻻت ‪ Ax = b‬ﻣﻲ ﮔﺮدد‪.‬‬

‫دﺳﺘﻮر)‪ cond(A‬ﻋﺪد ﺣﺎﻟﺖ را ﺑﺮ اﺳﺎس ﻧُﺮم دو ﻣﺎﺗﺮﻳﺲ ﻣﺤﺎﺳﺒﻪ ﻣﻲ ﻧﻤﺎﻳﺪ و ﺑﺮاي ﻣﺤﺎﺳﺒﻪ‬
‫آن ﺑﺮ ﺣﺴﺐ دﻳﮕﺮ ﻧُﺮم ﻫﺎ ﻣﻲ ﺗﻮان از دﺳﺘﻮرﻫﺎي )‪ cond(A, inf) ، cond(A,1‬و ) '‪cond(A, ' fro‬‬
‫اﺳﺘﻔﺎده ﻛﺮد‪.‬‬
‫□‬

‫‪١‬‬
‫‪Well Conditioned‬‬

‫‪Applied Linear Algebra with MATLAB‬‬


‫‪S. Sedghizadeh, Systems and Control Dept., KNTU‬‬
‫ﻓﺼﻞ دوم‪ :‬دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺟﺒﺮي ﺧﻄﻲ‬ ‫‪86‬‬

‫‪ 3-2‬ﺣﻞ دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺟﺒﺮي ﺧﻄﻲ ﺑﺮ ﭘﺎﻳﻪ اﻟﮕﻮرﻳﺘﻢ ﻫﺎ‬


‫ﻳﻜﻲ از ﻣﻮﺿﻮﻋﺎت ﻣﻬﻤﻲ ﻛﻪ در ﺣﻞ دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺧﻄﻲ ﻣﻮرد ﻧﻈﺮ اﺳﺖ‪ ،‬ﺗﺸﺨﻴﺺ ﺳﺎزﮔﺎر‬
‫ﻳﺎ ﻧﺎﺳﺎزﮔﺎر ﺑﻮدن ﺳﻴﺴﺘﻢ و در ﺻﻮرت ﺳﺎزﮔﺎر ﺑﻮدن ﻳﺎﻓﺘﻦ ﺟﻮاب و ﻳﺎ ﻣﺠﻤﻮﻋﻪ ﺟﻮاﺑﻬﺎي ﻣﻤﻜﻦ ﻣﻲ ﺑﺎﺷﺪ‪.‬‬
‫‪2‬‬
‫در اﻳﻦ راﺳﺘﺎ دو روش ﻋﻤﺪه ﻛﻪ ﺑﻜﺎر ﮔﺮﻓﺘﻪ ﻣﻲ ﺷﻮﻧﺪ روش ﺧﺬﻓﻲ ﮔﻮﺳﻲ‪ 1‬و روش ﮔﻮس – ﺟﺮدن‬
‫ﻣﻲ ﺑﺎﺷﻨﺪ‪ ،‬ﻛﻪ در اداﻣﻪ ﺑﻪ ﺷﺮح اﻳﻦ دو روش ﻣﻲ ﭘﺮدازﻳﻢ‪.‬‬

‫‪ -1-3-2‬روش ﺧﺬﻓﻲ ﮔﻮﺳﻲ‬


‫در روش ﺣﺬﻓﻲ ﮔﻮﺳﻲ ﺳﻌﻲ ﻣﻲ ﺷﻮد ﺗﺎ ﺑﺎ اﻧﺠﺎم ﻳﻚ ﺳﺮي ﻋﻤﻠﻴﺎت ﺳﺎده ﻧﻈﻴﺮ ﺟﺎﺑﺠﺎﻳﻲ‬
‫ﺳﻄﺮﻫﺎ‪ ،‬ﺿﺮب ﺳﻄﺮﻫﺎ در ﻳﻚ ﻋﺪد ﻏﻴﺮ ﺻﻔﺮ ﻳﺎ ﺟﻤﻊ ﺳﻄﺮﻫﺎ ﺑﺎ ﻳﻜﺪﻳﮕﺮ‪ ،‬ﺳﻴﺴﺘﻢ ﻣﻮﺟﻮد را ﺑﻪ ﻳﻚ‬
‫ﺳﻴﺴﺘﻢ ﺳﺎده وﻟﻲ ﻣﻌﺎدل ﺑﺎ ﻗﺒﻠﻲ ﺗﺒﺪﻳﻞ ﻛﺮد‪ ،‬ﺑﻪ ﻧﺤﻮي ﻛﻪ دﺳﺘﻴﺎﺑﻲ ﺑﻪ ﺟﻮاب ﺑﻪ راﺣﺘﻲ اﻣﻜﺎن ﭘﺬﻳﺮ‬
‫ﺑﺎﺷﺪ‪ .‬ﺑﺮاي اﻳﻦ ﻣﻨﻈﻮر ﺑﺎﻳﺪ دو ﺣﺎﻟﺖ را در ﻧﻈﺮ ﮔﺮﻓﺖ‪ ،‬اول ﻫﻨﮕﺎﻣﻴﻜﻪ ‪ m = n‬ﺑﺎﺷﺪ و دوم در‬
‫ﺻﻮرﺗﻴﻜﻪ ‪ m ≠ n‬ﺑﺎﺷﺪ‪.‬‬
‫در ﺣﺎﻟﺖ )‪ (m = n‬ﺳﻌﻲ ﻣﻲ ﺷﻮد ﺗﺎ ﻣﺎﺗﺮﻳﺲ اﻓﺰوده ﺳﻴﺴﺘﻢ ﺑﻪ ﺷﻜﻞ ﺑﺎﻻ ﻣﺜﻠﺜﻲ زﻳﺮ در آﻳﺪ‪،‬‬
‫‪′ a12‬‬
‫‪⎛ a11‬‬ ‫‪′‬‬ ‫⎞ ‪K a1′n b1′‬‬
‫⎜‬ ‫⎟‬
‫‪⎜ 0 a′22‬‬ ‫⎟ ‪K a2′ n b2′‬‬
‫‪⎜ M‬‬ ‫‪M‬‬ ‫⎟⎟ ‪O M M‬‬
‫)‪(4-2‬‬
‫⎜‬
‫‪⎜ 0‬‬ ‫‪0‬‬ ‫⎠⎟ ‪′ bn′‬‬
‫‪K ann‬‬
‫⎝‬

‫در اﻳﻨﺼﻮرت دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺣﺎﺻﻞ ﺑﺸﻜﻞ زﻳﺮ ﺧﻮاﻫﺪ ﺑﻮد‪ ،‬ﻛﻪ ﺑﺎ اﺳﺘﻔﺎده از ﻳﻚ اﻟﮕﻮرﻳﺘﻢ ﺟﺎﻳﮕﺰﻳﻨﻲ‬
‫ﭘﺴﺮو‪ 3‬ﻣﻲ ﺗﻮان آن را ﺣﻞ ﻛﺮد‪،‬‬
‫‪′ x1 + a12‬‬
‫‪a11‬‬ ‫‪′ x3 + L + a1′n xn = b1′‬‬
‫‪′ x2 + a13‬‬
‫‪′ x2 + a23‬‬
‫‪a22‬‬ ‫‪′ x3 + L + a2′ n xn = b2′‬‬
‫‪′ x3 + L + a3′ n xn = b3′‬‬
‫‪a33‬‬
‫‪M‬‬
‫‪an′ −1,n−1 xn−1 + an′ −1,n xn = bn′ −1‬‬
‫‪′ xn = bn′‬‬
‫‪a nn‬‬

‫اﻟﮕﻮرﻳﺘﻢ ﺟﺎﻳﮕﺰﻳﻨﻲ ﭘﺴﺮو ﺑﺼﻮرت زﻳﺮ ﻣﻲ ﺑﺎﺷﺪ‪،‬‬

‫‪١‬‬
‫‪Gaussian Elimination‬‬
‫‪٢‬‬
‫‪Gauss - Jordan‬‬
‫‪٣‬‬
‫‪Backward Substitution Algorithm‬‬

‫‪Applied Linear Algebra with MATLAB‬‬


‫‪S. Sedghizadeh, Systems and Control Dept., KNTU‬‬
‫‪87‬‬ ‫ﻓﺼﻞ دوم‪ :‬دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺟﺒﺮي ﺧﻄﻲ‬

‫‪bn′‬‬
‫= ‪xn‬‬ ‫ﮔﺎم اول(‬
‫‪a′nn‬‬
‫‪1‬‬ ‫⎛‬ ‫‪n‬‬ ‫⎞‬
‫= ‪xi‬‬ ‫⎟ ‪⎜ bi′ − ∑ aij′ x j‬‬ ‫‪,‬‬ ‫ﮔﺎم دوم( ‪i = n − 1,K,2,1‬‬
‫‪aii′‬‬ ‫⎜‬ ‫⎟‬
‫⎝‬ ‫‪j =i +1‬‬ ‫⎠‬
‫ﮔﺎم ﺳﻮم( ‪x = [ x1 , x2 ,K, xn ]T‬‬

‫ﻓﺮاﻳﻨﺪ ﺗﺒﺪﻳﻞ ﻣﺎﺗﺮﻳﺲ ﺿﺮاﻳﺐ ﺑﻪ ﻓﺮم ﺑﺎﻻ ﻣﺜﻠﺜﻲ را ﻣﻲ ﺗﻮان ﺑﺼﻮرت زﻳﺮ ﺧﻼﺻﻪ ﻛﺮد‪،‬‬

‫ﮔﺎم اول‪ -‬ﺣﺬف ﻣﺠﻬﻮل ‪ x1‬از ﻣﻌﺎدﻻت دوم ﺗﺎ ‪ n‬ام‪،‬‬


‫‪− ai1‬‬
‫‪r1 + ri → ri‬‬ ‫‪,‬‬ ‫‪i = 2,K, n‬‬
‫‪a11‬‬
‫ﮔﺎم دوم‪ -‬ﺣﺬف ﻣﺠﻬﻮل ‪ x2‬از ﻣﻌﺎدﻻت ﺳﻮم ﺗﺎ ‪ n‬ام‪،‬‬
‫‪− ai 2‬‬
‫‪r2 + ri → ri‬‬ ‫‪, i = 3,K, n‬‬
‫‪a22‬‬
‫ﮔﺎم ﺳﻮم‪ -‬ﺑﻪ ﻫﻤﻴﻦ ﺗﺮﺗﻴﺐ ﺗﺎ ﮔﺎم ‪ n − 1‬اداﻣﻪ ﻣﻲ دﻫﻴﻢ‪.‬‬

‫ﻣﺜﺎل‪3-2‬‬
‫دﺳﺘﮕﺎه ﻣﻌﺎدﻻت زﻳﺮ را در ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ‪،‬‬
‫‪⎧9 x1 + 3 x2 + 4 x3 = 7‬‬
‫⎪‬
‫‪⎨4 x1 + 3 x2 + 4 x3 = 8‬‬
‫‪⎪x + x + x = 3‬‬
‫‪⎩ 1 2‬‬ ‫‪3‬‬

‫ﻓﺮم ﻣﺎﺗﺮﻳﺲ اﻓﺰوده اﻳﻦ ﻣﻌﺎدﻻت ﺑﺼﻮرت زﻳﺮ اﺳﺖ‪،‬‬


‫⎤ ‪⎡9 3 4 7⎤ ⎡ x1‬‬
‫⎢‬ ‫⎥ ⎢⎥‬
‫⎥ ‪⎢4 3 4 8⎥ ⎢ x 2‬‬
‫⎦⎥ ‪⎢⎣1 1 1 3⎥⎦ ⎢⎣ x3‬‬
‫)‪ (1‬اﺑﺘﺪا ﺑﺎﻳﺪ ﻣﺠﻬﻮل ‪ x1‬را از ﻣﻌﺎدﻻت دوم و ﺳﻮم ﺣﺬف ﻧﻤﺎﻳﻴﻢ‪،‬‬
‫‪−4‬‬ ‫⎫‬ ‫‪⎡9‬‬ ‫‪3‬‬ ‫⎤ ‪4 7 ⎤ ⎡ x1‬‬
‫⎪ ‪r1 + r2 → r2‬‬
‫‪9‬‬ ‫⎪‬ ‫⎢‬ ‫⎢ ⎥ ‪20 44‬‬ ‫⎥‬
‫⎬‬ ‫⇒‬ ‫‪⎢0‬‬
‫‪15‬‬
‫⎥ ‪9 9 ⎥ ⎢ x2‬‬
‫‪−1‬‬ ‫‪9‬‬
‫⎪ ‪r1 + r3 → r3‬‬ ‫‪⎢0‬‬
‫⎣‬
‫‪6‬‬ ‫⎢ ⎥ ‪5 20‬‬ ‫⎥‬
‫⎦ ‪9 9 ⎦ ⎣ x3‬‬
‫‪9‬‬ ‫⎭⎪‬ ‫‪9‬‬

‫)‪ (2‬ﺣﺎل ﺑﺎﻳﺪ ﻣﺠﻬﻮل ‪ x2‬را از ﻣﻌﺎدﻟﻪ ﺳﻮم ﺣﺬف ﻧﻤﺎﻳﻴﻢ‪،‬‬

‫‪Applied Linear Algebra with MATLAB‬‬


‫‪S. Sedghizadeh, Systems and Control Dept., KNTU‬‬
‫ﻓﺼﻞ دوم‪ :‬دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺟﺒﺮي ﺧﻄﻲ‬ ‫‪88‬‬

‫⎤ ‪⎡9 3 4 7 ⎤ ⎡ x1‬‬
‫‪−6‬‬ ‫⎥ ⎢ ⎥ ‪⎢ 15 20 44‬‬
‫‪r2 + r3 → r3‬‬ ‫⇒‬ ‫⎥ ‪⎢0 9 9 9 ⎥ ⎢ x 2‬‬
‫‪15‬‬
‫⎦⎥ ‪⎢0 0 −93 154 ⎥ ⎢⎣ x3‬‬
‫⎣‬ ‫⎦‬
‫)‪ (3‬ﺑﻨﺎﺑﺮاﻳﻦ ﻣﺎﺗﺮﻳﺲ ﺿﺮاﻳﺐ ﺑﻪ ﻓﺮم ﺑﺎﻻﻣﺜﻠﺜﻲ ﺗﺒﺪﻳﻞ ﻣﻲ ﺷﻮد و دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺣﺎﺻﻞ ﺑﺼﻮرت زﻳﺮ‬
‫ﺧﻮاﻫﺪ ﺑﻮد‪،‬‬
‫‪9 x1 + 3x2 + 4 x3 = 7‬‬
‫‪15‬‬ ‫‪20‬‬ ‫‪44‬‬
‫= ‪x 2 + x3‬‬
‫‪9‬‬ ‫‪9‬‬ ‫‪9‬‬
‫‪−3‬‬ ‫‪4‬‬
‫= ‪x3‬‬
‫‪9‬‬ ‫‪15‬‬
‫ﻛﻪ ﺟﻮاب ﻫﺎ ﺑﻪ راﺣﺘﻲ ﺑﺎ اﺳﺘﻔﺎده از اﻟﮕﻮرﻳﺘﻢ ﺟﺎﻳﮕﺰﻳﻨﻲ ﭘﺴﺮو ﻗﺎﺑﻞ ﻣﺤﺎﺳﺒﻪ ﻫﺴﺘﻨﺪ‪،‬‬
‫‪−1‬‬ ‫‪−4‬‬
‫= ‪x1‬‬ ‫= ‪, x2 = 4, x3‬‬
‫‪5‬‬ ‫‪5‬‬
‫□‬

‫در اﻧﺠﺎم روش ﺣﺬﻓﻲ ﮔﻮﺳﻲ‪ ،‬ﻫﺮ ﻳﻚ از ﻣﺮاﺣﻞ ﮔﻔﺘﻪ ﺷﺪه را ﻣﻲ ﺗﻮان در ﻗﺎﻟﺐ ﺿﺮب ﻳﻚ‬
‫ﻣﺎﺗﺮﻳﺲ ﻣﻘﺪﻣﺎﺗﻲ‪ 1‬ﺑﻴﺎن ﻛﺮد‪ .‬ﻣﺎﺗﺮﻳﺲ ﻫﺎي ﻣﻘﺪﻣﺎﺗﻲ ﻣﺮﺑﻌﻲ ﺑﻮده و ﺑﺎ اﻧﺠﺎم ﻳﻚ ﻋﻤﻞ ﻣﻘﺪﻣﺎﺗﻲ روي‬
‫ﻣﺎﺗﺮﻳﺲ واﺣﺪ ‪ I n‬ﺑﺪﺳﺖ ﻣﻲ آﻳﻨﺪ‪ .‬در ﻣﺠﻤﻮع ﺳﻪ ﻧﻮع ﻣﺎﺗﺮﻳﺲ ﻣﻘﺪﻣﺎﺗﻲ ﺑﺮاي اﻧﺠﺎم ﻋﻤﻠﻴﺎت ﺳﻄﺮي‪،‬‬
‫ﻫﻤﭽﻨﻴﻦ ﺑﺮاي ﻋﻤﻠﻴﺎت ﺳﺘﻮﻧﻲ ﻣﺎﺗﺮﻳﺲ ﻫﺎ وﺟﻮد دارد‪.‬‬

‫‪ -1‬ﻣﺎﺗﺮﻳﺲ ﻫﺎي ﻣﻘﺪﻣﺎﺗﻲ ﻛﻪ ﻋﻤﻞ ﺟﺎﺑﺠﺎﻳﻲ ﺳﻄﺮ را اﻧﺠﺎم ﻣﻲ دﻫﻨﺪ‪ . ri ↔ r j ،‬ﺑﻪ ﭼﻨﻴﻦ ﻣﺎﺗﺮﻳﺲ‬
‫ﻫﺎﻳﻲ ﻣﺎﺗﺮﻳﺲ ﺟﺎﻳﮕﺸﺖ‪ 2‬ﻧﻴﺰ ﮔﻔﺘﻪ ﻣﻲ ﺷﻮد‪ .‬در اﻳﻦ ﻣﺎﺗﺮﻳﺲ ﻫﺎ ‪ det( E ) = −1‬و ‪ E −1 = E‬اﺳﺖ‪.‬‬

‫ﻣﺜﺎل ‪4-2‬‬
‫ﺑﺮاي ﻧﻤﻮﻧﻪ ﻣﺎﺗﺮﻳﺲ ﻫﺎي زﻳﺮ را در ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ‪،‬‬
‫⎤‪⎡1 0 0⎤ ⎡2 − 5 4⎤ ⎡2 − 5 4‬‬
‫⇒ ‪r2 ↔ r3‬‬ ‫⎥⎥ ‪E1 A = ⎢⎢0 0 1⎥⎥ ⎢⎢0 6 3⎥⎥ = ⎢⎢9 12 7‬‬
‫⎦⎥‪⎢⎣0 1 0⎥⎦ ⎢⎣9 12 7⎥⎦ ⎢⎣0 6 3‬‬
‫⎤‪⎡0 1⎤ ⎡ 2 3⎤ ⎡− 9 5‬‬
‫⇒ ‪r1 ↔ r2‬‬ ‫⎢ = ‪E2 B‬‬ ‫⎢⎥‬ ‫⎢=⎥‬ ‫⎥‬
‫⎦‪⎣1 0⎦ ⎣− 9 5⎦ ⎣ 2 3‬‬
‫□‬

‫‪١‬‬
‫‪Elementary Matrix‬‬
‫‪٢‬‬
‫‪Permutation Matrix‬‬

‫‪Applied Linear Algebra with MATLAB‬‬


‫‪S. Sedghizadeh, Systems and Control Dept., KNTU‬‬
‫‪89‬‬ ‫ﻓﺼﻞ دوم‪ :‬دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺟﺒﺮي ﺧﻄﻲ‬

‫‪ -2‬ﻣﺎﺗﺮﻳﺲ ﻫﺎي ﻣﻘﺪﻣﺎﺗﻲ ﻛﻪ ﻫﺮ ﺳﻄﺮ از ﻣﺎﺗﺮﻳﺲ را در ﻋﺪدي ﻣﺜﻞ ‪ k‬ﺿﺮب ﻣﻲ ﻧﻤﺎﻳﻨﺪ‪. kri → ri ،‬‬
‫در اﻳﻦ ﻣﺎﺗﺮﻳﺲ ﻫﺎ ‪ E‬ﻳﻚ ﻣﺎﺗﺮﻳﺲ ﻗﻄﺮي‪ det( E ) = k ،‬اﺳﺖ و ) ‪ [Ei (k )] = Ei (1 / k‬اﺳﺖ‪.‬‬
‫‪−1‬‬

‫ﻣﺜﺎل ‪5-2‬‬
‫ﺑﺮاي ﻧﻤﻮﻧﻪ ﻣﺎﺗﺮﻳﺲ ﻫﺎي زﻳﺮ را در ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ‪،‬‬
‫‪⎡1 0 0⎤ ⎡2 − 5‬‬ ‫‪4⎤ ⎡ 2 − 5‬‬ ‫⎤ ‪4‬‬
‫⇒ ‪− 4r2 → r2‬‬ ‫‪E1 A = ⎢⎢0 − 4 0⎥⎥ ⎢⎢0 6‬‬ ‫⎥⎥‪3⎥ = ⎢0 − 24 − 12‬‬
‫⎥‬ ‫⎢‬
‫‪⎢⎣0 0 1⎥⎦ ⎢⎣9 12‬‬ ‫‪7 ⎥⎦ ⎢⎣9 12‬‬ ‫⎦⎥ ‪7‬‬
‫‪⎡5 0⎤ ⎡ 2 3⎤ ⎡ 10‬‬ ‫⎤‪15‬‬
‫⇒ ‪5r1 → r1‬‬ ‫⎢ = ‪E2 B‬‬ ‫‪⎥ ⎢− 9 5⎥ = ⎢− 9‬‬
‫⎣‬ ‫‪0‬‬ ‫‪1‬‬ ‫⎣⎦‬ ‫⎣ ⎦‬ ‫⎦⎥ ‪5‬‬
‫□‬

‫‪ -3‬ﻣﺎﺗﺮﻳﺲ ﻫﺎي ﻣﻘﺪﻣﺎﺗﻲ ﻛﻪ ﻫﺮ ﺳﻄﺮ از ﻣﺎﺗﺮﻳﺲ را ﺑﺎ ﻣﻀﺮﺑﻲ از ﺳﺎﻳﺮ ﺳﻄﺮﻫﺎ ﺟﻤﻊ ﻣﻲ ﻧﻤﺎﻳﻨﺪ‪،‬‬
‫‪ . kr j + ri → ri‬در اﻳﻦ ﻣﺎﺗﺮﻳﺲ ﻫﺎ ‪ det( E ) = 1‬اﺳﺖ و ) ‪ [Ei (k )] = Ei (− k‬اﺳﺖ‪.‬‬
‫‪−1‬‬

‫ﻣﺜﺎل ‪6-2‬‬
‫ﺑﺮاي ﻧﻤﻮﻧﻪ ﻣﺎﺗﺮﻳﺲ ﻫﺎي زﻳﺮ را در ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ‪،‬‬
‫‪⎡1 − 4 0⎤ ⎡2 − 5‬‬ ‫⎤‪4⎤ ⎡2 − 29 − 8‬‬
‫⇒ ‪− 4r2 + r1 → r1‬‬ ‫‪E1 A = ⎢⎢0 1 0⎥⎥ ⎢⎢0 6‬‬ ‫‪3⎥⎥ = ⎢⎢0‬‬ ‫‪6‬‬ ‫⎥⎥ ‪3‬‬
‫‪⎢⎣0 0 1⎥⎦ ⎢⎣9 12‬‬ ‫‪7⎥⎦ ⎢⎣9 12‬‬ ‫⎦⎥ ‪7‬‬
‫‪⎡1 0⎤ ⎡ 2 3⎤ ⎡2‬‬ ‫⎤‪3‬‬
‫⇒ ‪5r1 + r2 → r2‬‬ ‫⎢ = ‪E2 B‬‬ ‫⎢⎥‬ ‫⎢=⎥‬
‫‪⎣5 1⎦ ⎣− 9 5⎦ ⎣1‬‬ ‫⎦⎥‪20‬‬
‫□‬

‫ﻣﺜﺎل ‪7-2‬‬
‫در ﻣﺜﺎل )‪ (3-2‬ﺑﺮاي اﻧﺠﺎم ﻫﺮ ﻳﻚ از ﻣﺮاﺣﻞ ﮔﻔﺘﻪ ﺷﺪه ﻣﺎﺗﺮﻳﺲ ﻫﺎي ﻣﻘﺪﻣﺎﺗﻲ ‪ E2 ، E1‬و ‪ E3‬را ﻣﻲ‬
‫ﺗﻮان ﺑﺼﻮرت زﻳﺮ ﺑﻴﺎن ﻛﺮد‪،‬‬
‫‪−4‬‬
‫ﻣﺮﺣﻠﻪ )‪r1 + r2 → r2 : (1‬‬
‫‪9‬‬
‫⎤ ‪⎡ 1 0 0⎤ ⎡9 3 4 7⎤ ⎡9 3 4 7‬‬
‫⎥ ‪E 1 [A b ] = ⎢⎢ −94 1 0⎥⎥ ⎢4 3 4 8⎥ = ⎢0 159 209 449‬‬
‫⎢‬ ‫⎢ ⎥‬ ‫⎥‬
‫⎦⎥ ‪⎢⎣ 0 0 1⎥⎦ ⎢⎣1 1 1 3⎥⎦ ⎢⎣1 1 1 3‬‬

‫‪Applied Linear Algebra with MATLAB‬‬


‫‪S. Sedghizadeh, Systems and Control Dept., KNTU‬‬
‫ دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺟﺒﺮي ﺧﻄﻲ‬:‫ﻓﺼﻞ دوم‬ 90

−1
r1 + r3 → r3 : (2) ‫ﻣﺮﺣﻠﻪ‬
9
⎡1 0 0 ⎤ ⎡9 3 4 7 ⎤ ⎡9 3 4 7 ⎤
⎥ ⎢ ⎥
E 2 E1 [A b ] = ⎢⎢ 0 1

0⎥⎥ ⎢0 159 209 449 ⎥ = ⎢0 159 209 449 ⎥
⎢⎣ −91 0 1⎥⎦ ⎢⎣1 1 1 3 ⎥⎦ ⎢⎣0 96 59 209 ⎥⎦
−6
r2 + r3 → r3 : (3) ‫ﻣﺮﺣﻠﻪ‬
15
⎡1 0 0 ⎤ ⎡9 3 4 7 ⎤ ⎡9 3 4 7 ⎤
⎢ ⎥ ⎢ ⎥
E 3 E2 E1 [A b ] = ⎢⎢0 1 0⎥⎥ ⎢0 159 209 449 ⎥ = ⎢0 159 209 449 ⎥
⎢⎣0 −6
15 1⎥⎦ ⎢⎣0 96 59 209 ⎥⎦ ⎢⎣0 0 93 154 ⎥⎦
،‫ﺑﻨﺎﺑﺮاﻳﻦ ﻛﻞ اﻳﻦ ﺗﺒﺪﻳﻼت را ﻣﻲ ﺗﻮان ﺑﺼﻮرت زﻳﺮ ﺑﻴﺎن ﻛﺮد‬
E3 E2 E1 [A b ]
‫ ﻣﻲ ﺗﻮان ﺑﺮﻧﺎﻣﻪ اي ﺑﺮاي ﻣﺤﺎﺳﺒﻪ ﻣﺎﺗﺮﻳﺲ ﻫﺎي ﻣﻘﺪﻣﺎﺗﻲ از روش‬MATLAB ‫ﺑﺎ اﺳﺘﻔﺎده از ﻧﺮم اﻓﺰار‬
،‫ﺣﺬﻓﻲ ﮔﻮﺳﻲ و ﺣﻞ دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺑﺎ اﺳﺘﻔﺎده از اﻟﮕﻮرﻳﺘﻢ ﺟﺎﻳﮕﺰﻳﻨﻲ ﭘﺴﺮو ﻧﻮﺷﺖ‬
%Gaussian Eliminatio n algorithm without pivoting.

function [x, AB] = gauss1(A, B)

NA = size(A,2);

[NB1, NB] = size(B);

if NB1 ~ = NA,

error(' A and B must have compatible dimensions ');

end

AB = [A B];

E = eye(NA, NA);
for j = 1 : NA - 1

for i = j + 1 : NA

if AB(j, j) ~ = 0

E(i, j) = - AB(i, j) / AB(j, j);

AB = E * AB;

E = eye(NA, NA);

else

error(' algorithm needs pivoting' )

end

end
end

Applied Linear Algebra with MATLAB


S. Sedghizadeh, Systems and Control Dept., KNTU
91 ‫ دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺟﺒﺮي ﺧﻄﻲ‬:‫ﻓﺼﻞ دوم‬

% backward substitution for a upper - triangular matrix equation

x = zeros(1, NA);
sum = 0;

for i = NA : -1 : 1
for j = i + 1 : NA
sum = sum + x(1,j) * AB(i,j);

end
x(1,i) = (AB(i, NA + 1) - sum) / AB(i,i);
sum = 0;

end
(;) ‫ﺧﺮوﺟﻲ ﺑﺮﻧﺎﻣﻪ اﺻﻠﻲ ﺷﺎﻣﻞ ﭘﺎﺳﺦ ﻧﻬﺎﻳﻲ و ﻣﺎﺗﺮﻳﺲ اﻓﺰوده ﺑﺎﻻﻣﺜﻠﺜﻲ ﻣﻲ ﺑﺎﺷﺪ و در ﺻﻮرﺗﻴﻜﻪ ﺑﺎ ﺣﺬف‬
،‫ اﺟﺮاي ﺑﺮﻧﺎﻣﻪ ﺑﺼﻮرت زﻳﺮ ﺧﻮاﻫﺪ ﺑﻮد‬،‫اﺟﺎزه ﻧﻮﺷﺘﻦ ﻧﺘﺎﻳﺞ را ﺑﺮاي ﻣﺎﺗﺮﻳﺲ ﻫﺎي ﻣﻘﺪﻣﺎﺗﻲ ﺑﺪﻫﻴﺪ‬
A = [9 3 4;4 3 4;1 1 1];
b = [7;8;3];

[x AB] = gauss1(A,b)
E =
1.0000 0 0

- 0.4444 1.0000 0
0 0 1.0000

E =
1.0000 0 0

0 1.0000 0
- 0.1111 0 1.0000
E =

1.0000 0 0
0 1.0000 0

0 - 0.4000 1.0000
x =
- 0.2000 4.0000 - 0.8000

AB =
9.0000 3.0000 4.0000 7.0000

0 1.6667 2.2222 4.8889


0 0 - 0.3333 0.2667

Applied Linear Algebra with MATLAB


S. Sedghizadeh, Systems and Control Dept., KNTU
‫ﻓﺼﻞ دوم‪ :‬دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺟﺒﺮي ﺧﻄﻲ‬ ‫‪92‬‬

‫ﻣﺜﺎل ‪8-2‬‬
‫دﺳﺘﮕﺎه ﻣﻌﺎدﻻت زﻳﺮ را در ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ‪،‬‬
‫‪⎧− 2 x1 + x2 − x3 = 4‬‬
‫⎪‬
‫‪⎨ x1 + 2 x2 + 3 x3 = 13‬‬
‫‪⎪3 x + x = −1‬‬
‫‪⎩ 1 3‬‬

‫ﻓﺮم ﻣﺎﺗﺮﻳﺲ اﻓﺰوده اﻳﻦ ﻣﻌﺎدﻻت ﺑﺼﻮرت زﻳﺮ ﻣﻲ ﺑﺎﺷﺪ‪،‬‬


‫⎤ ‪⎡− 2 1 − 1 4‬‬
‫] ‪[A b‬‬ ‫→‬
‫⎢‬
‫⎥ ‪⎢ 1 2 3 13‬‬
‫⎥‬
‫⎦⎥‪⎢⎣ 3 0 1 − 1‬‬

‫ﮔﺎم اول‪ -‬ﺣﺬف ﻣﺠﻬﻮل ‪ x1‬از ﻣﻌﺎدﻻت دوم و ﺳﻮم‪،‬‬


‫‪1‬‬ ‫⎫‬ ‫⎤ ‪⎡−2 1 −1 4 ⎤ ⎡ x1‬‬
‫⎪ ‪r1 + r2 → r2‬‬
‫‪2‬‬ ‫⎪‬ ‫⎢‬ ‫⎥ ⎢⎥‬
‫⎬‬ ‫⇒‬ ‫⎥ ‪⎢ 0 2 2 15⎥ ⎢ x2‬‬
‫‪5‬‬ ‫‪5‬‬
‫‪3‬‬ ‫⎪‬
‫‪r1 + r3 → r3‬‬ ‫⎦⎥ ‪⎢⎣ 0 32 −21 5 ⎥⎦ ⎢⎣ x3‬‬
‫‪2‬‬ ‫⎭⎪‬
‫‪⎡1 0‬‬ ‫⎤‪0‬‬ ‫⎤ ‪⎡1 0 0‬‬
‫‪E1 = ⎢⎢ 12 1‬‬ ‫⎥⎥ ‪0 ⎥ , E2 = ⎢⎢0 1 0‬‬
‫⎥‬
‫‪⎢⎣0 0‬‬ ‫⎦⎥ ‪1‬‬ ‫⎦⎥ ‪⎢⎣ 32 0 1‬‬

‫ﮔﺎم دوم‪ -‬ﺣﺬف ﻣﺠﻬﻮل ‪ x2‬از ﻣﻌﺎدﻻت ﺳﻮم‪،‬‬


‫⎤ ‪⎡− 2 1 − 1 4 ⎤ ⎡ x1‬‬ ‫‪⎡1‬‬ ‫‪0‬‬ ‫⎤‪0‬‬
‫‪−3‬‬ ‫⎢‬ ‫⎥ ⎢⎥‬
‫‪r2 + r3 → r3‬‬ ‫⇒‬ ‫⎥ ‪⎢ 0 2 2 15 ⎥ ⎢ x2‬‬
‫‪5‬‬ ‫‪5‬‬
‫→‬ ‫‪E3 = ⎢⎢0‬‬ ‫‪1‬‬ ‫⎥⎥‪0‬‬
‫‪5‬‬
‫⎦⎥ ‪⎢⎣ 0 0 − 2 − 4⎥⎦ ⎢⎣ x3‬‬ ‫‪⎢⎣0‬‬ ‫‪−3‬‬
‫‪5‬‬ ‫⎦⎥‪1‬‬

‫ﮔﺎم ﺳﻮم ‪ -‬اﺟﺮاي اﻟﮕﻮرﻳﺘﻢ ﺟﺎﻳﮕﺰﻳﻨﻲ ﭘﺴﺮو ﺑﺮاي ﺣﻞ ﻣﻌﺎدﻻت‪،‬‬


‫‪⎧− 2 x1 + x2 − x3 = 4‬‬ ‫‪⎧ x3 = 2‬‬ ‫⎤‪⎡ x1 ⎤ ⎡− 1‬‬
‫‪⎪5‬‬ ‫⎪‬ ‫⎥ ‪⎢x ⎥ = ⎢ 4‬‬
‫‪⎨ 2 x2 + 2 x3 = 15‬‬ ‫→‬ ‫‪⎨ x2 = 5 (15 − 2 x3 ) = 4‬‬ ‫→‬
‫‪5‬‬ ‫‪2‬‬ ‫‪5‬‬
‫⎥ ⎢ ⎥‪⎢ 2‬‬
‫‪⎪− 2 x = −4‬‬ ‫‪⎪ x = − 1 (4 − x + x ) = −1‬‬ ‫⎦⎥ ‪⎢⎣ x3 ⎥⎦ ⎢⎣ 2‬‬
‫⎩‬ ‫‪3‬‬ ‫‪⎩ 1‬‬ ‫‪2‬‬ ‫‪2‬‬ ‫‪3‬‬

‫□‬

‫‪Applied Linear Algebra with MATLAB‬‬


‫‪S. Sedghizadeh, Systems and Control Dept., KNTU‬‬
‫‪93‬‬ ‫ﻓﺼﻞ دوم‪ :‬دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺟﺒﺮي ﺧﻄﻲ‬

‫ﻣﺜﺎل ‪9-2‬‬
‫در ﻣﺪار اﻟﻜﺘﺮﻳﻜﻲ زﻳﺮ ﺑﺎ اﻋﻤﺎل روش ﺣﺬﻓﻲ ﮔﻮﺳﻲ ﺟﺮﻳﺎﻧﻬﺎي ‪ i2 ، i1‬و ‪ i3‬را ﺑﺪﺳﺖ آورﻳﺪ‪.‬‬
‫‪V2 = 0‬‬

‫‪R 1 = 20‬‬ ‫‪i2‬‬ ‫‪R 3 = 25‬‬

‫‪V1 = 0‬‬
‫‪i1‬‬
‫‪R 4 = 10‬‬

‫‪R 2 = 10‬‬ ‫‪i3‬‬ ‫‪R 5 = 30‬‬

‫‪V3 = 200‬‬

‫ﻣﻌﺎدﻻت ﻣﺪاري ﺑﺮاي ﺣﻠﻘﻪ ﻫﺎ و ﻣﺎﺗﺮﻳﺲ اﻓﺰوده ﺣﺎﺻﻞ ﺑﺮاي اﻳﻦ ﺳﻴﺴﺘﻢ ﺑﺼﻮرت زﻳﺮ ﺑﺪﺳﺖ ﻣﻲ آﻳﺪ‪،‬‬
‫‪⎧20(i1 − i2 ) + 10(i1 − i3 ) = 0‬‬ ‫⎤ ‪⎡ 30 − 20 − 10 0 ⎤ ⎡ i1‬‬
‫⎪‬ ‫⎢‬ ‫⎥ ⎢⎥‬
‫‪⎨25i2 + 10(i2 − i3 ) + 20(i2 − i1 ) = 0‬‬ ‫→‬ ‫⎥ ‪⎢− 20 55 − 10 0 ⎥ ⎢i2‬‬
‫‪⎪30i + 10(i − i ) + 10(i − i ) = 200‬‬ ‫⎦⎥ ‪⎢⎣ − 10 − 10 50 200⎥⎦ ⎢⎣i3‬‬
‫‪⎩ 3‬‬ ‫‪3‬‬ ‫‪2‬‬ ‫‪3‬‬ ‫‪1‬‬

‫ﺣﺎل ﺑﺎ اﻋﻤﺎل روش ﺣﺬﻓﻲ ﮔﻮﺳﻲ دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺣﺎﺻﻞ را ﺣﻞ ﻣﻲ ﻛﻨﻴﻢ‪،‬‬

‫ﮔﺎم اول‪ -‬ﺣﺬف ﻣﺠﻬﻮل ‪ i1‬از ﻣﻌﺎدﻻت دوم و ﺳﻮم‪،‬‬


‫⎤ ‪⎡30 − 20 − 10 0 ⎤ ⎡ i1‬‬
‫‪20‬‬
‫⎫ ‪r + r2 → r2‬‬ ‫⎢‬ ‫⎥‬
‫⎥⎥ ‪0 ⎥ ⎢⎢i2‬‬
‫‪30 1‬‬
‫⎬‬ ‫⇒‬ ‫‪⎢0‬‬
‫‪125‬‬
‫‪3‬‬
‫‪−50‬‬
‫‪3‬‬
‫⎭ ‪30 r1 + r3 → r3‬‬
‫‪10‬‬
‫‪⎢⎣ 0‬‬ ‫‪−50‬‬
‫‪3‬‬
‫‪140‬‬
‫‪3‬‬ ‫⎥⎦ ‪200⎥⎦ ⎣⎢i3‬‬
‫ﮔﺎم دوم‪ -‬ﺣﺬف ﻣﺠﻬﻮل ‪ i2‬از ﻣﻌﺎدﻟﻪ ﺳﻮم‪،‬‬
‫⎤ ‪⎡30 − 20 − 10 0 ⎤ ⎡ i1‬‬
‫⎢‬ ‫⎥‬
‫‪2‬‬
‫} ‪r + r3 → r3‬‬
‫‪5 2‬‬ ‫⇒‬ ‫‪⎢0‬‬
‫‪125‬‬
‫‪3‬‬
‫‪−50‬‬
‫‪3‬‬ ‫⎥⎥ ‪0 ⎥ ⎢⎢i2‬‬
‫‪⎢⎣ 0‬‬ ‫‪0‬‬ ‫⎦⎥ ‪40 200⎥⎦ ⎢⎣i3‬‬
‫ﮔﺎم ﺳﻮم ‪ -‬اﺟﺮاي اﻟﮕﻮرﻳﺘﻢ ﺟﺎﻳﮕﺰﻳﻨﻲ ﭘﺴﺮو ﺑﺮاي ﺣﻞ ﻣﻌﺎدﻻت‪،‬‬
‫‪⎧30i1 − 20i2 − 10i3 = 0‬‬ ‫‪⎧i3 = 5‬‬
‫‪⎪ 125‬‬ ‫⎪‬
‫‪⎨ 3 i 2 − 3 i3 = 0‬‬ ‫‪→ ⎨i2 = 2‬‬
‫‪50‬‬

‫‪⎪40i = 200‬‬ ‫‪⎪i = 3‬‬


‫‪⎩ 3‬‬ ‫‪⎩1‬‬
‫ﻟﺬا ﺟﺮﻳﺎن ﻫﺮ ﻳﻚ از ﺣﻠﻘﻪ ﻫﺎ ﺑﺪﺳﺖ ﻣﻲ آﻳﺪ‪.‬‬
‫□‬

‫‪Applied Linear Algebra with MATLAB‬‬


‫‪S. Sedghizadeh, Systems and Control Dept., KNTU‬‬
‫ﻓﺼﻞ دوم‪ :‬دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺟﺒﺮي ﺧﻄﻲ‬ ‫‪94‬‬

‫ﻣﺜﺎل ‪10-2‬‬
‫در ﻳﻚ آزﻣﺎﻳﺶ ﭘﺮﺗﺎب ﻣﻮﺷﻚ‪ ،‬ﺳﺮﻋﺖ ﻣﻮﺷﻚ در راﺳﺘﺎي ﻗﺎﺋﻢ در زﻣﺎن ﻫﺎي ﻣﺨﺘﻠﻒ ﺑﺼﻮرت زﻳﺮ اﻧﺪازه‬
‫ﮔﻴﺮي ﺷﺪه اﺳﺖ‪،‬‬
‫زﻣﺎن )‪t (sec‬‬ ‫ﺳﺮﻋﺖ )‪v (m/sec‬‬
‫‪5‬‬ ‫‪106.8‬‬
‫‪8‬‬ ‫‪177.2‬‬
‫‪12‬‬ ‫‪279.2‬‬
‫ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ اﻳﻦ ﺟﺪول ﺳﺮﻋﺖ ﻣﻮﺷﻚ ﺑﺮ ﺣﺴﺐ زﻣﺎن را ﻣﻲ ﺗﻮان ﺑﺼﻮرت ﭼﻨﺪﺟﻤﻠﻪ اي درﺟﻪ دوم ﺗﻘﺮﻳﺐ‬
‫زد‪،‬‬
‫‪v(t ) = a1t 2 + a 2 t + a3‬‬ ‫‪, 5 ≤ t ≤ 12‬‬
‫ﺑﺎ اﺳﺘﻔﺎده از روش ﺣﺬﻓﻲ ﮔﻮﺳﻲ ﻣﻘﺪار ﺿﺮاﻳﺐ اﻳﻦ ﭼﻨﺪ ﺟﻤﻠﻪ اي را ﺑﺪﺳﺖ آورﻳﺪ‪ .‬ﺳﭙﺲ ﺳﺮﻋﺖ ﻣﻮﺷﻚ‬
‫را در ﻟﺤﻈﻪ ‪ t = 6 sec‬ﺑﻴﺎﺑﻴﺪ‪.‬‬

‫اﺑﺘﺪا ﺑﺎﻳﺪ ﺑﺎ ﻗﺮار دادن ﻧﻘﺎط در ﻣﻌﺎدﻟﻪ ﺳﺮﻋﺖ ﻣﻮﺷﻚ ﺑﺮ ﺣﺴﺐ زﻣﺎن دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺣﺎﺻﻞ را ﺑﺪﺳﺖ‬
‫آورﻳﻢ‪،‬‬
‫‪⎡t12‬‬ ‫⎤ ‪t1 1⎤ ⎡ a1 ⎤ ⎡ v1‬‬ ‫⎤ ‪⎡ 25 5 1⎤ ⎡ a1 ⎤ ⎡106.8‬‬
‫‪⎢2‬‬ ‫⎥‬
‫‪⎢t 2‬‬ ‫⎥⎥ ‪t 2 1⎥ ⎢⎢a 2 ⎥⎥ = ⎢⎢v 2‬‬ ‫→‬ ‫⎥ ‪⎢ 64 8 1⎥ ⎢a ⎥ = ⎢177.2‬‬
‫⎢‬ ‫⎢ ⎥ ‪⎥⎢ 2‬‬ ‫⎥‬
‫‪⎢t 32‬‬ ‫⎦⎥ ‪t 3 1⎥⎦ ⎢⎣ a3 ⎥⎦ ⎢⎣v3‬‬ ‫⎦⎥‪⎢⎣144 12 1⎥⎦ ⎢⎣ a3 ⎥⎦ ⎢⎣279.2‬‬
‫⎣‬

‫ﺣﺎل ﺑﺎ اﻋﻤﺎل روش ﺣﺬﻓﻲ‪ -‬ﮔﻮﺳﻲ اﻳﻦ دﺳﺘﮕﺎه ﻣﻌﺎدﻻت را ﺣﻞ ﻣﻲ ﻧﻤﺎﻳﻴﻢ‪ ،‬ﻓﺮم ﻣﺎﺗﺮﻳﺲ اﻓﺰوده ﺳﻴﺴﺘﻢ‬
‫ﺑﺼﻮرت زﻳﺮ اﺳﺖ‪،‬‬
‫⎤ ‪⎡ 25 5 1 106.8 ⎤ ⎡ a1‬‬
‫] ‪[A b‬‬ ‫→‬
‫⎢‬ ‫⎥ ⎢⎥‬
‫⎥ ‪⎢ 64 8 1 177.2 ⎥ ⎢a 2‬‬
‫⎦⎥ ‪⎢⎣144 12 1 279.2⎥⎦ ⎢⎣ a3‬‬

‫ﮔﺎم اول‪ -‬ﺣﺬف ﻣﺠﻬﻮل ‪ a1‬از ﻣﻌﺎدﻻت دوم و ﺳﻮم‪ ،‬ﺗﻮﺟﻪ ﻛﻨﻴﺪ ﻛﻪ ‪ − 64 / 25 = −2.56‬و‬
‫‪ − 144 / 25 = −5.76‬ﻣﻲ ﺑﺎﺷﺪ‪،‬‬
‫‪⎡25‬‬ ‫‪5‬‬ ‫‪1‬‬ ‫⎤ ‪106.8 ⎤ ⎡ a1‬‬
‫⎫ ‪− 2.56r1 + r2 → r2‬‬ ‫⎢‬ ‫⎥ ⎢⎥‬
‫⎬‬ ‫⇒‬ ‫⎥ ‪⎢ 0 − 4.8 − 1.56 − 96.208 ⎥ ⎢a 2‬‬
‫⎭ ‪− 5.76r1 + r3 → r3‬‬
‫⎦⎥ ‪⎢⎣ 0 − 16.8 − 4.76 − 335.968⎥⎦ ⎢⎣ a3‬‬

‫‪Applied Linear Algebra with MATLAB‬‬


‫‪S. Sedghizadeh, Systems and Control Dept., KNTU‬‬
‫‪95‬‬ ‫ﻓﺼﻞ دوم‪ :‬دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺟﺒﺮي ﺧﻄﻲ‬

‫ﮔﺎم دوم‪ -‬ﺣﺬف ﻣﺠﻬﻮل ‪ a 2‬از ﻣﻌﺎدﻟﻪ ﺳﻮم‪ ،‬ﺗﻮﺟﻪ ﻛﻨﻴﺪ ﻛﻪ ‪ − 16.8 / 4.8 = −3.5‬ﻣﻲ ﺑﺎﺷﺪ‪،‬‬
‫‪⎡25‬‬ ‫‪5‬‬ ‫‪1‬‬ ‫⎤ ‪106.8 ⎤ ⎡ a1‬‬
‫⎢‬ ‫⎥ ⎢⎥‬
‫} ‪− 3.5r2 + r3 → r3‬‬ ‫⇒‬ ‫⎥ ‪⎢ 0 − 4.8 − 1.56 − 96.208⎥ ⎢a 2‬‬
‫‪⎢⎣ 0‬‬ ‫‪0‬‬ ‫‪0.7‬‬ ‫⎦⎥ ‪0.76 ⎥⎦ ⎢⎣ a3‬‬

‫ﮔﺎم ﺳﻮم ‪ -‬اﺟﺮاي اﻟﮕﻮرﻳﺘﻢ ﺟﺎﻳﮕﺰﻳﻨﻲ ﭘﺴﺮو ﺑﺮاي ﺣﻞ ﻣﻌﺎدﻻت‪،‬‬


‫‪⎧25a1 + 5a 2 + a3 = 106.8‬‬ ‫‪⎧a3 = 1.0857‬‬
‫⎪‬ ‫⎪‬
‫‪⎨− 4.8a 2 − 1.56a3 = −96.208‬‬ ‫→‬ ‫‪⎨a 2 = 19.6905‬‬
‫‪⎪0.7a = 0.76‬‬ ‫‪⎪a = 0.2905‬‬
‫⎩‬ ‫‪3‬‬ ‫‪⎩ 1‬‬
‫ﻟﺬا ﻣﻌﺎدﻟﻪ ﺳﺮﻋﺖ ﻣﻮﺷﻚ ﺑﺮ ﺣﺴﺐ زﻣﺎن ﺑﺼﻮرت زﻳﺮ ﺑﺪﺳﺖ ﻣﻲ آﻳﺪ‪،‬‬
‫‪v(t ) = 0.2905t 2 + 19.6905t + 1.0857‬‬ ‫‪,‬‬ ‫‪5 ≤ t ≤ 12‬‬

‫ﺳﺮﻋﺖ ﻣﻮﺷﻚ را در ﻟﺤﻈﻪ ‪ t = 6 sec‬ﺑﺼﻮرت زﻳﺮ ﻣﺤﺎﺳﺒﻪ ﻣﻲ ﺷﻮد‪،‬‬


‫‪v(6) = 0.2905 × (6) 2 + 19.6905 × (6) + 1.0857 = 129.686 m / sec‬‬
‫□‬

‫ﻧﻜﺘﻪ‪ :1‬در اﺟﺮاي ﻋﻤﻠﻴﺎت ﺣﺬﻓﻲ‪ -‬ﮔﻮﺳﻲ اﮔﺮ ﻳﻜﻲ از ﻋﻨﺎﺻﺮ ﻗﻄﺮ اﺻﻠﻲ ﺑﺮاﺑﺮ ﺑﺎ ﺻﻔﺮ ﮔﺮدد اﻧﺠﺎم ﻋﻤﻠﻴﺎت‬
‫ﻣﺘﻮﻗﻒ ﺧﻮاﻫﺪ ﺷﺪ‪ .‬در ﭼﻨﻴﻦ ﻣﻮاردي ﺑﺮاي اداﻣﻪ ﻋﻤﻠﻴﺎت ﻧﻴﺎز ﺑﻪ ﺟﺎﺑﺠﺎ ﻛﺮدن ﻣﻌﺎدﻟﻪ ﻣﺬﻛﻮر ﻳﺎ ﻫﻤﺎن‬
‫ﺳﻄﺮﻫﺎي ﻣﺎﺗﺮﻳﺲ اﻓﺰوده دارﻳﻢ‪ ،‬ﻛﻪ ﺑﻪ اﻳﻦ ﻛﺎر ﻣﺤﻮرﮔﻴﺮي‪ 1‬ﮔﻔﺘﻪ ﻣﻲ ﺷﻮد‪ .‬در اﻧﺘﺨﺎب ﺳﻄﺮ ﻣﻨﺎﺳﺐ‬
‫ﺑﺮاي ﺟﺎﺑﺠﺎﻳﻲ ﺑﺨﺎﻃﺮ ﭘﺎﻳﺪاري اﻟﮕﻮرﻳﺘﻢ‪ ،‬ﺑﻬﺘﺮ اﺳﺖ ﺳﻄﺮي را در ﻧﻈﺮ ﺑﮕﻴﺮﻳﻢ ﻛﻪ ﺑﺰرﮔﺘﺮﻳﻦ ﻋﺪد ﻣﺤﻮري‬
‫را داﺷﺘﻪ ﺑﺎﺷﺪ‪.‬‬

‫ﻣﺜﺎل ‪11-2‬‬
‫دﺳﺘﮕﺎه ﻣﻌﺎدﻻت زﻳﺮ را در ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ‪،‬‬
‫‪⎧2 x1 + 4 x2 − 2 x3 − 2 x4 = −4‬‬
‫‪⎪ x + 2 x + 4 x − 3x = 5‬‬
‫‪⎪ 1‬‬ ‫‪2‬‬ ‫‪3‬‬ ‫‪4‬‬
‫⎨‬
‫‪⎪− 3 x1 − 3 x2 + 8 x3 − 2 x4 = 7‬‬
‫‪⎪⎩− x1 + x2 + 6 x3 − 3 x4 = 7‬‬

‫ﻓﺮم ﻣﺎﺗﺮﻳﺴﻲ اﻳﻦ ﻣﻌﺎدﻻت ﺑﺼﻮرت زﻳﺮ ﻣﻲ ﺑﺎﺷﺪ‪،‬‬

‫‪١‬‬
‫‪Pivoting‬‬

‫‪Applied Linear Algebra with MATLAB‬‬


‫‪S. Sedghizadeh, Systems and Control Dept., KNTU‬‬
‫ﻓﺼﻞ دوم‪ :‬دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺟﺒﺮي ﺧﻄﻲ‬ ‫‪96‬‬

‫‪⎡2‬‬ ‫‪4‬‬ ‫⎤‪− 2 − 2⎤ ⎡ x1 ⎤ ⎡− 4‬‬


‫‪⎢1‬‬
‫⎢‬ ‫‪2‬‬ ‫⎥⎥ ‪4 − 3⎥⎥ ⎢⎢ x2 ⎥⎥ ⎢⎢ 5‬‬
‫‪Ax = b‬‬ ‫→‬ ‫=‬
‫‪⎢− 3‬‬ ‫⎥ ‪− 3 8 − 2⎥ ⎢ x3 ⎥ ⎢ 7‬‬
‫⎢‬ ‫⎥ ⎢ ⎥ ⎢⎥‬
‫‪⎣ −1‬‬ ‫‪1‬‬ ‫⎦ ‪6 − 3 ⎦ ⎣ x4 ⎦ ⎣ 7‬‬
‫از روش ﺣﺬﻓﻲ ﮔﻮﺳﻲ ﺣﻞ ﻛﻨﻴﻢ‪ .‬ﺣﺎل ﻣﺮاﺣﻞ‬ ‫ﻣﻲ ﺧﻮاﻫﻴﻢ اﻳﻦ دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺧﻄﻲ را ﺑﺎ اﺳﺘﻔﺎده‬
‫ﻣﺮﺑﻮﻃﻪ را ﻃﻲ ﻣﻲ ﻧﻤﺎﻳﻴﻢ‪،‬‬

‫)‪ (1‬اﺑﺘﺪا ﺑﺎﻳﺪ ﻣﺠﻬﻮل ‪ x1‬را از ﻣﻌﺎدﻻت دوم ﺗﺎ ﭼﻬﺎرم ﺣﺬف ﻧﻤﺎﻳﻴﻢ‪،‬‬
‫‪−1‬‬ ‫⎫‬
‫⎪ ‪r1 + r2 → r2‬‬ ‫‪⎡2‬‬ ‫⎤ ‪4 − 2 − 2 − 4⎤ ⎡ x1‬‬
‫‪2‬‬
‫⎪‬ ‫⎢‬ ‫⎥‬
‫‪3‬‬ ‫⎪‬ ‫‪⎢0‬‬ ‫⎥⎥ ‪0 5 − 2 7 ⎥ ⎢⎢ x 2‬‬
‫⇒ ⎬ ‪r1 + r3 → r3‬‬
‫‪2‬‬ ‫‪⎢0‬‬ ‫⎥ ‪3 5 − 5 1 ⎥ ⎢ x3‬‬
‫⎪‬ ‫⎢‬ ‫⎥ ⎢⎥‬
‫‪1‬‬ ‫⎪‬ ‫‪⎢⎣0‬‬ ‫⎦ ‪3 5 − 4 5 ⎥⎦ ⎣ x 4‬‬
‫⎪ ‪r1 + r4 → r4‬‬
‫‪2‬‬ ‫⎭‬
‫و ﭼﻬﺎرم ﺣﺬف ﻧﻤﺎﻳﻴﻢ‪ ،‬ﻟﻴﻜﻦ ﺑﻪ ﻋﻠﺖ ﺻﻔﺮ ﺑﻮدن ﻋﻨﺼﺮ‬ ‫)‪ (2‬ﺣﺎل ﺑﺎﻳﺪ ﻣﺠﻬﻮل ‪ x2‬را از ﻣﻌﺎدﻻت ﺳﻮم‬
‫ﻣﺤﻮري ‪ a 22‬اﻳﻦ ﻛﺎر اﻣﻜﺎن ﭘﺬﻳﺮ ﻧﻤﻲ ﺑﺎﺷﺪ‪ .‬در ﭼﻨﻴﻦ ﺷﺮاﻳﻄﻲ ﺑﺎﻳﺪ ﻋﻤﻞ ﻣﺤﻮرﮔﻴﺮي اﻧﺠﺎم دﻫﻴﻢ‪ ،‬ﻳﻌﻨﻲ‬
‫ﺟﺎي ﻣﻌﺎدﻟﻪ دوم را ﺑﺎ ﻣﻌﺎدﻟﻪ ﭼﻬﺎرم ﻋﻮض ﻣﻲ ﻧﻤﺎﻳﻴﻢ‪ .‬ﺑﻨﺎﺑﺮاﻳﻦ ﻣﺎﺗﺮﻳﺲ اﻓﺰوده ﺟﺪﻳﺪ ﺑﺼﻮرت زﻳﺮ ﻗﺎﺑﻞ‬
‫ﺑﺎزﻧﻮﻳﺴﻲ ﺧﻮاﻫﺪ ﺑﻮد‪،‬‬
‫‪⎡2‬‬ ‫⎤ ‪4 − 2 − 2 − 4⎤ ⎡ x1‬‬
‫⎢‬ ‫⎥‬
‫‪⎢0‬‬ ‫⎥⎥ ‪3 5 − 4 5 ⎥ ⎢⎢ x2‬‬
‫‪⎢0‬‬ ‫⎥ ‪3 5 − 5 1 ⎥ ⎢ x3‬‬
‫⎢‬ ‫⎥ ⎢⎥‬
‫‪⎢⎣0‬‬ ‫⎦ ‪0 5 − 2 7 ⎥⎦ ⎣ x4‬‬

‫)‪ (3‬ﺣﺎل ﻣﻲ ﺗﻮاﻧﻴﻢ ﻣﺠﻬﻮل ‪ x2‬را از ﻣﻌﺎدﻻت ﺳﻮم و ﭼﻬﺎرم ﺣﺬف ﻛﻨﻴﻢ‪،‬‬
‫‪⎡2‬‬ ‫⎤ ‪4 − 2 − 2 − 4⎤ ⎡ x1‬‬
‫⎢‬ ‫⎥‬
‫‪⎢0‬‬ ‫⎥⎥ ‪3 5 − 4 5 ⎥ ⎢⎢ x2‬‬
‫‪− r2 + r3 → r3‬‬ ‫⇒‬
‫‪⎢0‬‬ ‫⎥ ‪0 0 − 1 − 4 ⎥ ⎢ x3‬‬
‫⎢‬ ‫⎥ ⎢⎥‬
‫‪⎣⎢0‬‬ ‫⎦ ‪0 5 − 2 7 ⎦⎥ ⎣ x4‬‬

‫)‪ (4‬اﻳﻦ ﺑﺎر ﻻزم اﺳﺖ ﺗﺎ ﻣﺠﻬﻮل ‪ x3‬را از ﻣﻌﺎدﻟﻪ ﭼﻬﺎرم ﺣﺬف ﻧﻤﺎﻳﻴﻢ‪ ،‬ﻟﻴﻜﻦ ﺑﺎز ﻫﻢ ﻋﻨﺼﺮ ﻣﺤﻮري ‪a33‬‬
‫ﺑﺮاﺑﺮ ﺑﺎ ﺻﻔﺮ اﺳﺖ‪ ،‬ﭘﺲ ﺑﺎز ﻫﻢ ﻋﻤﻞ ﻣﺤﻮرﮔﻴﺮي را اﻧﺠﺎم داده و ﺟﺎي ﻣﻌﺎدﻟﻪ ﺳﻮم را ﺑﺎ ﻣﻌﺎدﻟﻪ ﭼﻬﺎرم‬
‫ﻋﻮض ﻣﻲ ﻧﻤﺎﻳﻴﻢ‪،‬‬

‫‪Applied Linear Algebra with MATLAB‬‬


‫‪S. Sedghizadeh, Systems and Control Dept., KNTU‬‬
‫‪97‬‬ ‫ﻓﺼﻞ دوم‪ :‬دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺟﺒﺮي ﺧﻄﻲ‬

‫⎤ ‪⎡2 4 − 2 − 2 − 4⎤ ⎡ x1‬‬
‫⎢‬ ‫⎥ ⎢⎥‬
‫⎥ ‪⎢0 3 5 − 4 5 ⎥ ⎢ x2‬‬
‫⎥ ‪⎢ 0 0 5 − 2 7 ⎥ ⎢ x3‬‬
‫⎢‬ ‫⎥ ⎢⎥‬
‫⎦ ‪⎣⎢0 0 0 − 1 − 4⎦⎥ ⎣ x4‬‬
‫ﺑﻪ اﻳﻦ ﺗﺮﺗﻴﺐ ﻣﺎﺗﺮﻳﺲ ﺿﺮاﻳﺐ ﺑﻪ ﻓﺮم ﺑﺎﻻﻣﺜﻠﺜﻲ ﺗﺒﺪﻳﻞ ﻣﻲ ﮔﺮدد و دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺣﺎﺻﻞ ﺑﺼﻮرت زﻳﺮ‬
‫ﺧﻮاﻫﺪ ﺑﻮد‪،‬‬
‫‪2 x1 + 4 x2 − 2 x3 − 2 x4 = −4‬‬
‫‪3 x 2 + 5 x3 − 4 x 4 = 5‬‬
‫‪5 x3 − 2 x 4 = 7‬‬
‫‪− x4 = −4‬‬
‫ﻛﻪ ﺟﻮاب ﻫﺎ ﺑﻪ راﺣﺘﻲ ﺑﺎ اﺳﺘﻔﺎده از اﻟﮕﻮرﻳﺘﻢ ﺟﺎﻳﮕﺰﻳﻨﻲ ﭘﺴﺮو ﻗﺎﺑﻞ ﻣﺤﺎﺳﺒﻪ ﻫﺴﺘﻨﺪ‪،‬‬
‫‪x1 = 1, x2 = 2, x3 = 3 ,‬‬ ‫‪x4 = 4‬‬

‫ﻣﺎﺗﺮﻳﺲ ﻫﺎي ﻣﻘﺪﻣﺎﺗﻲ ﺑﺮاي اﻧﺠﺎم ﻫﺮ ﻣﺮﺣﻠﻪ ﺑﺼﻮرت زﻳﺮ ﺑﺪﺳﺖ ﻣﻲ آﻳﻨﺪ‪،‬‬
‫‪⎡1‬‬ ‫⎤‪0 0 0‬‬ ‫‪⎡1‬‬ ‫⎤‪0 0 0‬‬ ‫‪⎡1‬‬ ‫⎤‪0 0 0‬‬
‫‪⎢ −1‬‬ ‫‪⎢0‬‬ ‫⎥⎥‪1 0 0‬‬
‫⎥⎥‪1 0 0‬‬ ‫‪⎢0‬‬ ‫⎥⎥‪1 0 0‬‬
‫‪E1 = ⎢ 2‬‬ ‫‪,‬‬ ‫‪E2 = ⎢ 3‬‬ ‫‪,‬‬ ‫⎢ = ‪E3‬‬
‫‪⎢0‬‬ ‫⎥‪0 1 0‬‬ ‫‪⎢2‬‬ ‫⎥‪0 1 0‬‬ ‫‪⎢0‬‬ ‫⎥‪0 1 0‬‬
‫⎢‬ ‫⎥‬ ‫⎢‬ ‫⎥‬ ‫‪⎢1‬‬ ‫⎥‬
‫‪⎣0‬‬ ‫⎦‪0 0 1‬‬ ‫‪⎣0‬‬ ‫⎦‪0 0 1‬‬ ‫‪⎣2‬‬ ‫⎦‪0 0 1‬‬

‫‪⎡1‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫⎤‪0‬‬ ‫‪⎡1 0‬‬ ‫‪0‬‬ ‫⎤‪0‬‬ ‫‪⎡1‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫⎤‪0‬‬
‫‪⎢0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫⎥⎥‪1‬‬ ‫‪⎢0 1‬‬ ‫‪0‬‬ ‫⎥⎥‪0‬‬ ‫‪⎢0‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫⎥⎥‪0‬‬
‫⎢ = ‪E4‬‬ ‫‪,‬‬ ‫⎢ = ‪E5‬‬ ‫‪,‬‬ ‫⎢ = ‪E6‬‬
‫‪⎢0‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫⎥‪0‬‬ ‫‪⎢0 − 1‬‬ ‫‪1‬‬ ‫⎥‪0‬‬ ‫‪⎢0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫⎥‪1‬‬
‫⎢‬ ‫⎥‬ ‫⎢‬ ‫⎥‬ ‫⎢‬ ‫⎥‬
‫‪⎣0‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫⎦‪0‬‬ ‫‪⎣0 0‬‬ ‫‪0‬‬ ‫⎦‪1‬‬ ‫‪⎣0‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫⎦‪0‬‬

‫در ﺑﺮﻧﺎﻣﻪ ‪ gauss1‬ﻋﻤﻠﻴﺎت ﻣﺤﻮرﮔﻴﺮي در ﻧﻈﺮ ﮔﺮﻓﺘﻪ ﻧﺸﺪه اﺳﺖ‪ ،‬ﻟﺬا اﺳﺘﻔﺎده از اﻳﻦ ﺑﺮﻧﺎﻣﻪ در اﻳﻦ‬
‫ﺣﺎﻟﺖ ﭘﻴﻐﺎم ﺧﻄﺎﻳﻲ ﺑﺼﻮرت زﻳﺮ ﻣﻲ دﻫﺪ‪،‬‬
‫;]‪A = [2 4 - 2 - 2;1 2 4 - 3;-3 - 3 8 - 2;-1 1 6 - 3‬‬

‫;]‪b = [-4;5;7;7‬‬

‫)‪x = gauss1(A,b‬‬

‫‪??? Error using ==> gauss1‬‬

‫‪algorithm needs pivoting‬‬

‫‪Applied Linear Algebra with MATLAB‬‬


‫‪S. Sedghizadeh, Systems and Control Dept., KNTU‬‬
‫ دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺟﺒﺮي ﺧﻄﻲ‬:‫ﻓﺼﻞ دوم‬ 98

،‫ﻟﺬا ﻣﻲ ﺗﻮان ﺑﺼﻮرت زﻳﺮ ﺑﺮﻧﺎﻣﻪ را اﺻﻼح ﻧﻤﻮد ﺗﺎ ﻋﻤﻞ ﻣﺤﻮرﮔﻴﺮي ﻫﻢ ﺻﻮرت ﮔﻴﺮد‬

%Gaussian Elimination algorithm with pivoting.


function [x, AB] = gauss2(A,B)
NA = size(A,2);

[NB1, NB] = size(B);


if NB1 ~= NA,
error('A and B must have compatible dimensions');
end
NA;

AB = [A B];
E = eye(NA, NA);
for j = 1 : NA - 1
for i = j + 1 : NA

if AB(j,j) ~= 0
E(i,j) = - AB(i,j) / AB(j,j);

AB = E * AB;

E = eye(NA, NA);
else

[max,k] = max(abs(AB([j: NA],j)));


AB([j k + (j - 1)],:) = AB([k + (j - 1) j],:);

E(i,j) = - AB(i,j) / AB(j,j);

AB = E * AB;
E = eye(NA, NA);

end
end

end

Applied Linear Algebra with MATLAB


S. Sedghizadeh, Systems and Control Dept., KNTU
99 ‫ دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺟﺒﺮي ﺧﻄﻲ‬:‫ﻓﺼﻞ دوم‬

% backward substitution for a upper - triangular matrix equation


x = zeros(1,NA);
sum = 0;
for i = NA : -1 : 1
for j = i + 1 : NA
sum = sum + x(1,j) * AB(i,j);
end
x(1,i) = (AB(i, NA + 1) - sum) / AB(i,i);
sum = 0;
end
،‫اﺟﺮاي ﺑﺮﻧﺎﻣﻪ ﺑﺼﻮرت زﻳﺮ اﺳﺖ‬

A = [2 4 - 2 - 2;1 2 4 - 3;-3 - 3 8 - 2;-1 1 6 - 3];


b = [-4;5;7;7];
[x AB] = gauss2(A,b)
x =
1 2 3 4
AB =
2 4 -2 -2 -4
0 3 5 -5 1
0 0 5 -2 7

0 0 0 1 4

12-2 ‫ﻣﺜﺎل‬
،‫دﺳﺘﮕﺎه ﻣﻌﺎدﻻت زﻳﺮ را در ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ‬
⎧ x1 − 2 x2 + 3 x3 = −2

⎨− x1 + 2 x2 − 2 x3 = 3
⎪2 x − x + 3 x = −7
⎩ 1 2 3

،‫ﻓﺮم ﻣﺎﺗﺮﻳﺲ اﻓﺰوده اﻳﻦ دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺑﺼﻮرت زﻳﺮ ﻣﻲ ﺑﺎﺷﺪ‬


⎡ 1 − 2 3 − 2⎤
[A b ] →

⎢− 1 2 − 2 3 ⎥

⎢⎣ 2 − 1 3 − 7⎥⎦

Applied Linear Algebra with MATLAB


S. Sedghizadeh, Systems and Control Dept., KNTU
‫ﻓﺼﻞ دوم‪ :‬دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺟﺒﺮي ﺧﻄﻲ‬ ‫‪100‬‬

‫ﮔﺎم اول‪ -‬ﺣﺬف ﻣﺠﻬﻮل ‪ x1‬از ﻣﻌﺎدﻻت دوم و ﺳﻮم‪،‬‬


‫⎤ ‪⎡1 − 2 3 − 2⎤ ⎡ x1‬‬
‫‪r1 + r2 → r2‬‬ ‫⎫‬ ‫⎢‬ ‫⎥‬
‫⎬‬ ‫⇒‬ ‫‪⎢0 0‬‬ ‫⎥⎥ ‪1 1 ⎥ ⎢⎢ x 2‬‬
‫⎭ ‪− 2r1 + r3 → r3‬‬
‫⎦⎥ ‪⎢⎣0 3 − 3 − 3⎥⎦ ⎢⎣ x3‬‬
‫‪⎡1 0‬‬ ‫⎤‪0‬‬ ‫⎤‪⎡ 1 0 0‬‬
‫‪E1 = ⎢⎢1 1‬‬ ‫⎥⎥‪0⎥, E 2 = ⎢⎢ 0 1 0‬‬
‫⎥‬

‫‪⎣⎢0 0‬‬ ‫⎥⎦‪1‬‬ ‫⎥⎦‪⎣⎢− 2 0 1‬‬

‫ﮔﺎم دوم‪ -‬ﺟﺎﺑﺠﺎﻳﻲ ﻣﻌﺎدﻻت دوم و ﺳﻮم ﺣﺬف ﻣﺠﻬﻮل ‪ x2‬از ﻣﻌﺎدﻟﻪ ﺳﻮم‪،‬‬
‫⎤ ‪⎡1 − 2 3 − 2⎤ ⎡ x1‬‬ ‫⎤‪⎡1 0 0‬‬
‫⎢‬ ‫⎥ ⎢⎥‬
‫‪r2 ↔ r3‬‬ ‫⇒‬ ‫⎥ ‪⎢0 3 − 3 − 3 ⎥ ⎢ x 2‬‬ ‫→‬ ‫⎥⎥‪E3 = ⎢⎢0 0 1‬‬
‫‪⎢⎣0 0‬‬ ‫⎦⎥ ‪1 1 ⎥⎦ ⎢⎣ x3‬‬ ‫⎦⎥‪⎢⎣0 1 0‬‬

‫ﮔﺎم ﺳﻮم ‪ -‬اﺟﺮاي اﻟﮕﻮرﻳﺘﻢ ﺟﺎﻳﮕﺰﻳﻨﻲ ﭘﺴﺮو ﺑﺮاي ﺣﻞ ﻣﻌﺎدﻻت‪،‬‬


‫‪⎧ x1 − 2 x 2 + 3 x3 = −2‬‬ ‫‪⎧ x3 = 1‬‬
‫⎪‬ ‫⎪‬
‫‪⎨3 x 2 − 3 x3 = −3‬‬ ‫→‬ ‫‪⎨ x2 = 3 (−3 + 3 x3 ) = 0‬‬
‫‪1‬‬

‫‪⎪x = 1‬‬ ‫‪⎪ x = −2 + 2 x − 3 x = −5‬‬


‫‪⎩ 3‬‬ ‫‪⎩ 1‬‬ ‫‪2‬‬ ‫‪3‬‬

‫□‬

‫‪ -1-1-3-2‬ﺣﺠﻢ ﻣﺤﺎﺳﺒﺎت ﺟﺒﺮي اﻟﮕﻮرﻳﺘﻢ ﺣﺬﻓﻲ ﮔﻮﺳﻲ‬


‫اﻟﮕﻮرﻳﺘﻢ ﺣﺬﻓﻲ ﮔﻮﺳﻲ را ﻣﻲ ﺗﻮان از ﻧﻈﺮ ﺗﻌﺪاد ﻣﺤﺎﺳﺒﺎت ﺟﺒﺮي ﻧﻴﺰ ﺑﺮرﺳﻲ ﻧﻤﻮد‪ .‬در ﺣﺎﻟﺖ‬
‫ﻛﻠﻲ ﺗﻌﺪاد ﻋﻤﻠﻴﺎت ﻻزم ﺑﺮاي ﻣﺤﺎﺳﺒﺎت ﺟﺒﺮي ﺑﺼﻮرت زﻳﺮ ﺑﺪﺳﺖ ﻣﻲ آﻳﺪ‪،‬‬

‫] ‪u + v = [u1 + v1 , u 2 + v2 ,K, u n + vn‬‬ ‫‪ -1‬ﺟﻤﻊ دو ﺑﺮدار ‪: n × 1‬‬


‫‪ -‬ﻧﻴﺎز ﺑﻪ اﻧﺠﺎم ‪ n‬ﻋﻤﻠﻴﺎت ﺟﻤﻊ ﺟﺒﺮي دارد‪،‬‬

‫] ‪au = [au1 , au 2 K, au n‬‬ ‫‪ -2‬ﺿﺮب ﻋﺪد اﺳﻜﺎﻟﺮ ‪ a‬در ﻳﻚ ﺑﺮدار ‪: n × 1‬‬


‫‪ -‬ﻧﻴﺎز ﺑﻪ اﻧﺠﺎم ‪ n‬ﻋﻤﻠﻴﺎت ﺿﺮب ﺟﺒﺮي دارد‪،‬‬
‫‪1‬‬
‫ﻫﺮ ﻳﻚ از اﻳﻦ ﻋﻤﻠﻴﺎت ﺟﺒﺮي )ﺟﻤﻊ‪ /‬ﺗﻔﺮﻳﻖ و ﺿﺮب‪ /‬ﺗﻘﺴﻴﻢ( را اﺻﻄﻼﺣﺎً ﻳﻚ ‪ flop‬ﻣﻲ ﻧﺎﻣﻨﺪ‪.‬‬

‫‪١‬‬
‫‪Floating-point operation‬‬

‫‪Applied Linear Algebra with MATLAB‬‬


‫‪S. Sedghizadeh, Systems and Control Dept., KNTU‬‬
‫‪101‬‬ ‫ﻓﺼﻞ دوم‪ :‬دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺟﺒﺮي ﺧﻄﻲ‬

‫‪n‬‬
‫‪u, v = u T v = u1v1 + u 2 v2 + L + u n vn = ∑ ui vi‬‬ ‫‪ -3‬ﺿﺮب داﺧﻠﻲ دو ﺑﺮدار ‪: n ×1‬‬
‫‪i =1‬‬

‫‪ -‬ﻣﻌﺎدل ﺑﺎ ‪ n‬ﻋﻤﻞ ﺿﺮب و ‪ n − 1‬ﻋﻤﻞ ﺟﻤﻊ ﻣﻲ ﺑﺎﺷﺪ‪ ،‬ﻟﺬا ﺗﻌﺪاد ﻛﻞ ﻋﻤﻠﻴﺎت ‪ 2n − 1‬ﺧﻮاﻫﺪ ﺑﻮد‪.‬‬

‫‪y m×1 = Am×n x n×1‬‬ ‫‪ -4‬ﺿﺮب ﺑﺮدار در ﻣﺎﺗﺮﻳﺲ‪:‬‬


‫‪ -‬اﻳﻦ ﺣﺎﻟﺖ را ﻣﻲ ﺗﻮان ﻣﻌﺎدل ﺑﺎ ﺿﺮب داﺧﻠﻲ ‪ m‬ﺑﺮدار ‪ n ×1‬در ﻧﻈﺮ ﮔﺮﻓﺖ‪ ،‬ﻟﺬا ﺗﻌﺪاد ﻛﻞ ﻋﻤﻠﻴﺎت‬
‫‪ (2n − 1)m‬اﺳﺖ‪.‬‬
‫‪ -‬ﺑﺮاي ﻣﺎﺗﺮﻳﺲ ﻫﺎﻳﻲ ﺑﺎ اﺑﻌﺎد ﺑﺰرگ ) ∞ → ‪ ( n‬ﻣﻲ ﺗﻮان ‪ 2nm‬ﻋﻤﻠﻴﺎت در ﻧﻈﺮ ﮔﺮﻓﺖ‪.‬‬
‫‪ -‬اﮔﺮ ‪ A‬ﻣﺎﺗﺮﻳﺲ ﻗﻄﺮي ﺑﺎﺷﺪ )‪ ، (m = n‬ﻣﺤﺎﺳﺒﺎت ‪ n‬ﻋﻤﻞ ﺿﺮب ﺧﻮاﻫﺪ ﺑﻮد‪.‬‬

‫‪Cm× p = Am×n Bn× p‬‬ ‫‪ -5‬ﺿﺮب ﻣﺎﺗﺮﻳﺲ در ﻣﺎﺗﺮﻳﺲ‪:‬‬


‫‪ -‬ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﺑﻨﺪ ‪ 4‬ﺗﻌﺪاد ﻣﺤﺎﺳﺒﺎت ﺟﺒﺮي ‪ (2n − 1)mp‬ﺑﺪﺳﺖ ﻣﻲ آﻳﺪ‪.‬‬
‫‪ -‬ﺑﺮاي ﻣﺎﺗﺮﻳﺲ ﻫﺎﻳﻲ ﺑﺎ اﺑﻌﺎد ﺑﺰرگ ) ∞ → ‪ ( n‬ﻣﻲ ﺗﻮان ‪ 2nmp‬ﻋﻤﻠﻴﺎت در ﻧﻈﺮ ﮔﺮﻓﺖ‪.‬‬

‫‪ - 6‬اﻟﮕﻮرﻳﺘﻢ ﺟﺎﻳﮕﺰﻳﻨﻲ ﭘﺴﺮو ﻳﺎ ﭘﻴﺸﺮو‪:‬‬


‫‪ -‬دﺳﺘﮕﺎه ﻣﻌﺎدﻻت زﻳﺮ را در ﺑﮕﻴﺮﻳﺪ‪،‬‬
‫‪⎡a11‬‬ ‫⎤ ‪a12 K a1n ⎤ ⎡ x1 ⎤ ⎡ b1‬‬
‫‪⎢0‬‬ ‫⎥⎥ ‪a22 K a2 n ⎥⎥ ⎢⎢ x2 ⎥⎥ ⎢⎢b2‬‬
‫⎢ → ‪Ax = b‬‬ ‫=‬
‫‪⎢ M‬‬ ‫⎥ ‪M O M ⎥⎢ M ⎥ ⎢ M‬‬
‫⎢‬ ‫⎥ ⎢ ⎥ ⎢⎥‬
‫‪⎣0‬‬ ‫⎦ ‪0 K ann ⎦ ⎣ xn ⎦ ⎣bn‬‬
‫اﻟﮕﻮرﻳﺘﻢ ﺟﺎﻳﮕﺰﻳﻨﻲ ﭘﺴﺮو ﺑﻪ ﻓﺮم زﻳﺮ اﺳﺖ‪،‬‬
‫‪xn = bn / ann‬‬
‫‪xn−1 = (bn−1 − an−1,n xn ) / an−1,n−1‬‬
‫‪xn−2 = (bn−2 − an−2,n−1 xn−1 − an−2,n xn ) / an−2,n−2‬‬
‫‪M‬‬ ‫‪M‬‬
‫‪x1 = (b1 − a12 x2 − a13 x3 − L − a1n xn ) / a11‬‬

‫ﺗﻌﺪاد ﻋﻤﻠﻴﺎت ﺟﺒﺮي ﻣﻮرد ﻧﻴﺎز ﺑﺮاي اﻧﺠﺎم اﻳﻦ اﻟﮕﻮرﻳﺘﻢ ﺑﺼﻮرت زﻳﺮ ﺑﺪﺳﺖ ﻣﻲ آﻳﺪ‪،‬‬
‫)‪n(n + 1‬‬
‫= ‪1+ 2 + 3 +L+ n‬‬ ‫ﻋﻤﻠﻴﺎت ﺿﺮب ﻳﺎ ﺗﻘﺴﻴﻢ →‬
‫‪2‬‬
‫)‪n(n + 1‬‬
‫= ‪0 +1 + 2 + L + n −1‬‬ ‫ﻋﻤﻠﻴﺎت ﺟﻤﻊ ﻳﺎ ﺗﻔﺮﻳﻖ → ‪− n‬‬
‫‪2‬‬
‫ﻟﺬا در ﻛﻞ ‪ n 2‬ﻋﻤﻠﻴﺎت ﺟﺒﺮي ﺧﻮاﻫﺪ ﺑﻮد‪.‬‬

‫‪Applied Linear Algebra with MATLAB‬‬


‫‪S. Sedghizadeh, Systems and Control Dept., KNTU‬‬
‫ﻓﺼﻞ دوم‪ :‬دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺟﺒﺮي ﺧﻄﻲ‬ ‫‪102‬‬

‫‪ -7‬اﻟﮕﻮرﻳﺘﻢ ﺣﺬﻓﻲ ﮔﻮﺳﻲ ﺑﺮاي دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ‪: n × n‬‬


‫‪n3‬‬ ‫‪n‬‬
‫‪+ n2 −‬‬ ‫ﻋﻤﻠﻴﺎت ﺿﺮب ﻳﺎ ﺗﻘﺴﻴﻢ →‬
‫‪3‬‬ ‫‪3‬‬
‫‪n 3 n 2 5n‬‬
‫‪+‬‬ ‫‪−‬‬ ‫ﻋﻤﻠﻴﺎت ﺟﻤﻊ ﻳﺎ ﺗﻔﺮﻳﻖ →‬
‫‪3‬‬ ‫‪2‬‬ ‫‪6‬‬
‫‪2n 3‬‬ ‫‪n3‬‬
‫در ﻧﻈﺮ ﮔﺮﻓﺖ‪.‬‬ ‫ﻋﻤﻠﻴﺎت و در ﻛﻞ‬ ‫‪ -‬ﺑﺮاي ) ∞ → ‪ ( n‬ﻣﻲ ﺗﻮان ﻫﺮ ﻳﻚ را‬
‫‪3‬‬ ‫‪3‬‬

‫ﻣﺜﺎل‪13-2‬‬
‫ﺑﻪ ﺣﺠﻢ ﻣﺤﺎﺳﺒﺎت ﺑﺮاي ﺣﻞ دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺑﺎ روش ﺣﺬﻓﻲ ﮔﻮﺳﻲ ﺗﻮﺟﻪ ﻧﻤﺎﻳﻴﺪ‪،‬‬
‫‪⎧ 33‬‬ ‫‪3‬‬
‫‪⎪⎪ + 3 − = 11‬‬
‫‪2‬‬

‫‪3‬‬ ‫‪3‬‬
‫‪3× 3‬‬ ‫→‬ ‫‪⎨ 3‬‬ ‫‪→ 16 flops‬‬
‫‪⎪3 + 3 − 5 × 3 = 5‬‬
‫‪2‬‬

‫‪⎩⎪ 3‬‬ ‫‪2‬‬ ‫‪6‬‬


‫ﻋﺒﺎرت ‪ flop1‬ﺑﺮاي ﺑﻴﺎن ﺗﻌﺪاد ﻋﻤﻠﻴﺎت ﺟﺒﺮي ﺑﻜﺎر ﻣﻲ رود‪.‬‬
‫‪⎧ 53‬‬ ‫‪5‬‬
‫‪⎪⎪ + 5 − = 65‬‬
‫‪2‬‬

‫‪3‬‬ ‫‪3‬‬
‫‪5×5‬‬ ‫→‬ ‫‪⎨ 3‬‬ ‫→‬ ‫‪115 flops‬‬
‫‪⎪ 5 + 5 − 5 × 5 = 50‬‬
‫‪2‬‬

‫‪⎪⎩ 3‬‬ ‫‪2‬‬ ‫‪6‬‬


‫□‬

‫در ﻧﺮم اﻓﺰار ‪ MATLAB‬از دﺳﺘﻮر ‪ flops‬ﻣﻲ ﺗﻮان ﺗﻌﺪاد ﻋﻤﻠﻴﺎت ﺟﺒﺮي اﻧﺠﺎم ﺷﺪه را‬
‫ﺑﺪﺳﺖ آورد‪ .‬اﻳﻦ دﺳﺘﻮر ﺑﺮاي ﻋﻤﻞ ﺟﻤﻊ ﻳﺎ ﺗﻔﺮﻳﻖ اﻋﺪاد ﺣﻘﻴﻘﻲ ‪ 1 flops‬و ﺑﺮاي اﻋﺪاد ﻣﺨﺘﻠﻂ‬
‫‪ 2 flops‬در ﻧﻈﺮ ﻣﻲ ﮔﻴﺮد‪ .‬در ﻣﻮرد ﻋﻤﻞ ﺿﺮب و ﺗﻘﺴﻴﻢ ﺑﺮاي اﻋﺪاد ﺣﻘﻴﻘﻲ ‪ 1 flops‬و ﺑﺮاي اﻋﺪاد‬
‫ﻣﺨﺘﻠﻂ ‪ 6 flops‬در ﻧﻈﺮ ﻣﻲ ﮔﻴﺮد‪ .‬دﺳﺘﻮر )‪ flops(0‬ﺷﻤﺎرش را از ﺻﻔﺮ آﻏﺎز ﻣﻲ ﻛﻨﺪ‪.‬‬

‫ﺑﻪ ﻧﻤﻮﻧﻪ ﻫﺎي زﻳﺮ ﺗﻮﺟﻪ ﻧﻤﺎﻳﻴﺪ‪،‬‬


‫;]‪u = [3;1;0;-5;9‬‬
‫;]‪v = [2;-1;3;4;8‬‬
‫;]‪A = [6 - 1;2 9;7 8‬‬
‫;]‪B = [3 8 5 6;8 - 1 - 9 6‬‬
‫;]‪C = [5 6 4 2 5;1 6 - 1 0 3‬‬

‫‪١‬‬
‫‪Floating point operations per second‬‬

‫‪Applied Linear Algebra with MATLAB‬‬


‫‪S. Sedghizadeh, Systems and Control Dept., KNTU‬‬
‫‪103‬‬ ‫ﻓﺼﻞ دوم‪ :‬دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺟﺒﺮي ﺧﻄﻲ‬

‫)‪flops(0‬‬
‫;‪u + v‬‬
‫‪nflops = flops‬‬
‫= ‪nflops‬‬
‫‪5‬‬
‫)‪flops(0‬‬
‫;‪u'*v‬‬
‫‪nflops = flops‬‬
‫= ‪nflops‬‬
‫‪10‬‬
‫)‪flops(0‬‬
‫;‪A * B‬‬
‫‪nflops = flops‬‬
‫= ‪nflops‬‬
‫‪48‬‬
‫)‪flops(0‬‬
‫;‪C * u‬‬
‫‪nflops = flops‬‬
‫= ‪nflops‬‬
‫‪20‬‬

‫‪ -2-1-3-2‬ﻓﺮم ﺳﻄﺮي ﭘﻠﻜﺎﻧﻲ‬


‫در ﻣﺜﺎل ﻫﺎي ﻗﺒﻞ ﺗﻌﺪاد ﻣﻌﺎدﻻت ﺑﺎ ﺗﻌﺪاد ﻣﺠﻬﻮﻻت ﻣﺴﺎوي در ﻧﻈﺮ ﮔﺮﻓﺘﻪ ﺷﺪه ﺑﻮد‪ ،‬ﺑﻪ‬
‫ﻋﺒﺎرﺗﻲ ‪ m = n‬و ﻣﺎﺗﺮﻳﺲ ‪ A‬ﻣﺮﺑﻌﻲ اﺳﺖ‪ .‬ﻟﻴﻜﻦ در ﺻﻮرﺗﻴﻜﻪ ﻣﺎﺗﺮﻳﺲ ‪ A‬ﻣﺮﺑﻌﻲ ﻧﺒﺎﺷﺪ‪ ،‬ﺳﻌﻲ ﻣﻲ ﺷﻮد‬
‫ﺗﺎ ﻣﺎﺗﺮﻳﺲ ‪ A‬ﺑﻪ ﻓﺮم ﺳﻄﺮي ﭘﻠﻜﺎﻧﻲ‪ 1‬زﻳﺮ ﺗﺒﺪﻳﻞ ﮔﺮدد‪،‬‬
‫‪⎡1‬‬ ‫*‬ ‫*‬ ‫*‬ ‫*‬ ‫*‬ ‫*‬ ‫⎤*‬
‫‪⎢0‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫*‬ ‫*‬ ‫*‬ ‫*‬ ‫⎥⎥*‬
‫⎢‬
‫‪⎢0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫*‬ ‫*‬ ‫*‬ ‫⎥*‬
‫⎢‬ ‫⎥‬ ‫)‪(5-2‬‬
‫‪⎢0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫⎥*‬
‫‪⎢0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫⎥‪0‬‬
‫⎢‬ ‫⎥‬
‫‪⎣⎢0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫⎥⎦‪0‬‬

‫‪١‬‬
‫‪Row Echelon Form‬‬

‫‪Applied Linear Algebra with MATLAB‬‬


‫‪S. Sedghizadeh, Systems and Control Dept., KNTU‬‬
‫ﻓﺼﻞ دوم‪ :‬دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺟﺒﺮي ﺧﻄﻲ‬ ‫‪104‬‬

‫ﻓﺮم ﺳﻄﺮي ﭘﻠﻜﺎﻧﻲ ﺧﺼﻮﺻﻴﺎت زﻳﺮ را داراﺳﺖ‪،‬‬


‫‪ -1‬ﺳﻄﺮﻫﺎﻳﻲ ﻛﻪ ﺗﻤﺎﻣﻲ ﻋﻨﺎﺻﺮ آﻧﻬﺎ ﺻﻔﺮ اﺳﺖ در ﺑﺨﺶ ﭘﺎﻳﻴﻦ ﻣﺎﺗﺮﻳﺲ ﻗﺮار ﻣﻲ ﮔﻴﺮﻧﺪ‪.‬‬
‫‪ -2‬در ﺳﻄﺮﻫﺎﻳﻲ ﻛﻪ ﺷﺎﻣﻞ ﻋﻨﺎﺻﺮ ﻏﻴﺮ ﺻﻔﺮ ﻫﺴﺘﻨﺪ‪ ،‬اوﻟﻴﻦ ﻋﻨﺼﺮ ﻏﻴﺮ ﺻﻔﺮ در ﺳﻤﺖ ﭼﭗ ﺳﻄﺮ‪ ،‬ﻋﺪد ﻳﻚ‬
‫ﻣﻲ ﺑﺎﺷﺪ‪ ،‬ﻛﻪ ﺑﻪ آن‪ ،‬ﻋﻨﺼﺮ ﻣﺤﻮري‪ 1‬ﮔﻔﺘﻪ ﻣﻲ ﺷﻮد‪.‬‬

‫ﻓﺮاﻳﻨﺪ ﺗﺒﺪﻳﻞ ﻣﺎﺗﺮﻳﺲ ﺿﺮاﻳﺐ ‪ m × n‬ﺑﻪ ﻓﺮم ﺳﻄﺮي ﭘﻠﻜﺎﻧﻲ را ﻣﻲ ﺗﻮان ﺑﺼﻮرت زﻳﺮ ﺧﻼﺻﻪ ﻛﺮد‪،‬‬
‫ﮔﺎم اول‪ -‬در ﺻﻮرﺗﻴﻜﻪ ﺿﺮﻳﺐ ‪ x1‬در ﻣﻌﺎدﻟﻪ اول ﻳﻚ ﻧﺒﺎﺷﺪ‪،‬‬
‫‪1‬‬
‫‪r1 → r1‬‬
‫‪a11‬‬
‫ﺣﺬف ﻣﺠﻬﻮل ‪ x1‬از ﻣﻌﺎدﻻت دوم ﺗﺎ ‪ m‬ام‪،‬‬
‫‪− ai1r1 + ri → ri‬‬ ‫‪, i = 2,K, m‬‬
‫ﮔﺎم دوم‪ -‬در ﺻﻮرﺗﻴﻜﻪ ﺿﺮﻳﺐ ‪ x2‬در ﻣﻌﺎدﻟﻪ دوم ﻳﻚ ﻧﺒﺎﺷﺪ‪،‬‬
‫‪1‬‬
‫‪r2 → r2‬‬
‫‪a22‬‬
‫ﺣﺬف ﻣﺠﻬﻮل ‪ x2‬از ﻣﻌﺎدﻻت ﺳﻮم ﺗﺎ ‪ m‬ام‪،‬‬
‫‪− ai 2 r2 + ri → ri‬‬ ‫‪, i = 3,K, m‬‬
‫ﮔﺎم ﺳﻮم‪ -‬ﺑﻪ ﻫﻤﻴﻦ ﺗﺮﺗﻴﺐ ﺗﺎ ﮔﺎم ‪ m − 1‬اداﻣﻪ ﻣﻲ دﻫﻴﻢ‪.‬‬

‫ﻣﺜﺎل‪14-2‬‬
‫دﺳﺘﮕﺎه ﻣﻌﺎدﻻت زﻳﺮ را در ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ‪،‬‬
‫‪⎧ x1 + 3 x2 + x3 + 5 x4 + x5 = 5‬‬
‫⎪‬
‫‪⎨ x 2 + x3 + 2 x 4 + x5 = 4‬‬
‫‪⎪2 x + 4 x + 7 x + x = 3‬‬
‫‪⎩ 1‬‬ ‫‪2‬‬ ‫‪4‬‬ ‫‪5‬‬

‫ﻓﺮم ﻣﺎﺗﺮﻳﺲ اﻓﺰوده اﻳﻦ ﻣﻌﺎدﻻت ﺑﺼﻮرت زﻳﺮ ﻣﻲ ﺑﺎﺷﺪ‪،‬‬


‫⎤ ‪⎡ x1‬‬
‫⎥⎥ ‪⎡1 3 1 5 1 5⎤ ⎢⎢ x2‬‬
‫⎢‬ ‫⎥‬
‫⎥⎥ ‪⎢0 1 1 2 1 4⎥ ⎢⎢ x3‬‬
‫‪⎢⎣2 4 0 7 1 3⎥⎦ x4‬‬
‫⎥ ⎢‬
‫⎦⎥ ‪⎢⎣ x5‬‬

‫‪١‬‬
‫‪Pivot Entry‬‬

‫‪Applied Linear Algebra with MATLAB‬‬


‫‪S. Sedghizadeh, Systems and Control Dept., KNTU‬‬
‫‪105‬‬ ‫ﻓﺼﻞ دوم‪ :‬دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺟﺒﺮي ﺧﻄﻲ‬

‫)‪ (1‬از آﻧﺠﺎﻳﻴﻜﻪ ﺿﺮﻳﺐ ‪ x1‬در ﺳﻄﺮ اول ﻳﻚ و در ﺳﻄﺮ دوم ﺻﻔﺮ ﻣﻲ ﺑﺎﺷﺪ‪ ،‬ﻟﺬا ‪ x1‬را از ﺳﻄﺮ ﺳﻮم ﺣﺬف‬
‫ﻧﻤﺎﻳﻴﻢ‪،‬‬
‫⎤ ‪⎡ x1‬‬
‫‪⎡1 3‬‬ ‫‪1‬‬ ‫‪5‬‬ ‫⎥⎥ ‪1 5 ⎤ ⎢⎢ x2‬‬
‫⎢‬ ‫⎥‬
‫‪− 2r1 + r3 → r3‬‬ ‫⇒‬ ‫‪⎢0 1‬‬ ‫‪1‬‬ ‫‪2‬‬ ‫⎥ ‪1 4 ⎥ ⎢ x3‬‬
‫‪⎢⎣0 − 2 − 2 − 3‬‬ ‫⎥ ⎢‬
‫⎥ ‪− 1 − 7 ⎥⎦ ⎢ x4‬‬
‫⎦⎥ ‪⎢⎣ x5‬‬
‫در ﺳﻄﺮ دوم ﻳﻚ اﺳﺖ‪ ،‬ﻟﺬا ‪ x2‬را از ﺳﻄﺮ ﺳﻮم ﺣﺬف ﻣﻲ ﻧﻤﺎﻳﻴﻢ‪،‬‬ ‫)‪ (2‬ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ اﻳﻨﻜﻪ ﺿﺮﻳﺐ ‪x2‬‬
‫⎤ ‪⎡ x1‬‬
‫⎥ ‪⎡1 3 1 5 1 5 ⎤ ⎢ x 2‬‬
‫⎢‬ ‫⎥⎥ ⎢ ⎥‬
‫‪2r2 + r3 → r3‬‬ ‫⇒‬ ‫⎢‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪2‬‬ ‫‪1‬‬ ‫‪4‬‬ ‫‪⎥ ⎢ x3‬‬
‫⎥⎥ ‪⎢⎣0 0 0 1 1 1 ⎥⎦ ⎢⎢ x4‬‬
‫⎦⎥ ‪⎢⎣ x5‬‬
‫)‪ (3‬از آﻧﺠﺎﻳﻴﻜﻪ در ﺳﻄﺮ ﺳﻮم‪ ،‬اوﻟﻴﻦ ﻋﺪد ﻏﻴﺮ ﺻﻔﺮ از ﺳﻤﺖ ﭼﭗ ﻳﻚ ﻣﻲ ﺑﺎﺷﺪ‪ ،‬ﻟﺬا اﻟﮕﻮرﻳﺘﻢ ﭘﺎﻳﺎن ﻳﺎﻓﺘﻪ‬
‫اﺳﺖ و ﻓﺮم ﺳﻄﺮي ﭘﻠﻜﺎﻧﻲ ﺑﺼﻮرت زﻳﺮ ﺑﺪﺳﺖ ﻣﻲ آﻳﺪ‪،‬‬
‫⎤ ‪⎡ x1‬‬
‫⎥ ‪⎡1 3 1 5 1 5⎤ ⎢ x2‬‬
‫⎢‬ ‫⎥ ⎢⎥‬
‫⎢‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪2‬‬ ‫‪1‬‬ ‫‪4‬‬ ‫⎥ ‪⎥ ⎢ x3‬‬
‫⎥ ‪⎢⎣0 0 0 1 1 1⎥⎦ ⎢ x4‬‬
‫⎥ ⎢‬
‫⎦⎥ ‪⎢⎣ x5‬‬
‫ﺑﻨﺎﺑﺮاﻳﻦ‪ ،‬دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﻣﻌﺎدل ﺑﺼﻮرت زﻳﺮ در ﺧﻮاﻫﺪ آﻣﺪ‪،‬‬
‫‪x1 + 3x2 + x3 + 5 x4 + x5 = 5‬‬
‫‪x2 + x3 + 2 x4 + x5 = 4‬‬
‫‪x4 + x5 = 1‬‬
‫از آﻧﺠﺎﺋﻴﻜﻪ ﺗﻌﺪاد ﻣﺠﻬﻮﻻت ﺑﻴﺸﺘﺮ از ﺗﻌﺪاد ﻣﻌﺎدﻻت ﻣﻲ ﺑﺎﺷﻨﺪ‪ ،‬ﻣﻲ ﺗﻮان ﺑﺮﺧﻲ از ﻣﺠﻬﻮﻻت را ﺑﺮﺣﺴﺐ‬
‫دﻳﮕﺮي ﺑﺪﺳﺖ آورد‪،‬‬
‫‪x1 = −6 + x5 + 2 x3 , x2 = 2 + x5 − x3 , x4 = 1 − x5‬‬
‫ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ اﻳﻦ ﺟﻮاﺑﻬﺎ‪ ،‬ﻣﺘﻐﻴﺮﻫﺎي ‪ x1 , x2 , x4‬ﻣﺴﺘﻘﻞ ﻧﺒﻮده و واﺑﺴﺘﻪ ﺑﻪ ﻣﻘﺪار ‪ x3‬و ‪ x5‬ﻫﺴﺘﻨﺪ‪ ،‬ﺑﻪ ‪x3‬‬
‫و ‪ x5‬ﻣﺘﻐﻴﺮﻫﺎي آزاد‪ 1‬ﻧﻴﺰ ﮔﻔﺘﻪ ﻣﻲ ﺷﻮد‪ .‬ﺑﺎ ﻛﻤﻲ دﻗﺖ ﻣﻲ ﺗﻮان درﻳﺎﻓﺖ ﻛﻪ ﻣﺘﻐﻴﺮﻫﺎي ‪x1 , x2 , x4‬‬
‫ﻣﺮﺑﻮط ﺑﻪ ﺳﺘﻮن ﻫﺎﻳﻲ ﻫﺴﺘﻨﺪ ﻛﻪ ﻋﻨﺎﺻﺮ ﻣﺤﻮري در آﻧﻬﺎ ﻗﺮار دارﻧﺪ‪.‬‬
‫□‬

‫‪١‬‬
‫‪Free variables‬‬

‫‪Applied Linear Algebra with MATLAB‬‬


‫‪S. Sedghizadeh, Systems and Control Dept., KNTU‬‬
‫ﻓﺼﻞ دوم‪ :‬دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺟﺒﺮي ﺧﻄﻲ‬ ‫‪106‬‬

‫ﻣﺜﺎل‪15-2‬‬
‫دﺳﺘﮕﺎه ﻣﻌﺎدﻻت زﻳﺮ را در ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ‪،‬‬
‫‪⎧7 x1 + 2 x2 − 2 x3 − 4 x4 + 3x5 = 8‬‬
‫⎪‬
‫‪⎨− 3x1 − 3x2 + 2 x4 + x5 = −1‬‬
‫‪⎪4 x − x − 8 x + 20 x = 1‬‬
‫‪⎩ 1 2‬‬ ‫‪3‬‬ ‫‪5‬‬

‫ﻓﺮم ﻣﺎﺗﺮﻳﺲ اﻓﺰوده اﻳﻦ ﻣﻌﺎدﻻت ﺑﺼﻮرت زﻳﺮ ﻣﻲ ﺑﺎﺷﺪ‪،‬‬


‫‪⎡7‬‬ ‫⎤ ‪2 −2 −4 3 8‬‬
‫] ‪[A b‬‬ ‫→‬
‫⎢‬
‫‪⎢− 3 − 3 0‬‬ ‫‪2‬‬ ‫⎥‪1 − 1‬‬
‫⎥‬
‫⎦⎥ ‪⎢⎣ 4 − 1 − 8 0 20 1‬‬

‫ﮔﺎم اول‪ -‬اﺑﺘﺪا ﺿﺮﻳﺐ ‪ x1‬را در ﻣﻌﺎدﻟﻪ اول ﺑﻪ ﻳﻚ ﺗﺒﺪﻳﻞ ﻣﻲ ﻛﻨﻴﻢ‪،‬‬


‫⎤ ‪⎡ x1‬‬
‫‪⎡1‬‬ ‫‪2‬‬ ‫‪−2‬‬ ‫‪−4‬‬ ‫‪3‬‬
‫⎥ ‪⎤ ⎢ x2‬‬
‫‪8‬‬

‫⎥ ⎢⎥‬
‫‪7‬‬ ‫‪7‬‬ ‫‪7‬‬ ‫‪7‬‬ ‫‪7‬‬
‫‪1‬‬ ‫⎢‬
‫‪r1 → r1‬‬ ‫⇒‬ ‫‪⎢− 3 − 3 0‬‬ ‫‪2‬‬ ‫⎥ ‪1 − 1⎥ ⎢ x3‬‬
‫‪7‬‬ ‫⎥ ⎢‬
‫‪⎢ 4 −1 − 8‬‬ ‫‪0‬‬ ‫⎥ ‪20 1 ⎥⎦ ⎢ x 4‬‬
‫⎣‬
‫⎦⎥ ‪⎢⎣ x5‬‬

‫ﺣﺬف ﻣﺠﻬﻮل ‪ x1‬از ﻣﻌﺎدﻻت دوم و ﺳﻮم‪،‬‬


‫⎤ ‪⎡ x1‬‬
‫‪⎡1‬‬ ‫‪2‬‬ ‫‪−2‬‬ ‫‪−4‬‬ ‫‪3‬‬ ‫‪8‬‬
‫⎥ ‪⎤ ⎢ x2‬‬
‫⎫ ‪3r1 + r2 → r2‬‬ ‫⎥ ⎢⎥‬
‫‪7‬‬ ‫‪7‬‬ ‫‪7‬‬ ‫‪7‬‬ ‫‪7‬‬
‫⎢‬
‫⇒‬ ‫⎥ ‪⎥ ⎢ x3‬‬
‫‪−15‬‬ ‫‪−6‬‬
‫‪⎢0‬‬
‫‪2‬‬ ‫‪16 17‬‬
‫⎬‬
‫⎭ ‪− 4r1 + r3 → r3‬‬ ‫‪7‬‬ ‫‪7‬‬ ‫‪7‬‬ ‫‪7‬‬ ‫‪7‬‬
‫‪⎢0‬‬ ‫‪−15‬‬ ‫‪− 48‬‬ ‫‪16‬‬ ‫‪128 − 25‬‬ ‫⎥ ‪⎥ ⎢ x4‬‬
‫⎣‬ ‫‪7‬‬ ‫‪7‬‬ ‫‪7‬‬ ‫‪7‬‬ ‫‪7‬‬ ‫⎥ ⎢⎦‬
‫⎦⎥ ‪⎢⎣ x5‬‬

‫ﮔﺎم دوم‪ -‬از آﻧﺠﺎﻳﻴﻜﻪ ﺿﺮﻳﺐ ‪ x2‬در ﻣﻌﺎدﻟﻪ دوم ﻳﻚ ﻧﻴﺴﺖ دارﻳﻢ‪،‬‬
‫⎤ ‪⎡ x1‬‬
‫‪⎡1‬‬ ‫‪2‬‬ ‫‪−2‬‬ ‫‪−4‬‬ ‫‪3‬‬ ‫‪8‬‬
‫⎥ ‪⎤ ⎢ x2‬‬
‫⎥ ⎢⎥‬
‫‪7‬‬ ‫‪7‬‬ ‫‪7‬‬ ‫‪7‬‬ ‫‪7‬‬
‫‪−7‬‬ ‫⎢‬
‫‪r2 → r2‬‬ ‫⇒‬ ‫⎥ ‪⎥ ⎢ x3‬‬
‫‪−2‬‬ ‫‪−16 −17‬‬
‫‪⎢0‬‬ ‫‪1‬‬ ‫‪6‬‬
‫‪15‬‬ ‫‪15‬‬ ‫‪15 15‬‬
‫‪15‬‬
‫‪⎢0‬‬ ‫‪−15‬‬ ‫‪− 48‬‬ ‫‪16‬‬ ‫‪128 − 25‬‬‫⎥ ‪⎥ ⎢ x4‬‬
‫⎣‬ ‫‪7‬‬ ‫‪7‬‬ ‫‪7‬‬ ‫‪7‬‬ ‫‪7‬‬ ‫⎥ ⎢⎦‬
‫⎦⎥ ‪⎢⎣ x5‬‬
‫ﺣﺬف ﻣﺠﻬﻮل ‪ x2‬از ﻣﻌﺎدﻟﻪ ﺳﻮم‪،‬‬

‫‪Applied Linear Algebra with MATLAB‬‬


‫‪S. Sedghizadeh, Systems and Control Dept., KNTU‬‬
‫‪107‬‬ ‫ﻓﺼﻞ دوم‪ :‬دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺟﺒﺮي ﺧﻄﻲ‬

‫⎤ ‪⎡ x1‬‬
‫‪⎡1‬‬ ‫‪2‬‬ ‫‪−2‬‬ ‫‪−4‬‬
‫⎥ ‪⎤ ⎢ x2‬‬
‫‪3‬‬ ‫‪8‬‬

‫⎥ ⎢⎥‬
‫‪7‬‬ ‫‪7‬‬ ‫‪7‬‬ ‫‪7‬‬ ‫‪7‬‬
‫‪15‬‬ ‫⎢‬
‫‪r2 + r3 → r3‬‬ ‫⇒‬ ‫⎥ ‪⎥ ⎢ x3‬‬
‫‪−2‬‬ ‫‪−16 −17‬‬
‫⎢‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪6‬‬
‫‪15‬‬ ‫‪15‬‬ ‫‪15 15‬‬
‫‪7‬‬
‫⎥ ‪⎢0 0 − 6 2 16 − 6⎥ ⎢ x4‬‬
‫⎣‬ ‫⎥ ⎢⎦‬
‫⎦⎥ ‪⎢⎣ x5‬‬
‫ﮔﺎم ﺳﻮم‪ -‬ﺿﺮﻳﺐ ‪ x3‬را در ﻣﻌﺎدﻟﻪ ﺳﻮم ﺑﻪ ﻳﻚ ﺗﺒﺪﻳﻞ ﻣﻲ ﻛﻨﻴﻢ‪،‬‬
‫⎤ ‪⎡ x1‬‬
‫⎢ ‪8‬‬
‫‪⎡1 72‬‬ ‫‪−2‬‬
‫‪7‬‬
‫‪−4‬‬
‫‪7‬‬
‫‪3‬‬
‫‪7‬‬
‫⎥ ⎤‬
‫⎥ ‪7 ⎢ x2‬‬
‫‪−1‬‬ ‫⎢‬ ‫⎥ ‪−17‬‬
‫‪r3 → r3‬‬ ‫⇒‬ ‫‪⎢0 1‬‬
‫‪6‬‬
‫‪15‬‬
‫‪−2‬‬
‫‪15‬‬
‫‪−16‬‬
‫‪15‬‬
‫⎥ ⎢‬
‫‪15 ⎥ x3‬‬
‫‪6‬‬ ‫⎥ ⎢‬
‫‪⎢0 0‬‬ ‫‪1‬‬ ‫‪−1‬‬ ‫‪−8‬‬
‫⎥ ‪1 ⎥⎦ ⎢ x4‬‬
‫⎣‬ ‫‪3‬‬ ‫‪3‬‬
‫⎦⎥ ‪⎢⎣ x5‬‬

‫ﮔﺎم ﭼﻬﺎرم‪ -‬ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ اﻳﻨﻜﻪ ‪ x4‬و ‪ x5‬ﻣﺘﻐﻴﺮﻫﺎي آزاد ﻫﺴﺘﻨﺪ‪ ،‬دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺣﺎﺻﻞ را ﺣﻞ‬
‫ﻣﻲ ﻛﻨﻴﻢ‪،‬‬
‫‪2‬‬ ‫‪2‬‬ ‫‪4‬‬ ‫‪3‬‬ ‫‪8‬‬ ‫⎫‬ ‫⎧‬ ‫‪28 2‬‬ ‫‪1‬‬
‫‪x1 +‬‬ ‫= ‪x 2 − x3 − x 4 + x 5‬‬ ‫⎪‬ ‫⎪‬ ‫‪x‬‬‫‪1‬‬ ‫=‬ ‫‪+‬‬ ‫‪x‬‬ ‫‪4‬‬ ‫‪+‬‬ ‫‪x5‬‬
‫‪7‬‬ ‫‪7‬‬ ‫‪7‬‬ ‫‪7‬‬ ‫‪7‬‬ ‫‪15 3‬‬ ‫‪3‬‬
‫⎪‬ ‫⎪‬
‫‪6‬‬ ‫‪2‬‬ ‫‪16‬‬ ‫⎪ ‪− 17‬‬ ‫⎪‬ ‫‪− 23‬‬
‫= ‪x 2 + x3 − x 4 − x5‬‬ ‫⎬‬ ‫→‬ ‫= ‪⎨ x2‬‬
‫‪15‬‬ ‫‪15‬‬ ‫‪15‬‬ ‫⎪ ‪15‬‬ ‫⎪‬ ‫‪15‬‬
‫‪1‬‬ ‫‪8‬‬ ‫⎪‬ ‫⎪‬ ‫‪1‬‬ ‫‪8‬‬
‫⎪ ‪x3 − x 4 − x5 = 1‬‬ ‫‪⎪ x3 = 1 + 3 x 4 + 3 x5‬‬
‫‪3‬‬ ‫‪3‬‬ ‫⎭‬ ‫⎩‬
‫اﻳﻦ دﺳﺘﮕﺎه ﺑﻴﺸﻤﺎر ﺟﻮاب دارد‪.‬‬
‫□‬

‫ﻣﺜﺎل‪16-2‬‬
‫ﻣﻌﺎدﻟﻪ ﺷﻴﻤﻴﺎﻳﻲ اﻛﺴﻴﺪاﺳﻴﻮن آﻣﻮﻧﻴﺎك را در ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ‪،‬‬
‫‪( x1 ) NH 3 + ( x2 )O2 → ( x3 ) NO + ( x4 ) H 2O‬‬
‫ﻛﻪ ﻣﺤﺼﻮل ﻧﻬﺎﻳﻲ آن ﻣﻨﻮاﻛﺴﻴﺪ ﻧﻴﺘﺮوژن و آب ﻣﻲ ﺑﺎﺷﺪ‪ .‬ﻫﺪف ﻳﺎﻓﺘﻦ ﻛﻤﺘﺮﻳﻦ ﻣﻘﺎدﻳﺮ ﺻﺤﻴﺢ ﻣﺜﺒﺖ‬
‫ﺑﺮاي ‪ x3 ، x2 ، x1‬و ‪ x4‬ﻣﻲ ﺑﺎﺷﺪ ﺑﻄﻮرﻳﻜﻪ ﺗﻌﺎدل در ﻣﻌﺎدﻟﻪ ﺷﻴﻤﻴﺎﻳﻲ ﺑﺎﻻ ﺑﺮﻗﺮار ﮔﺮدد‪ .‬ﺑﺮاي اﻳﻦ ﻣﻨﻈﻮر‬
‫ﺗﻌﺪاد اﺗﻤﻬﺎي ﻫﺮ ﻳﻚ از ﻋﻨﺎﺻﺮ را در ﻃﺮﻓﻴﻦ ﻣﻌﺎدﻟﻪ ﺷﻴﻤﻴﺎﻳﻲ در ﻧﻈﺮ ﻣﻲ ﮔﻴﺮﻳﻢ‪،‬‬
‫‪N : x1 = x3‬‬
‫‪H : 3x1 = 2 x4‬‬
‫‪O : 2 x2 = x3 + x4‬‬
‫در ﻧﺘﻴﺠﻪ ﻳﻚ دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﻫﻤﮕﻦ ﺑﺎ ﺳﻪ ﻣﻌﺎدﻟﻪ و ﭼﻬﺎر ﻣﺠﻬﻮل ﺑﺸﻜﻞ زﻳﺮ ﺑﺪﺳﺖ ﻣﻲ آﻳﺪ‪،‬‬

‫‪Applied Linear Algebra with MATLAB‬‬


‫‪S. Sedghizadeh, Systems and Control Dept., KNTU‬‬
‫ﻓﺼﻞ دوم‪ :‬دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺟﺒﺮي ﺧﻄﻲ‬ ‫‪108‬‬

‫‪x1 − x 3 = 0‬‬
‫‪3x1 − 2 x4 = 0‬‬
‫‪2 x2 − x3 − x4 = 0‬‬
‫ﺑﺮاي اﻳﻦ دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺧﻄﻲ ﻣﺎﺗﺮﻳﺲ اﻓﺰوده زﻳﺮ ﻗﺎﺑﻞ ﻧﻮﺷﺘﻦ اﺳﺖ‪،‬‬
‫⎤ ‪⎡x‬‬
‫⎥ ‪⎡1 0 − 1 0 0 ⎤ ⎢ 1‬‬
‫⎢‬ ‫⎥ ‪⎥ ⎢ x2‬‬
‫⎢‬ ‫‪3‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪−‬‬ ‫‪2‬‬ ‫‪0‬‬ ‫⎥ ‪⎥⎢ x‬‬
‫⎥ ‪⎢⎣0 2 − 1 − 1 0⎥⎦ ⎢ 3‬‬
‫⎦ ‪⎣ x4‬‬
‫ﺑﺎ اﻋﻤﺎل روش ﺳﻄﺮي ﭘﻠﻜﺎﻧﻲ ﻣﻌﺎدﻻت ﺑﻪ ﺷﻜﻞ زﻳﺮ در ﻣﻲ آﻳﺪ‪،‬‬
‫⎤ ‪⎡x‬‬ ‫⎤ ‪⎡x‬‬
‫⎥ ‪⎡1 0 − 1 0 0⎤ ⎢ 1‬‬ ‫⎥ ‪⎡1 0 − 1 0 0⎤ ⎢ 1‬‬
‫⎢‬ ‫⎥ ‪⎥ ⎢ x2‬‬ ‫⎢‬ ‫⎥ ‪−1 ⎥ ⎢ 2‬‬
‫‪x‬‬
‫⎢‬ ‫‪0‬‬ ‫‪2‬‬ ‫‪−‬‬ ‫‪1‬‬ ‫‪−‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫⎥ ‪⎥⎢x‬‬ ‫→‬ ‫⎢‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪−1‬‬
‫‪2‬‬ ‫‪2‬‬ ‫‪0‬‬ ‫⎥ ‪⎥⎢x‬‬
‫⎥ ‪⎢⎣0 0 3 − 2 0⎥⎦ ⎢ 3‬‬ ‫⎥ ‪⎢⎣0 0 1 −32 0⎥⎦ ⎢ 3‬‬
‫⎦ ‪⎣ x4‬‬ ‫⎦ ‪⎣ x4‬‬
‫ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﻣﺤﻞ ﻗﺮار ﮔﺮﻓﺘﻦ ﻋﻨﺎﺻﺮ ﻣﺤﻮري ﻣﻲ ﺗﻮان ﮔﻔﺖ ﻛﻪ ‪ x2 ، x1‬و ‪ x3‬ﻣﺘﻐﻴﺮﻫﺎي واﺑﺴﺘﻪ و ‪x4‬‬
‫ﻣﺘﻐﻴﺮ آزاد ﻣﻲ ﺑﺎﺷﺪ‪ .‬ﺑﻪ اﻳﻦ ﺗﺮﺗﻴﺐ ﻣﺠﻤﻮﻋﻪ ﺟﻮاب ﺑﻪ ﺷﻜﻞ زﻳﺮ ﺑﺪﺳﺖ ﻣﻲ آﻳﺪ‪،‬‬
‫‪2‬‬ ‫‪5‬‬ ‫‪2‬‬
‫‪x1 = x 4 ,‬‬ ‫‪x2 = x4 ,‬‬ ‫‪x3 = x 4‬‬
‫‪3‬‬ ‫‪6‬‬ ‫‪3‬‬
‫ﺑﻨﺎﺑﺮاﻳﻦ ﺑﺎ اﻧﺘﺨﺎب ‪ x4 = 6‬ﻛﻤﺘﺮﻳﻦ ﻣﻘﺎدﻳﺮ ﺻﺤﻴﺢ ﻣﺜﺒﺖ ﺑﺮاي ‪ x3 ، x2 ، x1‬و ‪ x4‬ﺑﺪﺳﺖ ﻣﻲ آﻳﺪ‪،‬‬
‫)‪( x1 , x2 , x3 , x4 ) = (4,5,4,6‬‬
‫ﻧﻬﺎﻳﺘﺎً ﻣﻌﺎدﻟﻪ ﺷﻴﻤﻴﺎﻳﻲ ﺑﻪ ﺷﻜﻞ زﻳﺮ ﺧﻮاﻫﺪ ﺑﻮد‪،‬‬
‫‪4 NH 3 + 5O2 → 4 NO + 6 H 2O‬‬
‫□‬

‫‪ -2-3-2‬روش ﮔﻮس‪ -‬ﺟﺮدن‬


‫در روش ﮔﻮس ‪ -‬ﺟﺮدن ﺳﻌﻲ ﺑﺮ آن اﺳﺖ ﺗﺎ ﻋﻤﻠﻴﺎت اﻧﺠﺎم ﺷﺪه ﺑﺮ روي ﻣﺎﺗﺮﻳﺲ اﻓﺰورده ﭼﻨﺎن‬
‫ﺑﺎﺷﺪ ﻛﻪ ﻣﺎﺗﺮﻳﺲ ‪ A‬ﺗﺒﺪﻳﻞ ﺑﻪ ﻳﻚ ﻣﺎﺗﺮﻳﺲ ﻗﻄﺮي ﺑﺎ ﻋﻨﺎﺻﺮ ﻗﻄﺮ اﺻﻠﻲ ﻳﻚ ﮔﺮدد‪ .‬ﺑﻪ ﻋﺒﺎرﺗﻲ ﻣﺎﺗﺮﻳﺲ‬
‫اﻓﺰوده در ﺣﺎﻟﺖ ‪ m = n‬ﺑﻪ ﻓﺮم زﻳﺮ ﺗﺒﺪﻳﻞ ﻣﻲ ﮔﺮدد‪،‬‬
‫‪⎛1‬‬ ‫⎞ ‪0 K 0 b1′‬‬
‫⎜‬ ‫⎟‬
‫‪⎜0‬‬ ‫⎟ ‪1 K 0 b2′‬‬
‫‪⎜M‬‬ ‫⎟⎟ ‪M O M M‬‬
‫)‪(6-2‬‬
‫⎜‬
‫‪⎜0‬‬ ‫⎠⎟ ‪0 K 1 bn′‬‬
‫⎝‬
‫اﻟﮕﻮرﻳﺘﻢ ﻛﻠﻲ را ﺑﺼﻮرت زﻳﺮ ﻣﻲ ﺗﻮان ﺑﻴﺎن ﻛﺮد‪،‬‬

‫‪Applied Linear Algebra with MATLAB‬‬


‫‪S. Sedghizadeh, Systems and Control Dept., KNTU‬‬
‫‪109‬‬ ‫ﻓﺼﻞ دوم‪ :‬دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺟﺒﺮي ﺧﻄﻲ‬

‫ﮔﺎم اول‪ -‬ﺣﺬف ﻣﺠﻬﻮل ‪ x1‬از ﺗﻤﺎﻣﻲ ﻣﻌﺎدﻻت ﺑﻪ ﺟﺰ ﻣﻌﺎدﻟﻪ اول‪،‬‬


‫‪− ai1‬‬
‫‪r1 + ri → ri‬‬ ‫‪, i = 2,K, n‬‬
‫‪a11‬‬
‫ﮔﺎم دوم‪ -‬ﺣﺬف ﻣﺠﻬﻮل ‪ x2‬از ﺗﻤﺎﻣﻲ ﻣﻌﺎدﻻت ﺑﻪ ﺟﺰ ﻣﻌﺎدﻟﻪ دوم‪،‬‬
‫‪− ai 2‬‬
‫‪r2 + ri → ri‬‬ ‫‪,‬‬ ‫‪i = 1,K, n , i ≠ 2‬‬
‫‪a22‬‬
‫ﮔﺎم ﺳﻮم‪ -‬ﺑﻪ ﻫﻤﻴﻦ ﺗﺮﺗﻴﺐ ﺗﺎ ﮔﺎم ‪ n − 1‬اداﻣﻪ ﻣﻲ دﻫﻴﻢ‪.‬‬

‫ﮔﺎم ﭼﻬﺎرم‪ -‬ﺗﺒﺪﻳﻞ ﻋﻨﺎﺻﺮ ﻗﻄﺮي ﺑﻪ ﻳﻚ‪،‬‬


‫‪1‬‬
‫‪ri → ri‬‬ ‫‪, i = 1,K, n‬‬
‫‪aii‬‬
‫ﻫﻤﺎﻧﻨﺪ آﻧﭽﻪ ﻛﻪ در اﻋﻤﺎل روش ﺣﺬﻓﻲ ﮔﻮﺳﻲ ﮔﻔﺘﻪ ﺷﺪ‪ ،‬در روش ﮔﻮس‪ -‬ﺟﺮدن ﻧﻴﺰ اﮔﺮ ﻳﻜﻲ از ﻋﻨﺎﺻﺮ‬
‫ﻗﻄﺮي ﺑﻪ ﻋﺪد ﺻﻔﺮ ﺗﺒﺪﻳﻞ ﮔﺮدد ﻧﻴﺎز ﺑﻪ ﻋﻤﻞ ﻣﺤﻮرﮔﻴﺮي ﺧﻮاﻫﺪ ﺑﻮد‪ .‬در اﻳﻦ روش ﻧﺴﺒﺖ ﺑﻪ روش‬
‫ﺣﺬﻓﻲ ﮔﻮﺳﻲ ﺣﺠﻢ ﻣﺤﺎﺳﺒﺎت اﻟﮕﻮرﻳﺘﻢ ﺑﻴﺸﺘﺮ اﺳﺖ‪ ،‬ﻟﻴﻜﻦ در ﭘﺎﻳﺎن ﻧﻴﺎزي ﺑﻪ اﺟﺮاي اﻟﮕﺮﻳﺘﻢ ﺟﺎﻳﮕﺰﻳﻨﻲ‬
‫ﭘﺴﺮو وﺟﻮد ﻧﺪارد‪.‬‬

‫ﻣﺜﺎل‪17-2‬‬
‫دﺳﺘﮕﺎه ﻣﻌﺎدﻻت زﻳﺮ را در ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ‪،‬‬
‫‪⎧2 x 2 + x3 = 4‬‬
‫⎪‬
‫‪⎨ x1 + x2 + 2 x3 = 6‬‬
‫‪⎪2 x + x + x = 7‬‬
‫‪⎩ 1 2‬‬ ‫‪3‬‬

‫ﻓﺮم ﻣﺎﺗﺮﻳﺲ اﻓﺰوده ﺳﻴﺴﺘﻢ ﺑﻪ ﺑﺼﻮرت زﻳﺮ ﺧﻮاﻫﺪ ﺑﻮد‪،‬‬


‫⎤ ‪⎡0 2 1 4⎤ ⎡ x1‬‬
‫⎢‬ ‫⎥ ⎢⎥‬
‫⎥ ‪⎢1 1 2 6 ⎥ ⎢ x 2‬‬
‫⎥⎦ ‪⎢⎣2 1 1 7 ⎥⎦ ⎣⎢ x3‬‬
‫از آﻧﺠﺎﻳﻴﻜﻪ ﺿﺮﻳﺐ ‪ x1‬در ﻣﻌﺎدﻟﻪ اول ﺑﺮاﺑﺮ ﺻﻔﺮ اﺳﺖ‪ ،‬ﺑﺎ ﺟﺎﺑﺠﺎ ﻛﺮدن ﺳﻄﺮ اول و ﺳﻮم دارﻳﻢ‪،‬‬
‫‪⎡2‬‬ ‫⎤ ‪1 1 7⎤ ⎡ x1‬‬
‫⎢‬ ‫⎥‬
‫‪⎢1‬‬ ‫⎥⎥ ‪1 2 6⎥ ⎢⎢ x2‬‬
‫‪⎢⎣0‬‬ ‫⎦⎥ ‪2 1 4⎥⎦ ⎢⎣ x3‬‬
‫را از ﻣﻌﺎدﻟﻪ دوم ﺣﺬف ﻣﻲ ﻧﻤﺎﻳﻴﻢ ‪،‬‬ ‫)‪ (1‬ﺿﺮﻳﺐ ‪ x1‬در ﻣﻌﺎدﻟﻪ ﺳﻮم ﺻﻔﺮ ﻣﻲ ﺑﺎﺷﺪ‪ ،‬ﻟﺬا ﻣﺠﻬﻮل ‪x1‬‬

‫‪Applied Linear Algebra with MATLAB‬‬


‫‪S. Sedghizadeh, Systems and Control Dept., KNTU‬‬
‫ﻓﺼﻞ دوم‪ :‬دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺟﺒﺮي ﺧﻄﻲ‬ ‫‪110‬‬

‫⎤ ‪⎡2 1 1 7⎤ ⎡ x1‬‬
‫‪−1‬‬ ‫⎢‬ ‫⎢⎥ ‪3 5‬‬ ‫⎥‬
‫‪r1 + r2 → r2‬‬ ‫⇒‬ ‫⎥ ‪⎢0 2 2 2 ⎥ ⎢ x 2‬‬
‫‪1‬‬
‫‪2‬‬
‫⎦⎥ ‪⎢⎣0 2 1 4⎥⎦ ⎢⎣ x3‬‬
‫)‪ (2‬ﺣﺬف ﻣﺠﻬﻮل ‪ x2‬از ﻣﻌﺎدﻻت اول و ﺳﻮم‪،‬‬
‫⎤ ‪⎡2 0 − 2 2 ⎤ ⎡ x1‬‬
‫⎫ ‪− 2r2 + r1 → r1‬‬ ‫⎢‬ ‫⎢⎥ ‪5‬‬ ‫⎥‬
‫⎬‬ ‫⇒‬ ‫⎥ ‪⎢0 2 2 2 ⎥ ⎢ x2‬‬
‫‪1‬‬ ‫‪3‬‬
‫⎭ ‪− 4r2 + r3 → r3‬‬
‫⎦⎥ ‪⎢⎣0 0 − 5 − 6⎥⎦ ⎢⎣ x3‬‬
‫)‪ (3‬ﺣﺬف ﻣﺠﻬﻮل ‪ x3‬از ﻣﻌﺎدﻻت اول و دوم‪،‬‬
‫‪−2‬‬ ‫⎫‬ ‫⎤ ‪⎡2 0 0 225 ⎤ ⎡ x1‬‬
‫⎪ ‪r3 + r1 → r1‬‬
‫⎪‬ ‫⎢‬ ‫⎥‬
‫⎥⎥ ‪0 12 0 107 ⎥ ⎢⎢ x2‬‬
‫‪5‬‬
‫⇒ ⎬‬ ‫⎢‬
‫‪3‬‬
‫⎪ ‪r3 + r2 → r2‬‬ ‫⎦⎥ ‪⎢0 0 − 5 − 6⎥ ⎢⎣ x3‬‬
‫⎣‬ ‫⎦‬
‫‪10‬‬ ‫⎭⎪‬
‫)‪ (4‬در اﻳﻦ ﻣﺮﺣﻠﻪ ﻛﻪ ﻣﺎﺗﺮﻳﺲ ‪ A‬ﺑﺼﻮرت ﻗﻄﺮي در آﻣﺪه اﺳﺖ‪ ،‬ﺑﺎ ﺗﻘﺴﻴﻢ ﻫﺮ ﺳﻄﺮ ﺑﺮ ﻋﻨﺼﺮ ﻗﻄﺮ اﺻﻠﻲ‬
‫آن ﻣﺎﺗﺮﻳﺲ ‪ A‬را ﺑﻪ ﻳﻚ ﻣﺎﺗﺮﻳﺲ واﺣﺪ ﺗﺒﺪﻳﻞ ﻣﻲ ﻧﻤﺎﻳﻴﻢ‪،‬‬
‫‪1‬‬ ‫⎫‬
‫‪r1 → r1‬‬ ‫⎪‬
‫‪2‬‬ ‫⎤ ‪⎡1 0 0 115 ⎤ ⎡ x1‬‬
‫⎪‬ ‫⎢‬ ‫⎢⎥ ‪7‬‬ ‫⎥‬
‫‪2r2 → r2‬‬ ‫⎬‬ ‫⇒‬ ‫⎥ ‪⎢0 1 0 5 ⎥ ⎢ x 2‬‬
‫‪−1‬‬ ‫⎪‬ ‫⎦⎥ ‪⎢0 0 1 65 ⎥ ⎢⎣ x3‬‬
‫⎪ ‪r3 → r3‬‬ ‫⎣‬ ‫⎦‬
‫‪5‬‬ ‫⎭‬
‫ﺑﻪ اﻳﻦ ﺗﺮﺗﻴﺐ ﻣﻘﺪار ﻣﺠﻬﻮﻻت ﺑﻪ ﺻﻮرت زﻳﺮ ﺑﺪﺳﺖ ﻣﻲ آﻳﺪ‪،‬‬
‫‪11‬‬ ‫‪7‬‬ ‫‪6‬‬
‫‪x1 = ,‬‬ ‫‪x2 = ,‬‬ ‫= ‪x3‬‬
‫‪5‬‬ ‫‪5‬‬ ‫‪5‬‬
‫ﺑﺎ اﺳﺘﻔﺎده از ﻧﺮم اﻓﺰار ‪ MATLAB‬ﻣﻲ ﺗﻮان ﺑﺮﻧﺎﻣﻪ اي ﺑﺮاي اﻟﮕﻮرﻳﺘﻢ ﮔﻮس‪ -‬ﺟﺮدن ﻧﻮﺷﺖ‪،‬‬
‫‪%Gauss - Jordan algorithm with pivoting.‬‬

‫)‪function [x, AB] = gaussjordan(A,B‬‬


‫;)‪NA = size(A,2‬‬
‫;)‪[NB1, NB] = size(B‬‬
‫‪if NB1 ~= NA,‬‬
‫;)'‪error('A and B must have compatible dimensions‬‬
‫‪end‬‬
‫;‪NA‬‬
‫;]‪AB = [A B‬‬
‫;)‪E = eye(NA, NA‬‬

‫‪Applied Linear Algebra with MATLAB‬‬


‫‪S. Sedghizadeh, Systems and Control Dept., KNTU‬‬
111 ‫ دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺟﺒﺮي ﺧﻄﻲ‬:‫ﻓﺼﻞ دوم‬

for j = 1 : NA
for i = 1 : NA
if AB(j,j) ~= 0
E(i,j) = - AB(i,j) / AB(j,j);
AB = E * AB;
E = eye(NA, NA);
else
[max,k] = max(abs(AB([j : NA],j)));

AB([j k + (j - 1)],:) = AB([k + (j - 1) j],:);


E(i,j) = - AB(i,j) / AB(j,j);
AB = E * AB;
E = eye(NA, NA);
end
end
end
E = eye(NA,NA);
for i = 1 : NA
E(i,i) = 1 / AB(i,i);
end
AB = E * AB;
x = AB(:, NA + 1)';
،‫اﺟﺮاي ﺑﺮﻧﺎﻣﻪ ﺑﺼﻮرت زﻳﺮ اﺳﺖ ﻛﻪ ﺷﺎﻣﻞ ﭘﺎﺳﺦ ﺳﻴﺴﺘﻢ و ﻣﺎﺗﺮﻳﺲ اﻓﺰوده ﻗﻄﺮي ﺷﺪه ﻣﻲ ﺑﺎﺷﺪ‬

A = [0 2 1;1 1 2;2 1 1];

b = [4;6;7];

[x AB] = gaussjordan(A, b)

x =

2.2000 1.4000 1.2000

AB =
1.0000 0 0 2.2000

0 1.0000 0 1.4000

0 0 1.0000 1.2000

Applied Linear Algebra with MATLAB


S. Sedghizadeh, Systems and Control Dept., KNTU
‫ﻓﺼﻞ دوم‪ :‬دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺟﺒﺮي ﺧﻄﻲ‬ ‫‪112‬‬

‫ﻣﺜﺎل‪18-2‬‬
‫دﺳﺘﮕﺎه ﻣﻌﺎدﻻت زﻳﺮ را در ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ‪،‬‬
‫‪⎧− 2 x1 + x2 − x3 = 4‬‬
‫⎪‬
‫‪⎨ x1 + 2 x2 + 3 x3 = 13‬‬
‫‪⎪3 x + x = −1‬‬
‫‪⎩ 1 3‬‬
‫ﻓﺮم ﻣﺎﺗﺮﻳﺲ اﻓﺰوده اﻳﻦ ﻣﻌﺎدﻻت ﺑﺼﻮرت زﻳﺮ ﻣﻲ ﺑﺎﺷﺪ‪،‬‬
‫⎤ ‪⎡− 2 1 − 1 4‬‬
‫⎥⎥ ‪[A b] → ⎢⎢ 1 2 3 13‬‬
‫⎦⎥‪⎢⎣ 3 0 1 − 1‬‬
‫ﮔﺎم اول‪ -‬ﺣﺬف ﻣﺠﻬﻮل ‪ x1‬از ﺗﻤﺎﻣﻲ ﻣﻌﺎدﻻت ﺑﻪ ﺟﺰ ﻣﻌﺎدﻟﻪ اول‪،‬‬
‫‪1‬‬ ‫⎫‬ ‫⎤ ‪⎡− 2 1 − 1 4 ⎤ ⎡ x1‬‬
‫⎪ ‪r1 + r2 → r2‬‬
‫⎪‬ ‫⎢‬ ‫⎥‬
‫⎥⎥ ‪0 52 52 15⎥ ⎢⎢ x 2‬‬
‫‪2‬‬
‫⇒ ⎬‬ ‫⎢‬
‫‪3‬‬
‫⎪⎪ ‪r1 + r3 → r3‬‬ ‫⎦⎥ ‪⎢⎣ 0 32 −21 5 ⎥⎦ ⎢⎣ x3‬‬
‫‪2‬‬ ‫⎭‬
‫⎤ ‪⎡1 0 0‬‬ ‫⎤ ‪⎡1 0 0‬‬
‫⎥⎥‪E1 = ⎢ 2 1 0⎥, E 2 = ⎢⎢0 1 0‬‬
‫⎢‬ ‫‪1‬‬ ‫⎥‬
‫⎦⎥‪⎢⎣0 0 1‬‬ ‫⎦⎥‪⎢⎣ 32 0 1‬‬
‫ﮔﺎم دوم‪ -‬ﺣﺬف ﻣﺠﻬﻮل ‪ x2‬از ﺗﻤﺎﻣﻲ ﻣﻌﺎدﻻت ﺑﻪ ﺟﺰ ﻣﻌﺎدﻟﻪ دوم‪،‬‬
‫‪−2‬‬ ‫⎫‬ ‫⎤ ‪⎡− 2 0 − 2 − 2⎤ ⎡ x1‬‬
‫⎪ ‪r2 + r1 → r1‬‬
‫‪5‬‬ ‫⎪‬ ‫⎢‬ ‫⎥ ⎢⎥‬
‫⇒ ⎬‬ ‫‪0 52‬‬ ‫⎥ ‪2 15 ⎥ ⎢ x 2‬‬
‫‪5‬‬
‫‪−3‬‬ ‫⎢‬
‫⎪ ‪r2 + r3 → r3‬‬ ‫⎦⎥ ‪⎢⎣ 0 0 − 2 − 4⎥⎦ ⎢⎣ x3‬‬
‫‪5‬‬ ‫⎭⎪‬
‫⎤‪⎡1 −52 0‬‬ ‫⎤‪⎡1 0 0‬‬
‫⎢‬ ‫⎥‬ ‫⎢‬ ‫⎥‬
‫⎥ ‪E 3 = ⎢0 1 0 ⎥ , E 4 = ⎢0 1 0‬‬
‫⎦⎥‪⎢⎣0 0 1‬‬ ‫⎦⎥‪⎢⎣0 −53 1‬‬
‫ﮔﺎم ﺳﻮم ‪ -‬ﺣﺬف ﻣﺠﻬﻮل ‪ x3‬از ﺗﻤﺎﻣﻲ ﻣﻌﺎدﻻت ﺑﻪ ﺟﺰ ﻣﻌﺎدﻟﻪ ﺳﻮم‪،‬‬
‫⎫ ‪− r3 + r1 → r1‬‬ ‫⎤ ‪⎡− 2 0 0 2 ⎤ ⎡ x1‬‬
‫⎪‬ ‫⎢‬ ‫⎥ ⎢⎥‬
‫‪5‬‬ ‫⎬‬‫⇒‬ ‫⎥ ‪⎢ 0 2 0 10 ⎥ ⎢ x 2‬‬
‫‪5‬‬

‫⎪ ‪r3 + r2 → r2‬‬
‫‪4‬‬ ‫⎭‬ ‫⎦⎥ ‪⎢⎣ 0 0 − 2 − 4⎥⎦ ⎢⎣ x3‬‬
‫⎤‪⎡1 0 − 1‬‬ ‫⎤ ‪⎡1 0 0‬‬
‫⎢‬ ‫⎥‬
‫⎥⎥ ‪E5 = ⎢0 1 0 ⎥, E 6 = ⎢⎢0 1 54‬‬
‫⎦⎥ ‪⎢⎣0 0 1‬‬ ‫⎦⎥‪⎢⎣0 0 1‬‬

‫‪Applied Linear Algebra with MATLAB‬‬


‫‪S. Sedghizadeh, Systems and Control Dept., KNTU‬‬
‫‪113‬‬ ‫ﻓﺼﻞ دوم‪ :‬دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺟﺒﺮي ﺧﻄﻲ‬

‫ﮔﺎم ﭼﻬﺎرم‪ -‬ﺗﺒﺪﻳﻞ ﻋﻨﺎﺻﺮ ﻗﻄﺮي ﺑﻪ ﻋﺪد ﻳﻚ و ﺑﺪﺳﺖ آوردن ﺟﻮاﺑﻬﺎ‪،‬‬


‫⎤ ‪⎡− 2 0 0 2‬‬ ‫⎤‪⎡1 0 0 − 1‬‬ ‫‪⎡ −21 0‬‬ ‫⎤‪0‬‬
‫⎢‬ ‫⎥‬ ‫⎢‬ ‫⎥‬
‫⎥ ‪⎢ 0 2 0 10‬‬
‫‪5‬‬
‫→‬ ‫⎥ ‪⎢0 1 0 4‬‬ ‫→‬ ‫‪E 7 = ⎢⎢ 0 52‬‬ ‫⎥⎥ ‪0‬‬
‫⎦⎥‪⎢⎣ 0 0 − 2 − 4‬‬ ‫⎦⎥ ‪⎢⎣0 0 1 2‬‬ ‫‪⎢⎣ 0 0‬‬ ‫⎥ ‪−1‬‬
‫⎦ ‪2‬‬

‫‪x1 = −1 , x 2 = 4 , x3 = 2‬‬
‫□‬

‫ﻣﺜﺎل‪19-2‬‬
‫دﺳﺘﮕﺎه ﻣﻌﺎدﻻت زﻳﺮ را در ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ‪،‬‬
‫‪⎧ x1 − 2 x2 + 3 x3 = −2‬‬
‫⎪‬
‫‪⎨− x1 + 2 x2 − 2 x3 = 3‬‬
‫‪⎪2 x − x + 3 x = −7‬‬
‫‪⎩ 1 2‬‬ ‫‪3‬‬

‫ﻓﺮم ﻣﺎﺗﺮﻳﺲ اﻓﺰوده اﻳﻦ دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺑﺼﻮرت زﻳﺮ ﻣﻲ ﺑﺎﺷﺪ‪،‬‬


‫⎤‪⎡ 1 − 2 3 − 2‬‬
‫] ‪[A b‬‬ ‫⎢‬
‫⎥ ‪→ ⎢− 1 2 − 2 3‬‬
‫⎥‬
‫⎦⎥‪⎢⎣ 2 − 1 3 − 7‬‬
‫ﮔﺎم اول‪ -‬ﺣﺬف ﻣﺠﻬﻮل ‪ x1‬از ﺗﻤﺎﻣﻲ ﻣﻌﺎدﻻت ﺑﻪ ﺟﺰ ﻣﻌﺎدﻟﻪ اول‪،‬‬
‫⎤ ‪⎡1 − 2 3 − 2⎤ ⎡ x1‬‬
‫‪r1 + r2 → r2‬‬ ‫⎫‬ ‫⎢‬ ‫⎥‬
‫⎬‬ ‫⇒‬ ‫‪⎢0 0‬‬ ‫⎥⎥ ‪1 1 ⎥ ⎢⎢ x 2‬‬
‫⎭ ‪− 2r1 + r3 → r3‬‬
‫⎦⎥ ‪⎢⎣0 3 − 3 − 3⎥⎦ ⎢⎣ x3‬‬
‫‪⎡1 0‬‬ ‫⎤‪0‬‬ ‫⎤‪⎡ 1 0 0‬‬
‫‪E1 = ⎢⎢1 1‬‬ ‫⎥⎥‪0⎥, E 2 = ⎢⎢ 0 1 0‬‬
‫⎥‬
‫‪⎢⎣0 0‬‬ ‫⎦⎥‪1‬‬ ‫⎦⎥‪⎢⎣− 2 0 1‬‬
‫ﮔﺎم دوم‪ -‬ﺟﺎﺑﺠﺎﻳﻲ ﻣﻌﺎدﻻت دوم و ﺳﻮم ﺣﺬف ﻣﺠﻬﻮل ‪ x2‬از ﺗﻤﺎﻣﻲ ﻣﻌﺎدﻻت ﺑﻪ ﺟﺰ ﻣﻌﺎدﻟﻪ دوم‪،‬‬
‫‪⎡1 − 2‬‬ ‫⎤ ‪3 − 2⎤ ⎡ x1‬‬ ‫‪⎡1 0‬‬ ‫⎤‪0‬‬
‫⎢‬ ‫⎥ ⎢⎥‬
‫‪r2 ↔ r3‬‬ ‫⇒‬ ‫‪⎢0 3‬‬ ‫⎥ ‪− 3 − 3⎥ ⎢ x 2‬‬ ‫→‬ ‫‪E3 = ⎢⎢0 0‬‬ ‫⎥⎥‪1‬‬
‫‪⎢⎣0 0‬‬ ‫⎦⎥ ‪1 1 ⎥⎦ ⎢⎣ x3‬‬ ‫‪⎢⎣0 1‬‬ ‫⎦⎥‪0‬‬
‫‪⎡1‬‬ ‫⎤ ‪0 1 − 4⎤ ⎡ x1‬‬ ‫‪⎡1‬‬ ‫⎤‪0‬‬
‫‪2‬‬
‫‪3‬‬
‫‪2‬‬ ‫⎫‬ ‫⎢‬ ‫⎥ ⎢⎥‬
‫⇒ ⎬ ‪r2 + r1 → r1‬‬ ‫‪⎢0‬‬ ‫⎥ ‪3 − 3 − 3⎥ ⎢ x2‬‬ ‫→‬ ‫‪E 4 = ⎢⎢0‬‬ ‫⎥⎥‪1 0‬‬
‫‪3‬‬ ‫⎭‬ ‫‪⎢⎣0‬‬ ‫⎦⎥ ‪0 1 1 ⎥⎦ ⎢⎣ x3‬‬ ‫‪⎢⎣0‬‬ ‫⎦⎥‪0 1‬‬

‫‪Applied Linear Algebra with MATLAB‬‬


‫‪S. Sedghizadeh, Systems and Control Dept., KNTU‬‬
‫ﻓﺼﻞ دوم‪ :‬دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺟﺒﺮي ﺧﻄﻲ‬ ‫‪114‬‬

‫ﮔﺎم ﺳﻮم‪ -‬ﺣﺬف ﻣﺠﻬﻮل ‪ x3‬از ﺗﻤﺎﻣﻲ ﻣﻌﺎدﻻت ﺑﻪ ﺟﺰ ﻣﻌﺎدﻟﻪ ﺳﻮم‪،‬‬


‫⎤ ‪⎡1 0 0 − 5⎤ ⎡ x1‬‬
‫⎫ ‪− r3 + r1 → r1‬‬ ‫⎢‬ ‫⎥ ⎢⎥‬
‫⎬‬ ‫⇒‬ ‫⎥ ‪⎢0 3 0 0 ⎥ ⎢ x 2‬‬
‫⎭ ‪3r3 + r2 → r2‬‬
‫⎦⎥ ‪⎢⎣0 0 1 1 ⎥⎦ ⎢⎣ x3‬‬
‫⎤‪⎡1 0 − 1‬‬ ‫⎤‪⎡1 0 0‬‬
‫⎥⎥‪E5 = ⎢0 1 0 ⎥, E 6 = ⎢⎢0 1 3‬‬
‫⎢‬ ‫⎥‬
‫⎦⎥ ‪⎢⎣0 0 1‬‬ ‫⎦⎥‪⎢⎣0 0 1‬‬
‫ﮔﺎم ﭼﻬﺎرم‪ -‬ﺗﺒﺪﻳﻞ ﻋﻨﺎﺻﺮ ﻗﻄﺮي ﺑﻪ ﻋﺪد ﻳﻚ و ﺑﺪﺳﺖ آوردن ﺟﻮاﺑﻬﺎ‪،‬‬
‫⎤‪⎡1 0 0 − 5‬‬ ‫⎤‪⎡1 0 0 − 5‬‬ ‫⎤‪⎡1 0 0‬‬
‫⎢‬ ‫⎥‬ ‫⎢‬ ‫⎥‬
‫⎥ ‪⎢0 3 0 0‬‬ ‫→‬ ‫⎥ ‪⎢0 1 0 0‬‬ ‫→‬ ‫⎥⎥‪E 7 = ⎢⎢0 13 0‬‬
‫⎦⎥ ‪⎢⎣0 0 1 1‬‬ ‫⎦⎥ ‪⎢⎣0 0 1 1‬‬ ‫⎦⎥‪⎢⎣0 0 1‬‬
‫‪x1 = −5 , x 2 = 0 , x3 = 1‬‬
‫ﺑﺎ اﺟﺮاي ﺑﺮﻧﺎﻣﻪ ‪ gaussjordan‬ﻧﺘﺎﻳﺞ ﺑﺼﻮرت زﻳﺮ ﺑﺪﺳﺖ ﻣﻲ آﻳﺪ‪،‬‬
‫;]‪A = [1 - 2 3;-1 2 - 2;2 - 1 3‬‬

‫;]‪b = [-2;3;-7‬‬

‫)‪x = gaussjordan(A, b‬‬

‫= ‪x‬‬

‫‪-5‬‬ ‫‪0‬‬ ‫‪1‬‬

‫= ‪AB‬‬
‫‪1‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪-5‬‬

‫‪0‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪0‬‬

‫‪0‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪1‬‬


‫□‬

‫ﻣﺜﺎل‪20-2‬‬
‫ﻣﺪار اﻟﻜﺘﺮﻳﻜﻲ ﺳﺎده زﻳﺮ را در ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ‪،‬‬

‫‪Applied Linear Algebra with MATLAB‬‬


‫‪S. Sedghizadeh, Systems and Control Dept., KNTU‬‬
‫‪115‬‬ ‫ﻓﺼﻞ دوم‪ :‬دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺟﺒﺮي ﺧﻄﻲ‬

‫ﻫﺪف در اﻳﻦ ﻣﺪار ﻳﺎﻓﺘﻦ ﻣﻘﺪار ﺟﺮﻳﺎﻧﻬﺎي ‪ I 2 ، I1‬و ‪ I 3‬ﻣﻲ ﺑﺎﺷﺪ‪ .‬ﺑﺎ اﻋﻤﺎل ﻗﻮاﻧﻴﻦ ﻣﺪاري ﻣﻌﺎدﻻت زﻳﺮ‬
‫ﺑﺪﺳﺖ ﻣﻲ آﻳﻨﺪ‪،‬‬
‫‪I1 − I 2 − I 3 = 0‬‬
‫‪8 I1 + 4 I 2 = 20‬‬
‫‪4 I 2 − 20 I 3 = −16‬‬
‫ﺑﺮاي اﻳﻦ دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺧﻄﻲ ﻣﺎﺗﺮﻳﺲ اﻓﺰوده زﻳﺮ ﻗﺎﺑﻞ ﻧﻮﺷﺘﻦ اﺳﺖ‪،‬‬
‫⎤ ‪⎡1 − 1 − 1 0 ⎤ ⎡ I 1‬‬
‫⎢‬ ‫⎥‬
‫‪⎢2 1‬‬ ‫⎥⎥ ‪0 5 ⎥ ⎢⎢ I 2‬‬
‫⎦⎥ ‪⎢⎣0 1 − 5 − 4⎥⎦ ⎢⎣ I 3‬‬
‫ﻛﻪ ﺑﺎ اﻋﻤﺎل روش ﮔﺎوس‪ -‬ﺟﺮدن ﺑﻪ ﺻﻮرت زﻳﺮ ﺑﻴﺎن ﻣﻲ ﮔﺮدد‪،‬‬
‫⎤ ‪⎡1 0 0 2 ⎤ ⎡ I 1‬‬
‫⎢‬ ‫⎥ ⎢⎥‬
‫⎥ ‪⎢0 1 0 1 ⎥ ⎢ I 2‬‬
‫⎦⎥ ‪⎢⎣0 0 1 1⎥⎦ ⎢⎣ I 3‬‬
‫ﺑﻨﺎﺑﺮاﻳﻦ ﺟﻮاﺑﻬﺎ ﺑﺼﻮرت زﻳﺮ ﺧﻮاﻫﻨﺪ ﺑﻮد‪،‬‬
‫‪I1 = 2 A, I 2 = I 3 = 1A,‬‬
‫□‬

‫‪ -1-2-3-2‬ﺣﺠﻢ ﻣﺤﺎﺳﺒﺎت ﺟﺒﺮي اﻟﮕﻮرﻳﺘﻢ ﮔﻮس‪ -‬ﺟﺮدن‬


‫ﺣﺠﻢ ﻣﺤﺎﺳﺒﺎت ﺟﺒﺮي ﺑﺮاي اﻟﮕﻮرﻳﺘﻢ ﮔﻮس‪ -‬ﺟﺮدن ﺑﺼﻮرت زﻳﺮ اﺳﺖ‪،‬‬
‫‪n3 n 2‬‬
‫‪+‬‬ ‫ﻋﻤﻠﻴﺎت ﺿﺮب ﻳﺎ ﺗﻘﺴﻴﻢ →‬
‫‪2‬‬ ‫‪2‬‬
‫‪3‬‬
‫‪n n‬‬
‫‪−‬‬ ‫ﻋﻤﻠﻴﺎت ﺟﻤﻊ ﻳﺎ ﺗﻔﺮﻳﻖ →‬
‫‪2 2‬‬
‫‪n3‬‬
‫ﻋﻤﻠﻴﺎت و در ﻣﺠﻤﻮع ‪ n 3‬در ﻧﻈﺮ ﮔﺮﻓﺖ‪ .‬ﻟﺬا ﺑﺮاي دﺳﺘﮕﺎه‬ ‫ﺑﺮاي ) ∞ → ‪ ( n‬ﻣﻲ ﺗﻮان ﻫﺮ ﻳﻚ را‬
‫‪2‬‬
‫ﻣﻌﺎدﻻت ﺑﺎ اﺑﻌﺎد ﺑﺰرگ اﺳﺘﻔﺎده از روش ﮔﻮس‪ -‬ﺟﺮدن ﻧﻴﺎزﻣﻨﺪ ﻋﻤﻠﻴﺎت ﺑﺴﻴﺎر ﺑﻴﺸﺘﺮي ﻧﺴﺒﺖ ﺑﻪ روش‬
‫ﺣﺬﻓﻲ ﮔﻮﺳﻲ اﺳﺖ‪ .‬ﺑﻄﻮر ﻣﺜﺎل ﺑﺮاي ‪ n = 100‬دارﻳﻢ‪،‬‬
‫‪2n 3‬‬
‫روش ﺣﺬﻓﻲ ﮔﻮﺳﻲ‪= 0.67 × 10 6 :‬‬
‫‪3‬‬
‫روش ﮔﻮس‪ -‬ﺟﺮدن‪n 3 = 10 6 :‬‬
‫اﺧﺘﻼف در ﺣﺠﻢ ﻣﺤﺎﺳﺒﺎت دو روش ﻣﻌﺎدل ‪ 300000‬ﻋﻤﻠﻴﺎت ﺟﻤﻊ و ﺿﺮب اﺳﺖ‪.‬‬

‫‪Applied Linear Algebra with MATLAB‬‬


‫‪S. Sedghizadeh, Systems and Control Dept., KNTU‬‬
‫ﻓﺼﻞ دوم‪ :‬دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺟﺒﺮي ﺧﻄﻲ‬ ‫‪116‬‬

‫‪ -2-2-3-2‬ﻛﺎرﺑﺮد در ﻣﺤﺎﺳﺒﻪ ﻣﺎﺗﺮﻳﺲ ﻣﻌﻜﻮس‬


‫ﻳﻜﻲ از ﻛﺎرﺑﺮدﻫﺎي روش ﮔﻮس‪ -‬ﺟﺮدن در ﻣﺤﺎﺳﺒﻪ ﻣﺎﺗﺮﻳﺲ ﻣﻌﻜﻮس ﻣﻲ ﺑﺎﺷﺪ‪،‬‬
‫‪AA −1 = I‬‬ ‫→‬ ‫] ‪[A I ] ⇒ [I A‬‬ ‫‪−1‬‬
‫)‪(7-2‬‬

‫ﻣﺜﺎل‪21-2‬‬
‫ﻣﻌﻜﻮس ﻣﺎﺗﺮﻳﺲ ‪ A‬را ﺑﺎ اﺳﺘﻔﺎده از روش ﮔﻮس‪ -‬ﺟﺮدن ﺑﺪﺳﺖ آورﻳﺪ‪،‬‬
‫‪⎡1 2‬‬ ‫⎤‪3‬‬
‫⎥⎥‪A = ⎢− 1 1 − 2‬‬
‫⎢‬
‫⎦⎥ ‪⎢⎣ 2 − 1 3‬‬
‫ﺑﺎ اﺳﺘﻔﺎده از راﺑﻄﻪ)‪ (7-2‬دارﻳﻢ‪،‬‬
‫‪⎡1 2‬‬ ‫⎤‪3 1 0 0‬‬
‫⎥⎥‪[A I ] = ⎢− 1 1 − 2 0 1 0‬‬
‫⎢‬
‫⎦⎥‪⎢⎣ 2 − 1 3 0 0 1‬‬
‫ﺣﺎل روش ﮔﻮس‪ -‬ﺟﺮدن را ﺑﺮ روي اﻳﻦ ﻣﺎﺗﺮﻳﺲ اﻓﺰوده ﭘﻴﺎده ﻣﻲ ﻛﻨﻴﻢ‪،‬‬
‫‪⎡1 2‬‬ ‫⎤‪3 1 0 0‬‬
‫‪r1 + r2 → r2‬‬ ‫⎫‬ ‫⎢‬ ‫⎥‬
‫⎬‬ ‫⇒‬ ‫‪⎢0 3‬‬ ‫⎥‪1 1 1 0‬‬
‫⎭ ‪− 2r1 + r3 → r3‬‬
‫⎦⎥‪⎢⎣0 − 5 − 3 − 2 0 1‬‬
‫‪−2‬‬ ‫⎫‬ ‫‪⎡1 0‬‬ ‫‪7‬‬ ‫‪1‬‬ ‫‪−2‬‬
‫⎤‪0‬‬
‫⎪ ‪r2 + r1 → r1‬‬ ‫‪3‬‬ ‫‪3‬‬ ‫‪3‬‬
‫‪3‬‬ ‫⎪‬ ‫⎢‬ ‫⎥‬
‫⎬‬ ‫⇒‬ ‫‪⎢0 3‬‬ ‫‪1 1‬‬ ‫‪1‬‬ ‫⎥‪0‬‬
‫‪5‬‬
‫⎪ ‪r2 + r3 → r3‬‬ ‫‪⎢0 0‬‬
‫⎣‬
‫‪− 4 −1‬‬ ‫‪5‬‬
‫⎦⎥‪1‬‬
‫‪3‬‬ ‫⎭⎪‬ ‫‪3 3‬‬ ‫‪3‬‬

‫‪7‬‬ ‫⎫‬ ‫‪⎡1 0‬‬ ‫‪0‬‬ ‫‪−1‬‬ ‫‪9‬‬ ‫‪7‬‬


‫⎤‬
‫⎪ ‪r3 + r1 → r1‬‬ ‫‪4‬‬ ‫‪4‬‬ ‫‪4‬‬
‫‪4‬‬ ‫⎪‬ ‫⎢‬ ‫⎥‬
‫⎬‬ ‫⇒‬ ‫‪⎢0 3‬‬ ‫‪0‬‬ ‫‪3‬‬
‫‪4‬‬
‫‪9‬‬
‫‪4‬‬
‫‪3‬‬
‫‪4‬‬ ‫⎥‬
‫‪3‬‬
‫⎪⎪ ‪r3 + r2 → r2‬‬ ‫‪⎢0 0‬‬
‫⎣‬
‫‪− 4 −1‬‬ ‫‪5‬‬
‫⎦⎥‪1‬‬
‫‪4‬‬ ‫⎭‬ ‫‪3 3‬‬ ‫‪3‬‬

‫‪1‬‬ ‫⎫‬ ‫‪⎡1 0 0‬‬ ‫‪−1‬‬ ‫‪9‬‬ ‫‪7‬‬


‫⎤‬
‫⎪ ‪r2 → r2‬‬
‫[‬ ‫]‬
‫‪4‬‬ ‫‪4‬‬ ‫‪4‬‬
‫‪3‬‬ ‫⎪‬ ‫⎢‬ ‫⎥‬ ‫‪−1‬‬
‫⇒ ⎬‬ ‫‪⎢0 1 0‬‬ ‫‪⎥= IA‬‬
‫‪1‬‬ ‫‪3‬‬ ‫‪1‬‬
‫‪−3‬‬ ‫‪4‬‬ ‫‪4‬‬ ‫‪4‬‬
‫⎪⎪ ‪r3 → r3‬‬ ‫‪⎢0 0 1‬‬
‫⎣‬
‫‪1‬‬ ‫‪−5‬‬ ‫‪−3‬‬ ‫⎥‬
‫⎦‬
‫‪4‬‬ ‫⎭‬ ‫‪4‬‬ ‫‪3‬‬ ‫‪4‬‬

‫ﻟﺬا ﺑﻪ راﺣﺘﻲ و ﺑﺪون ﻧﻴﺎز ﺑﻪ ﻣﺤﺎﺳﺒﻪ ﻣﺎﺗﺮﻳﺲ اﻟﺤﺎﻗﻲ ﻣﻌﻜﻮس ﻣﺎﺗﺮﻳﺲ ‪ A‬ﺑﺪﺳﺖ ﻣﻲ آﻳﺪ‪ .‬ﻣﻲ ﺗﻮان ﺑﺎ‬
‫اﺟﺮاي ﺑﺮﻧﺎﻣﻪ ‪ gaussjordan‬و دﺳﺘﻮر ‪ inv‬ﻧﺘﻴﺠﻪ را ﺑﺮرﺳﻲ ﻧﻤﻮد‪،‬‬

‫‪Applied Linear Algebra with MATLAB‬‬


‫‪S. Sedghizadeh, Systems and Control Dept., KNTU‬‬
‫‪117‬‬ ‫ﻓﺼﻞ دوم‪ :‬دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺟﺒﺮي ﺧﻄﻲ‬

‫;]‪A = [1 2 3;-1 1 - 2;2 - 1 3‬‬


‫;)‪I = eye(3‬‬

‫)‪[x AB] = gaussjordan(A,I‬‬


‫= ‪AB‬‬
‫‪1.0000‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪- 0.2500‬‬ ‫‪2.2500‬‬ ‫‪1.7500‬‬
‫‪0‬‬ ‫‪1.0000‬‬ ‫‪0‬‬ ‫‪0.2500‬‬ ‫‪0.7500‬‬ ‫‪0.2500‬‬
‫‪0‬‬ ‫‪0‬‬ ‫‪1.0000‬‬ ‫‪0.2500‬‬ ‫‪- 1.2500‬‬ ‫‪- 0.7500‬‬
‫)‪inv(A‬‬
‫= ‪ans‬‬
‫‪- 0.2500‬‬ ‫‪2.2500‬‬ ‫‪1.7500‬‬
‫‪0.2500‬‬ ‫‪0.7500‬‬ ‫‪0.2500‬‬

‫[‬ ‫]‬
‫‪0.2500‬‬ ‫‪- 1.2500‬‬ ‫‪- 0.7500‬‬
‫در ﺧﺮوﺟﻲ ﺑﺮﻧﺎﻣﻪ ﻣﺎﺗﺮﻳﺲ اﻓﺰوده ‪ I A −1‬ﻇﺎﻫﺮ ﻣﻲ ﺷﻮد‪ ،‬ﻛﻪ ﺑﺎ ﺣﺎﺻﻞ دﺳﺘﻮر ‪ inv‬ﻣﻄﺎﺑﻘﺖ دارد‪.‬‬
‫□‬

‫‪ -3-2-3-2‬ﻓﺮم ﺳﻄﺮي ﭘﻠﻜﺎﻧﻲ ﻛﺎﻫﺶ ﻳﺎﻓﺘﻪ‬


‫در ﺻﻮرﺗﻴﻜﻪ ﻣﺎﺗﺮﻳﺲ ‪ A‬ﻣﺮﺑﻌﻲ ﻧﺒﺎﺷﺪ و ‪ m ≠ n‬ﺑﺎﺷﺪ دﻳﮕﺮ ﻧﻤﻲ ﺗﻮان ﻣﻌﺎدﻻت را ﺑﻪ ﺷﻜﻞ‬
‫راﺑﻄﻪ )‪ (5-2‬در آورد‪ ،‬در اﻳﻦ ﺻﻮرت ﺳﻌﻲ ﻣﻲ ﺷﻮد ﺗﺎ ﻣﺎﺗﺮﻳﺲ ‪ A‬را ﺑﻪ ﻓﺮم ﺳﻄﺮي ﭘﻠﻜﺎﻧﻲ ﻛﺎﻫﺶ‬
‫ﻳﺎﻓﺘﻪ‪ 1‬درآورد‪ ،‬ﻳﻚ ﻧﻤﻮﻧﻪ از ﻓﺮم ﺳﻄﺮي ﭘﻠﻜﺎﻧﻲ ﻛﺎﻫﺶ ﻳﺎﻓﺘﻪ در راﺑﻄﻪ زﻳﺮ ﻧﺸﺎن داده ﺷﺪه اﺳﺖ‪ .‬در‬
‫اﻳﻨﺠﺎ *ﻫﺎ ﻣﻲ ﺗﻮاﻧﻨﺪ ﻋﺪدي ﺻﻔﺮ ﻳﺎ ﻏﻴﺮ ﺻﻔﺮ ﺑﺎﺷﻨﺪ‪،‬‬
‫‪⎡1‬‬ ‫∗‬ ‫‪0‬‬ ‫‪0‬‬ ‫∗‬ ‫∗‬ ‫‪0‬‬ ‫⎤∗‬
‫‪⎢0‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫∗‬ ‫∗‬ ‫‪0‬‬ ‫⎥⎥∗‬
‫⎢‬
‫‪⎢0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫∗‬ ‫∗‬ ‫‪0‬‬ ‫⎥∗‬
‫⎢‬ ‫⎥‬ ‫)‪(8-2‬‬
‫‪⎢0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫⎥∗‬
‫‪⎢0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫⎥‪0‬‬
‫⎢‬ ‫⎥‬
‫‪⎣⎢0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫⎥⎦‪0‬‬

‫ﻧﻤﺎﻳﺶ ﺳﻄﺮي ﭘﻠﻜﺎﻧﻲ داراي ﺧﺼﻮﺻﻴﺎت زﻳﺮ ﻣﻲ ﺑﺎﺷﺪ‪،‬‬


‫‪ -1‬ﺳﻄﺮﻫﺎﻳﻲ ﻛﻪ ﺗﻤﺎﻣﻲ ﻋﻨﺎﺻﺮ آﻧﻬﺎ ﺻﻔﺮ ﻣﻲ ﺑﺎﺷﺪ در ﺑﺨﺶ ﭘﺎﻳﻴﻦ ﻣﺎﺗﺮﻳﺲ ﻗﺮار دارﻧﺪ‪.‬‬
‫‪ -2‬در ﺳﻄﺮﻫﺎﻳﻲ ﻛﻪ ﺷﺎﻣﻞ ﻋﻨﺎﺻﺮ ﻏﻴﺮ ﺻﻔﺮ ﻫﺴﺘﻨﺪ‪ ،‬اوﻟﻴﻦ ﻋﻨﺼﺮ ﻏﻴﺮ ﺻﻔﺮ در ﺳﻤﺖ ﭼﭗ آن ﺳﻄﺮ‪ ،‬ﻋﺪد‬
‫ﻳﻚ ﻣﻲ ﺑﺎﺷﺪ‪ ،‬ﻛﻪ ﺑﻪ آن‪ ،‬ﻋﻨﺼﺮ ﻣﺤﻮري ﮔﻔﺘﻪ ﻣﻲ ﺷﻮد‪.‬‬
‫‪ -3‬در ﺳﺘﻮن ﻫﺎﻳﻲ ﻛﻪ داراي ﻋﻨﺼﺮ ﻣﺤﻮري اﺳﺖ‪ ،‬ﻛﻠﻴﻪ ﻋﻨﺎﺻﺮ ﺑﺎﻻي ﻋﻨﺼﺮ ﻣﺤﻮري ﺻﻔﺮ ﻣﻲ ﺑﺎﺷﺪ‪.‬‬

‫‪١‬‬
‫‪Reduced Row Echelon Form‬‬

‫‪Applied Linear Algebra with MATLAB‬‬


‫‪S. Sedghizadeh, Systems and Control Dept., KNTU‬‬
‫ﻓﺼﻞ دوم‪ :‬دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺟﺒﺮي ﺧﻄﻲ‬ ‫‪118‬‬

‫ﻓﺮاﻳﻨﺪ ﺗﺒﺪﻳﻞ ﻣﺎﺗﺮﻳﺲ ﺿﺮاﻳﺐ ‪ m × n‬ﺑﻪ ﻓﺮم ﺳﻄﺮي ﭘﻠﻜﺎﻧﻲ ﻛﺎﻫﺶ ﻳﺎﻓﺘﻪ ﺑﺼﻮرت زﻳﺮ اﺳﺖ‪،‬‬
‫ﮔﺎم اول‪ -‬در ﺻﻮرﺗﻴﻜﻪ ﺿﺮﻳﺐ ‪ x1‬در ﻣﻌﺎدﻟﻪ اول ﻳﻚ ﻧﺒﺎﺷﺪ‪،‬‬
‫‪1‬‬
‫‪r1 → r1‬‬
‫‪a11‬‬
‫ﺣﺬف ﻣﺠﻬﻮل ‪ x1‬از ﻣﻌﺎدﻻت دوم ﺗﺎ ‪ m‬ام‪،‬‬
‫‪− ai1r1 + ri → ri‬‬ ‫‪, i = 2,K, m‬‬
‫ﮔﺎم دوم‪ -‬در ﺻﻮرﺗﻴﻜﻪ ﺿﺮﻳﺐ ‪ x2‬در ﻣﻌﺎدﻟﻪ دوم ﻳﻚ ﻧﺒﺎﺷﺪ‪،‬‬
‫‪1‬‬
‫‪r2 → r2‬‬
‫‪a22‬‬
‫ﺣﺬف ﻣﺠﻬﻮل ‪ x2‬از ﺗﻤﺎﻣﻲ ﻣﻌﺎدﻻت ﺑﻪ ﺟﺰ ﻣﻌﺎدﻟﻪ دوم‪،‬‬
‫‪− ai 2 r2 + ri → ri‬‬ ‫‪, i = 1,K, m , i ≠ 2‬‬
‫ﮔﺎم ﺳﻮم‪ -‬ﺑﻪ ﻫﻤﻴﻦ ﺗﺮﺗﻴﺐ ﺗﺎ ﮔﺎم ‪ m − 1‬اداﻣﻪ ﻣﻲ دﻫﻴﻢ‪.‬‬

‫ﻣﺜﺎل‪22-2‬‬
‫دﺳﺘﮕﺎه ﻣﻌﺎدﻻت زﻳﺮ را در ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ‪.‬‬
‫‪⎧ x1 + 3 x2 + x3 + 5 x4 + x5 = 5‬‬
‫⎪‬
‫‪⎨ x 2 + x3 + 2 x 4 + x5 = 4‬‬
‫‪⎪2 x + 4 x + 7 x + x = 3‬‬
‫‪⎩ 1‬‬ ‫‪2‬‬ ‫‪4‬‬ ‫‪5‬‬

‫ﻣﺎﺗﺮﻳﺲ اﻓﺰوده اﻳﻦ ﻣﻌﺎدﻻت ﺑﻪ ﻓﺮم زﻳﺮ ﻣﻲ ﺑﺎﺷﺪ‪،‬‬


‫⎤ ‪⎡ x1‬‬
‫⎥ ‪⎡1 3 1 5 1 5⎤ ⎢ x2‬‬
‫⎢‬ ‫⎥ ⎢⎥‬
‫⎢‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪2‬‬ ‫‪1‬‬ ‫‪4‬‬ ‫⎥ ‪⎥ ⎢ x3‬‬
‫⎥ ‪⎢⎣2 4 0 7 1 3⎥⎦ ⎢ x4‬‬
‫⎥ ⎢‬
‫⎦⎥ ‪⎢⎣ x5‬‬
‫ﺣﺎل ﻣﻲ ﺧﻮاﻫﻴﻢ آن را ﺑﻪ ﻓﺮم ﺳﻄﺮي ﭘﻠﻜﺎﻧﻲ ﻛﺎﻫﺶ ﻳﺎﻓﺘﻪ در آورﻳﻢ‪.‬‬
‫)‪ (1‬ﺿﺮﻳﺐ ‪ x1‬در ﻣﻌﺎدﻟﻪ اول ﻳﻚ و در ﻣﻌﺎدﻟﻪ دوم ﺻﻔﺮ ﻣﻲ ﺑﺎﺷﺪ‪ ،‬ﻟﺬا ﺑﺎﻳﺪ ‪ x1‬را از ﺳﻄﺮ ﺳﻮم ﺣﺬف‬
‫ﻧﻤﺎﻳﻴﻢ‪،‬‬
‫⎤ ‪⎡ x1‬‬
‫‪⎡1 3‬‬ ‫‪1‬‬ ‫‪5‬‬ ‫⎥⎥ ‪1 5 ⎤ ⎢⎢ x2‬‬
‫⎢‬ ‫⎥‬
‫‪− 2r1 + r3 → r3‬‬ ‫⇒‬ ‫‪⎢0 1‬‬ ‫‪1‬‬ ‫‪2‬‬ ‫⎥ ‪1 4 ⎥ ⎢ x3‬‬
‫⎥ ‪⎢⎣0 − 2 − 2 − 3 − 1 − 7 ⎥⎦ ⎢ x4‬‬
‫⎥ ⎢‬
‫⎦⎥ ‪⎢⎣ x5‬‬

‫‪Applied Linear Algebra with MATLAB‬‬


‫‪S. Sedghizadeh, Systems and Control Dept., KNTU‬‬
‫‪119‬‬ ‫ﻓﺼﻞ دوم‪ :‬دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺟﺒﺮي ﺧﻄﻲ‬

‫)‪ (2‬ﺿﺮﻳﺐ ‪ x2‬در ﻣﻌﺎدﻟﻪ دوم ﻳﻚ ﻣﻲ ﺑﺎﺷﺪ‪ ،‬ﻟﺬا ‪ x2‬را از ﺳﻄﺮ اول و دوم ﺣﺬف ﻣﻲ ﻧﻤﺎﻳﻴﻢ‪،‬‬
‫⎤ ‪⎡ x1‬‬
‫⎥ ‪⎡1 0 − 2 − 1 − 2 − 7 ⎤ ⎢ x 2‬‬
‫⎫ ‪− 3r2 + r1 → r1‬‬ ‫⎢‬ ‫⎥ ⎢⎥‬
‫⎭ ‪2r2 + r3 → r3‬‬
‫⎬‬ ‫⇒‬ ‫⎢‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪2‬‬ ‫‪1‬‬ ‫‪4‬‬ ‫⎥ ‪⎥ ⎢ x3‬‬
‫‪⎢⎣0 0 0‬‬ ‫⎥ ⎢‬
‫‪1‬‬ ‫⎥ ‪1 1 ⎥⎦ ⎢ x4‬‬
‫⎦⎥ ‪⎢⎣ x5‬‬

‫)‪ (3‬از آﻧﺠﺎﻳﻴﻜﻪ ﺿﺮﻳﺐ ‪ x3‬در ﺳﻄﺮ ﺳﻮم ﺻﻔﺮ ﻣﻲ ﺑﺎﺷﺪ‪ ،‬ﺳﺮاغ ‪ x4‬ﻣﻲ روﻳﻢ‪ .‬ﺿﺮﻳﺐ ‪ x4‬ﻳﻚ اﺳﺖ‪ ،‬ﭘﺲ‬
‫ﻛﺎﻓﻲ اﺳﺖ ﻛﻪ ‪ x4‬را از ﻣﻌﺎدﻻت اول و دوم ﺣﺬف ﻧﻤﺎﻳﻴﻢ‪،‬‬
‫⎤ ‪⎡ x1‬‬
‫⎥ ‪⎡1 0 − 2 0 − 1 − 6 ⎤ ⎢ x 2‬‬
‫‪r3 + r1 → r1‬‬ ‫⎫‬ ‫⎢‬ ‫⎥ ⎢⎥‬
‫⎬‬
‫⎭ ‪− 2r3 + r2 → r2‬‬
‫⇒‬ ‫⎢‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪−‬‬ ‫‪1‬‬ ‫‪2‬‬ ‫⎥ ‪⎥ ⎢ x3‬‬
‫⎥ ‪⎢⎣0 0 0 1 1 1 ⎥⎦ ⎢ x4‬‬
‫⎥ ⎢‬
‫⎦⎥ ‪⎢⎣ x5‬‬

‫ﺑﻪ اﻳﻦ ﺗﺮﺗﻴﺐ ﻓﺮم ﺳﻄﺮي ﭘﻠﻜﺎﻧﻲ ﻛﺎﻫﺶ ﻳﺎﻓﺘﻪ ﻣﻌﺎدﻻت ﺑﺪﺳﺖ ﻣﻲ آﻳﺪ‪ ،‬ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﻣﻌﺎدﻻت ﺑﺪﺳﺖ آﻣﺪه‬
‫ﻧﺘﺎﻳﺞ زﻳﺮ ﺣﺎﺻﻞ ﻣﻲ ﺷﻮد‪،‬‬
‫‪x1 = −6 + x5 + 2 x3 , x2 = 2 + x5 − x3 , x4 = 1 − x5‬‬
‫ﺑﺎ ﻛﻤﻲ دﻗﺖ ﻣﺘﻮﺟﻪ ﻣﻲ ﺷﻮﻳﻢ ﻛﻪ ﻣﺘﻐﻴﺮﻫﺎي ‪ x1 , x2 , x4‬ﻣﺮﺑﻮط ﺑﻪ ﺳﺘﻮن ﻫﺎﻳﻲ ﻫﺴﺘﻨﺪ ﻛﻪ ﻋﻨﺎﺻﺮ‬
‫ﻣﺤﻮري در آن ﻗﺮار دارﻧﺪ‪.‬‬

‫ﺑﺮاي ﺑﺪﺳﺖ آوردن ﻓﺮم ﺳﻄﺮي ﭘﻠﻜﺎﻧﻲ ﻛﺎﻫﺶ ﻳﺎﻓﺘﻪ در ﻧﺮم اﻓﺰار ‪ MATLAB‬ﻣﻲ ﺗﻮان از‬
‫دﺳﺘﻮر )‪ rref(A‬اﺳﺘﻔﺎده ﻧﻤﻮد‪،‬‬
‫;]‪A = [1 3 1 5 1;0 1 1 2 1;2 4 0 7 1‬‬

‫;]‪b = [5;4;3‬‬

‫)]‪rref([A b‬‬

‫= ‪ans‬‬

‫‪1‬‬ ‫‪0‬‬ ‫‪-2‬‬ ‫‪0‬‬ ‫‪-1‬‬ ‫‪-6‬‬

‫‪0‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪-1‬‬ ‫‪2‬‬

‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪1‬‬ ‫‪1‬‬


‫دﺳﺘﻮر ]‪ [A b‬ﻓﺮم ﻣﺎﺗﺮﻳﺲ اﻓﺰوده را ﻧﺘﻴﺠﻪ ﻣﻲ دﻫﺪ‪.‬‬
‫□‬

‫‪Applied Linear Algebra with MATLAB‬‬


‫‪S. Sedghizadeh, Systems and Control Dept., KNTU‬‬
‫ﻓﺼﻞ دوم‪ :‬دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺟﺒﺮي ﺧﻄﻲ‬ ‫‪120‬‬

‫ﻣﺜﺎل‪23-2‬‬
‫دﺳﺘﮕﺎه ﻣﻌﺎدﻻت زﻳﺮ را در ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ‪.‬‬
‫‪⎧7 x1 + 2 x2 − 2 x3 − 4 x4 + 3 x5 = 8‬‬
‫⎪‬
‫‪⎨− 3 x1 − 3 x2 + 2 x4 + x5 = −1‬‬
‫‪⎪4 x − x − 8 x + 20 x = 1‬‬
‫‪⎩ 1 2‬‬ ‫‪3‬‬ ‫‪5‬‬

‫ﻣﺎﺗﺮﻳﺲ اﻓﺰوده اﻳﻦ ﻣﻌﺎدﻻت ﺑﻪ ﻓﺮم زﻳﺮ اﺳﺖ‪،‬‬


‫‪⎡7‬‬ ‫⎤ ‪2 −2 −4 3 8‬‬
‫] ‪[A b‬‬ ‫→‬
‫⎢‬
‫‪⎢− 3 − 3 0‬‬ ‫‪2‬‬ ‫⎥‪1 − 1‬‬
‫⎥‬
‫⎦⎥ ‪⎢⎣ 4 − 1 − 8 0 20 1‬‬

‫ﮔﺎم اول‪ -‬اﺑﺘﺪا ﺿﺮﻳﺐ ‪ x1‬را در ﻣﻌﺎدﻟﻪ اول ﺑﻪ ﻳﻚ ﺗﺒﺪﻳﻞ ﻣﻲ ﻛﻨﻴﻢ‪،‬‬


‫⎤ ‪⎡ x1‬‬
‫‪⎡1‬‬ ‫‪2‬‬ ‫‪−2‬‬
‫⎥ ‪⎤ ⎢ x2‬‬
‫‪−4‬‬ ‫‪3‬‬ ‫‪8‬‬

‫⎥ ⎢⎥‬
‫‪7‬‬ ‫‪7‬‬ ‫‪7‬‬ ‫‪7‬‬ ‫‪7‬‬
‫‪1‬‬ ‫⎢‬
‫‪7‬‬
‫‪r1 → r1‬‬ ‫⇒‬ ‫⎢‬ ‫‪−‬‬ ‫‪3‬‬ ‫‪−‬‬ ‫‪3‬‬ ‫‪0‬‬ ‫‪2‬‬ ‫‪1‬‬ ‫‪−‬‬ ‫‪1‬‬‫⎥ ‪⎥ ⎢ x3‬‬
‫⎥ ‪⎢ 4 − 1 − 8 0 20 1 ⎥ ⎢ x 4‬‬
‫⎣‬ ‫⎥ ⎢⎦‬
‫⎦⎥ ‪⎢⎣ x5‬‬
‫ﺣﺬف ﻣﺠﻬﻮل ‪ x1‬از ﺗﻤﺎﻣﻲ ﻣﻌﺎدﻻت ﺑﻪ ﺟﺰ ﻣﻌﺎدﻟﻪ اول‪،‬‬
‫⎤ ‪⎡ x1‬‬
‫‪⎡1‬‬ ‫‪2‬‬ ‫‪−2‬‬ ‫‪−4‬‬ ‫‪3‬‬ ‫‪8‬‬
‫⎥ ‪⎤ ⎢ x2‬‬
‫⎫ ‪3r1 + r2 → r2‬‬ ‫⎢‬
‫‪7‬‬ ‫‪7‬‬ ‫‪7‬‬ ‫‪7‬‬ ‫‪7‬‬ ‫⎥ ⎢‬
‫⎥ ‪17‬‬
‫⎬‬ ‫⇒‬ ‫‪⎢0‬‬
‫‪−15‬‬ ‫‪−6‬‬ ‫‪2‬‬ ‫‪16‬‬
‫‪7 ⎥ x3‬‬
‫⎥ ⎢‬
‫⎭ ‪− 4r1 + r3 → r3‬‬ ‫‪7‬‬ ‫‪7‬‬ ‫‪7‬‬ ‫‪7‬‬
‫⎢ ⎥ ‪− 25‬‬ ‫⎥‬
‫‪⎢0‬‬ ‫‪−15‬‬ ‫‪− 48‬‬ ‫‪16‬‬ ‫‪128‬‬
‫⎥ ‪7 ⎦ ⎢ x4‬‬
‫⎣‬ ‫‪7‬‬ ‫‪7‬‬ ‫‪7‬‬ ‫‪7‬‬
‫⎦⎥ ‪⎢⎣ x5‬‬

‫ﮔﺎم دوم‪ -‬از آﻧﺠﺎﻳﻴﻜﻪ ﺿﺮﻳﺐ ‪ x2‬در ﻣﻌﺎدﻟﻪ دوم ﻳﻚ ﻧﻴﺴﺖ دارﻳﻢ‪،‬‬
‫⎤ ‪⎡ x1‬‬
‫‪⎡1 72‬‬ ‫‪−2‬‬ ‫‪−4‬‬ ‫‪3‬‬ ‫‪8‬‬
‫⎥ ‪⎤ ⎢ x2‬‬
‫‪−7‬‬ ‫⎢‬
‫‪7‬‬ ‫‪7‬‬ ‫‪7‬‬ ‫‪7‬‬ ‫⎥ ⎢‬
‫⎥ ‪−16 −17‬‬
‫‪r2 → r2‬‬ ‫⇒‬ ‫⎢‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪6‬‬
‫‪15‬‬
‫‪−2‬‬
‫‪15‬‬ ‫‪15 15 ⎥ x3‬‬
‫⎥ ⎢‬
‫‪15‬‬ ‫⎢ ⎥ ‪− 25‬‬ ‫⎥‬
‫‪⎢0 −715 −748 167 128‬‬ ‫⎥ ‪7 ⎦ ⎢ x4‬‬
‫⎣‬ ‫‪7‬‬
‫⎦⎥ ‪⎢⎣ x5‬‬
‫ﺣﺬف ﻣﺠﻬﻮل ‪ x2‬از ﺗﻤﺎﻣﻲ ﻣﻌﺎدﻻت ﺑﻪ ﺟﺰ ﻣﻌﺎدﻟﻪ دوم‪،‬‬

‫‪Applied Linear Algebra with MATLAB‬‬


‫‪S. Sedghizadeh, Systems and Control Dept., KNTU‬‬
‫‪121‬‬ ‫ﻓﺼﻞ دوم‪ :‬دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺟﺒﺮي ﺧﻄﻲ‬

‫⎤ ‪⎡ x1‬‬
‫‪15‬‬
‫⎪ ‪r2 + r3 → r3‬‬
‫⎫‬ ‫‪⎡1 0‬‬ ‫‪−6‬‬ ‫‪−8‬‬ ‫‪11‬‬ ‫‪22‬‬
‫⎥ ‪⎤ ⎢ x2‬‬
‫⎪‬ ‫⎢‬
‫‪15‬‬ ‫‪15‬‬ ‫‪15‬‬ ‫‪15‬‬ ‫⎥ ⎢‬
‫‪7‬‬ ‫⎢ ⎥ ‪−16 −17‬‬ ‫⎥‬
‫⎬‬ ‫⇒‬ ‫‪⎢0 1 15‬‬
‫‪6‬‬ ‫‪−2‬‬
‫‪15‬‬ ‫‪15 15 ⎥ x3‬‬
‫‪−2‬‬ ‫⎢‬ ‫⎥‬
‫⎪ ‪r2 + r1 → r1‬‬ ‫‪⎢0 0 − 6‬‬
‫⎣‬ ‫‪2‬‬ ‫⎥ ‪16 − 6⎥⎦ ⎢ x4‬‬
‫‪7‬‬ ‫⎭⎪‬
‫⎦⎥ ‪⎢⎣ x5‬‬

‫ﮔﺎم ﺳﻮم‪ -‬ﺿﺮﻳﺐ ‪ x3‬را در ﻣﻌﺎدﻟﻪ ﺳﻮم ﺑﻪ ﻳﻚ ﺗﺒﺪﻳﻞ ﻣﻲ ﻛﻨﻴﻢ‪،‬‬


‫⎤ ‪⎡ x1‬‬
‫‪⎡1 0‬‬ ‫‪−6‬‬ ‫‪−8‬‬
‫⎥ ‪⎤ ⎢ x2‬‬
‫‪11‬‬ ‫‪22‬‬

‫‪−1‬‬ ‫⎢‬
‫‪15‬‬ ‫‪15‬‬ ‫⎥ ⎢‬ ‫‪15‬‬ ‫‪15‬‬
‫⎥ ‪−16 −17‬‬
‫‪r3 → r3‬‬ ‫⇒‬ ‫⎢‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪6‬‬
‫‪15‬‬
‫‪−2‬‬
‫‪15‬‬ ‫‪15 15 ⎥ x3‬‬
‫⎥ ⎢‬
‫‪6‬‬ ‫⎥ ⎢‬
‫‪⎢0 0 1 3‬‬ ‫‪−‬‬‫‪1‬‬ ‫‪−‬‬ ‫‪8‬‬
‫⎥ ‪1 ⎥⎦ ⎢ x4‬‬
‫⎣‬ ‫‪3‬‬
‫⎦⎥ ‪⎢⎣ x5‬‬
‫ﮔﺎم ﭼﻬﺎرم ‪ -‬ﺣﺬف ﻣﺠﻬﻮل ‪ x3‬از ﺗﻤﺎﻣﻲ ﻣﻌﺎدﻻت ﺑﻪ ﺟﺰ ﻣﻌﺎدﻟﻪ ﺳﻮم‪،‬‬
‫⎤ ‪⎡ x1‬‬
‫⎢ ‪28‬‬
‫‪6‬‬
‫⎪ ‪r3 + r1 → r1‬‬
‫⎫‬ ‫‪⎡1 0 0 −32 −31 15‬‬ ‫⎥ ‪⎤ x2‬‬
‫⎪‬ ‫⎢‬ ‫⎥ ⎢‬
‫‪15‬‬ ‫⎥ ‪− 23‬‬
‫⎬‬ ‫⇒‬ ‫⎢‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫‪15 ⎥ x3‬‬
‫⎥ ⎢‬
‫‪−6‬‬
‫⎪ ‪r3 + r2 → r2‬‬ ‫⎥ ‪⎢0 0 1 −31 −38 1 ⎥ ⎢ x4‬‬
‫‪15‬‬ ‫⎭⎪‬ ‫⎣‬ ‫⎥ ⎢⎦‬
‫⎦⎥ ‪⎢⎣ x5‬‬
‫ﮔﺎم ﭘﻨﺠﻢ‪ -‬ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ اﻳﻨﻜﻪ ‪ x4‬و ‪ x5‬ﻣﺘﻐﻴﺮﻫﺎي آزاد ﻫﺴﺘﻨﺪ‪ ،‬دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺣﺎﺻﻞ را ﺣﻞ ﻣﻲ ﻛﻨﻴﻢ‪،‬‬
‫‪2‬‬ ‫‪1‬‬ ‫⎫ ‪28‬‬ ‫⎧‬ ‫‪28 2‬‬ ‫‪1‬‬
‫⎪ = ‪x1 − x4 − x5‬‬ ‫‪⎪ x1 = 15 + 3 x4 + 3 x5‬‬
‫‪3‬‬ ‫‪3‬‬ ‫‪15‬‬
‫⎪‬ ‫⎪‬
‫⎪ ‪− 23‬‬ ‫⎪‬ ‫‪− 23‬‬
‫= ‪x2‬‬ ‫→⎬‬ ‫= ‪⎨ x2‬‬
‫⎪ ‪15‬‬ ‫⎪‬ ‫‪15‬‬
‫‪1‬‬ ‫‪8‬‬ ‫⎪‬ ‫⎪‬ ‫‪1‬‬ ‫‪8‬‬
‫⎪ ‪x3 − x 4 − x 5 = 1‬‬ ‫‪⎪ x3 = 1 + 3 x 4 + 3 x 5‬‬
‫‪3‬‬ ‫‪3‬‬ ‫⎭‬ ‫⎩‬
‫□‬

‫ﻣﺜﺎل‪24-2‬‬
‫دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺟﺒﺮي ﺧﻄﻲ زﻳﺮ را در ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ‪،‬‬
‫‪⎧3 x1 − 4 x2 = 10‬‬
‫⎪‬
‫‪⎨− 5 x1 + 8 x2 = −17‬‬
‫‪⎪− 3 x + 12 x = −12‬‬
‫⎩‬ ‫‪1‬‬ ‫‪2‬‬

‫ﻓﺮم ﻣﺎﺗﺮﻳﺲ اﻓﺰوده اﻳﻦ ﻣﻌﺎدﻻت ﺑﺼﻮرت زﻳﺮ ﻣﻲ ﺑﺎﺷﺪ‪،‬‬

‫‪Applied Linear Algebra with MATLAB‬‬


‫‪S. Sedghizadeh, Systems and Control Dept., KNTU‬‬
‫ﻓﺼﻞ دوم‪ :‬دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺟﺒﺮي ﺧﻄﻲ‬ ‫‪122‬‬

‫⎤ ‪⎡ 3 − 4 10‬‬
‫⎥⎥‪[A b] → ⎢⎢− 5 8 − 17‬‬
‫⎦⎥‪⎢⎣ − 3 12 − 12‬‬
‫ﮔﺎم اول‪ -‬از آﻧﺠﺎﻳﻴﻜﻪ ﺿﺮﻳﺐ ‪ x1‬در ﻣﻌﺎدﻟﻪ اول ﻳﻚ ﻧﻴﺴﺖ دارﻳﻢ‪،‬‬
‫⎤ ‪⎡ 1 −34 103‬‬
‫‪1‬‬ ‫⎢‬ ‫⎤ ‪⎥ ⎡ x1‬‬
‫‪r1 → r1‬‬ ‫⇒‬ ‫⎢‬ ‫‪−‬‬ ‫‪5‬‬ ‫‪8‬‬ ‫‪−‬‬ ‫‪17‬‬ ‫⎥ ‪⎥⎢x‬‬
‫‪3‬‬
‫⎦ ‪⎢ − 3 12 − 12⎥ ⎣ 2‬‬
‫⎣‬ ‫⎦‬
‫ﺣﺬف ﻣﺠﻬﻮل ‪ x1‬از ﺗﻤﺎم ﻣﻌﺎدﻻت ﺑﻪ ﺟﺰ ﻣﻌﺎدﻟﻪ اول‪،‬‬
‫⎤ ‪⎡1 −34 103‬‬
‫⎫ ‪5r1 + r2 → r2‬‬ ‫⎢‬ ‫⎥ ‪4 −1‬‬
‫⎤ ‪⎡ x1‬‬
‫⎬‬ ‫⇒‬ ‫⎢‬ ‫‪0‬‬ ‫⎥ ‪⎥⎢x‬‬
‫⎭ ‪3r1 + r3 → r3‬‬ ‫‪3‬‬ ‫‪3‬‬
‫⎦ ‪⎢0 8 − 2 ⎥ ⎣ 2‬‬
‫⎣‬ ‫⎦‬
‫ﮔﺎم دوم‪ -‬از آﻧﺠﺎﻳﻴﻜﻪ ﺿﺮﻳﺐ ‪ x2‬در ﻣﻌﺎدﻟﻪ دوم ﻳﻚ ﻧﻴﺴﺖ دارﻳﻢ‪،‬‬
‫⎤ ‪⎡1 −34 103‬‬
‫‪3‬‬ ‫⎢‬ ‫⎥ ‪−1‬‬
‫⎤ ‪⎡ x1‬‬
‫‪r2 → r2‬‬ ‫⇒‬ ‫⎢‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪4‬‬ ‫⎥ ‪⎥⎢x‬‬
‫‪4‬‬
‫⎦ ‪⎢0 8 − 2⎥ ⎣ 2‬‬
‫⎣‬ ‫⎦‬
‫ﺣﺬف ﻣﺠﻬﻮل ‪ x2‬از ﺗﻤﺎم ﻣﻌﺎدﻻت ﺑﻪ ﺟﺰ ﻣﻌﺎدﻟﻪ دوم‪،‬‬
‫⎫ ‪− 8r2 + r3 → r3‬‬ ‫⎤ ‪⎡1 0 3‬‬
‫⎪‬ ‫⎢‬ ‫⎥ ‪−1‬‬
‫⎤ ‪⎡ x1‬‬
‫‪4‬‬ ‫⎬‬ ‫⇒‬ ‫⎢‬ ‫‪0‬‬ ‫‪1‬‬ ‫‪4‬‬ ‫⎥ ‪⎥⎢x‬‬
‫⎪ ‪r2 + r1 → r1‬‬
‫‪3‬‬ ‫⎭‬ ‫⎦ ‪⎢⎣0 0 0 ⎥⎦ ⎣ 2‬‬
‫ﻫﻤﺎﻧﻄﻮر ﻛﻪ ﭘﻴﺪاﺳﺖ ﺳﻴﺴﺘﻢ ﺳﺎزﮔﺎر اﺳﺖ و ﺟﻮاب دارد‪ ،‬ﻟﺬا ﺟﻮاب ﻫﺎ را ﺑﺪﺳﺖ ﻣﻲ آورﻳﻢ‪،‬‬
‫‪−1‬‬
‫‪x1 = 3 ,‬‬ ‫= ‪x2‬‬
‫‪4‬‬
‫ﺑﺎ اﺳﺘﻔﺎده از ﻧﺮم اﻓﺰار ‪ MATLAB‬دارﻳﻢ‪،‬‬
‫;]‪A = [3 - 4;-5 8;-3 12‬‬

‫;]‪b = [10;-17;-12‬‬

‫)]‪rref([A b‬‬

‫= ‪ans‬‬
‫‪1.0000‬‬ ‫‪0‬‬ ‫‪3.0000‬‬

‫‪0‬‬ ‫‪1.0000‬‬ ‫‪- 0.2500‬‬

‫‪0‬‬ ‫‪0‬‬ ‫‪0‬‬


‫□‬

‫‪Applied Linear Algebra with MATLAB‬‬


‫‪S. Sedghizadeh, Systems and Control Dept., KNTU‬‬
‫‪123‬‬ ‫ﻓﺼﻞ دوم‪ :‬دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺟﺒﺮي ﺧﻄﻲ‬

‫ﻣﺜﺎل‪25-2‬‬
‫ﺷﻜﻞ زﻳﺮ ﺑﻴﺎﻧﮕﺮ روﻧﺪ ﺗﺮاﻓﻴﻚ در ﻃﻮل ﺧﻴﺎﺑﺎﻧﻬﺎي ﺑﺨﺸﻲ از ﻳﻚ ﺷﻬﺮ ﻣﻲ ﺑﺎﺷﺪ‪ .‬ﺗﻤﺎﻣﻲ ﺧﻴﺎﺑﺎن ﻫﺎ ﻳﻜﻄﺮﻓﻪ‬
‫ﺑﻮده و ﻣﺤﻞ ﺗﻘﺎﻃﻊ ﻫﺎ ﺑﺎ ﮔﺮه ﻫﺎ ﻧﻤﺎﻳﺶ داده ﺷﺪه اﺳﺖ‪،‬‬

‫ﻣﻌﺎدﻻت را ﺑﺮاي ﻫﺮ ﻳﻚ از ﮔﺮه ﻫﺎ ﺑﺼﻮرت زﻳﺮ ﻣﻲ ﺗﻮان ﻧﻮﺷﺖ‪،‬‬


‫‪A : 200 + x3 = x1 + x2‬‬
‫‪B : 200 + x2 = 300 + x4‬‬
‫‪C : 400 + x5 = 300 + x3‬‬
‫‪D : 500 + x4 = 300 + x5‬‬

‫ﻓﺮض ﻛﻨﻴﺪ ﻛﻪ ﻛﻞ ﺑﺎر وارد ﺷﺪه در ﺷﺒﻜﻪ ﺑﺮاﺑﺮ ﺑﺎ ﻛﻞ ﺑﺎر ﺧﺎرج ﺷﺪه از ﺷﺒﻜﻪ اﺳﺖ‪،‬‬
‫‪400 + 200 + 200 + 500 = 300 + 300 + x1 + 300‬‬
‫ﺑﻨﺎﺑﺮاﻳﻦ دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺧﻄﻲ ﺑﺎ ﭘﻨﺞ ﻣﻌﺎدﻟﻪ و ﭘﻨﺞ ﻣﺠﻬﻮل زﻳﺮ ﺑﺪﺳﺖ ﻣﻲ آﻳﺪ‪،‬‬
‫‪x1+ x2 − x3 = 200‬‬
‫‪x2 − x4 = 100‬‬
‫‪x3 − x5 = 100‬‬
‫‪x4 − x5 = −200‬‬
‫‪x1 = 400‬‬
‫ﺑﺮاي اﻳﻦ دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺧﻄﻲ ﻣﺎﺗﺮﻳﺲ اﻓﺰوده زﻳﺮ ﻗﺎﺑﻞ ﻧﻮﺷﺘﻦ اﺳﺖ‪،‬‬
‫‪⎡1‬‬ ‫‪1 −1‬‬ ‫‪0‬‬ ‫⎤ ‪0 200 ⎤ ⎡ x1‬‬
‫⎢‬ ‫⎥‬
‫‪⎢0‬‬ ‫‪1‬‬ ‫‪0‬‬ ‫⎥⎥ ‪− 1 0 100 ⎥ ⎢⎢ x2‬‬
‫‪⎢0‬‬ ‫‪0‬‬ ‫‪1‬‬ ‫⎥ ‪0 − 1 100 ⎥ ⎢ x3‬‬
‫⎢‬ ‫⎥ ⎢⎥‬
‫‪⎢0‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫⎥ ‪1 − 1 − 200⎥ ⎢ x4‬‬
‫‪⎢1‬‬ ‫‪0‬‬ ‫‪0‬‬ ‫⎦⎥ ‪0 0 400 ⎥⎦ ⎢⎣ x5‬‬
‫⎣‬

‫‪Applied Linear Algebra with MATLAB‬‬


‫‪S. Sedghizadeh, Systems and Control Dept., KNTU‬‬
‫ﻓﺼﻞ دوم‪ :‬دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺟﺒﺮي ﺧﻄﻲ‬ ‫‪124‬‬

‫ﺑﺎ ﺗﺒﺪﻳﻞ ﺑﻪ ﻓﺮم ﺳﻄﺮي ﭘﻠﻜﺎﻧﻲ ﻛﺎﻫﺶ ﻳﺎﻓﺘﻪ ﺧﻮاﻫﻴﻢ داﺷﺖ‪،‬‬


‫‪⎡1‬‬ ‫‪0 0 0‬‬ ‫⎤ ‪0 400 ⎤ ⎡ x1‬‬
‫⎢‬ ‫⎥‬
‫‪⎢0‬‬ ‫‪1 0 −1‬‬ ‫⎥⎥ ‪0 100 ⎥ ⎢⎢ x2‬‬
‫‪⎢0‬‬ ‫‪0 1‬‬ ‫‪0‬‬ ‫⎥ ‪− 1 100 ⎥ ⎢ x3‬‬
‫⎢‬ ‫⎥ ⎢⎥‬
‫‪⎢0‬‬ ‫‪0 0‬‬ ‫‪1‬‬ ‫⎥ ‪− 1 − 200⎥ ⎢ x4‬‬
‫‪⎢0‬‬ ‫‪0 0‬‬ ‫‪0‬‬ ‫⎦⎥ ‪0 0 ⎥⎦ ⎢⎣ x5‬‬
‫⎣‬
‫ﺑﻨﺎﺑﺮاﻳﻦ ﺟﻮاب ﻛﻠﻲ ﺑﺼﻮرت زﻳﺮ ﺑﺪﺳﺖ ﻣﻲ آﻳﺪ‪،‬‬
‫‪x1 = 400 ,‬‬ ‫‪x2 = x5 − 100 ,‬‬ ‫‪x3 = x5 + 100 ,‬‬ ‫‪x4 = x5 − 200‬‬
‫از آﻧﺠﺎﺋﻴﻜﻪ ﺧﻴﺎﺑﺎﻧﻬﺎ ﻳﻜﻄﺮﻓﻪ ﻣﻲ ﺑﺎﺷﻨﺪ ﻣﻘﺪار ﺑﺎر ﻧﻤﻲ ﺗﻮاﻧﺪ ﻣﻨﻔﻲ ﺑﺎﺷﺪ‪ ،‬ﭘﺲ ﺑﺎﻳﺪ ‪ x5 ≥ 200‬اﻧﺘﺨﺎب‬
‫ﮔﺮدد‪.‬‬
‫□‬

‫ﻳﻜﻲ از ﻛﺎرﺑﺮدﻫﺎي دﺳﺘﻮر )‪ rref(A‬در ﺗﺸﺨﻴﺺ ﺳﺎزﮔﺎر ﻳﺎ ﻧﺎﺳﺎزﮔﺎر ﺑﻮدن دﺳﺘﮕﺎه ﻣﻌﺎدﻻت‬
‫اﺳﺖ‪ .‬ﻣﻌﺎدﻻت ﻣﻌﺮﻓﻲ ﺷﺪه ﺑﺎ ﻣﺎﺗﺮﻳﺲ اﻓﺰوده ] ‪ [A b‬زﻣﺎﻧﻲ ﺳﺎزﮔﺎر اﺳﺖ‪ ،‬ﻛﻪ در ﻓﺮم ﺳﻄﺮي ﭘﻠﻜﺎﻧﻲ‬
‫ﻛﺎﻫﺶ ﻳﺎﻓﺘﻪ ﻳﺎ ﻓﺮم ﺳﻄﺮي ﭘﻠﻜﺎﻧﻲ آن‪ ،‬ﺳﻄﺮي ﺑﻪ ﺷﻜﻞ زﻳﺮ ﻇﺎﻫﺮ ﻧﺸﺪه ﺑﺎﺷﺪ‪،‬‬
‫‪(0‬‬ ‫‪0 L 0 α ), α ≠ 0‬‬ ‫)‪(8-2‬‬
‫در ﻏﻴﺮ اﻳﻨﺼﻮرت ﻣﻌﺎدﻟﻪ ﺣﺎﺻﻞ از ﺳﻄﺮ ﻣﺬﻛﻮر ﺑﺼﻮرت زﻳﺮ در ﺧﻮاﻫﺪ آﻣﺪ‪،‬‬
‫‪0 x1 + 0 x2 + L + 0 xn = α‬‬
‫ﻛﻪ ﺑﺮاي ‪ α ≠ 0‬اﻳﻦ ﻣﻌﺎدﻟﻪ راه ﺣﻠﻲ ﻧﺪارد و ﻧﺘﻴﺠﺘﺎً دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺧﻄﻲ اﺻﻠﻲ ﻧﺎﺳﺎزﮔﺎر ﺧﻮاﻫﺪ ﺑﻮد‪.‬‬

‫ﻣﺜﺎل‪26-2‬‬
‫دﺳﺘﮕﺎه ﻣﻌﺎدﻻت زﻳﺮ را در ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ‪،‬‬
‫‪⎧ x1 + x2 + x3 = 3‬‬
‫⎪‬
‫‪⎨2 x1 − x2 − x3 = 5‬‬
‫‪⎪2 x + 2 x + 2 x = 7‬‬
‫‪⎩ 1‬‬ ‫‪2‬‬ ‫‪3‬‬

‫اﻳﻦ دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﻧﻤﻮﻧﻪ اي از ﻳﻚ ﺳﻴﺴﺘﻢ ﻧﺎﺳﺎزﮔﺎر اﺳﺖ‪ .‬زﻳﺮا ﻓﺮم ﺳﻄﺮي ﭘﻠﻜﺎﻧﻲ آن ﺑﻪ ﺷﻜﻞ زﻳﺮ‬
‫ﻣﻲ ﺑﺎﺷﺪ‪،‬‬
‫⎤ ‪⎡1 1 1 3⎤ ⎡ x1‬‬
‫⎢‬ ‫⎢⎥ ‪1‬‬ ‫⎥‬
‫⎥ ‪⎢0 1 1 3 ⎥ ⎢ x 2‬‬
‫⎦⎥ ‪⎢⎣0 0 0 1⎥⎦ ⎢⎣ x3‬‬
‫□‬

‫‪Applied Linear Algebra with MATLAB‬‬


‫‪S. Sedghizadeh, Systems and Control Dept., KNTU‬‬
‫‪125‬‬ ‫ﻓﺼﻞ دوم‪ :‬دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺟﺒﺮي ﺧﻄﻲ‬

‫ﻣﺜﺎل‪27-2‬‬
‫دﺳﺘﮕﺎه ﻣﻌﺎدﻻت زﻳﺮ را در ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ و در ﺻﻮرت ﺳﺎزﮔﺎر ﺑﻮدن ﺟﻮاب آن را ﺑﺪﺳﺖ آورﻳﺪ‪،‬‬
‫‪⎧3 x1 − 4 x2 = 10‬‬
‫⎪‬
‫‪⎨− 5 x1 + 8 x2 = −17‬‬
‫‪⎪− 3 x + 12 x = −12‬‬
‫⎩‬ ‫‪1‬‬ ‫‪2‬‬

‫اﻳﻦ دﺳﺘﮕﺎه ﻳﻚ ﺳﻴﺴﺘﻢ ﻓﺮاﻣﻌﻴﻦ اﺳﺖ‪ ،‬ﻓﺮم ﻣﺎﺗﺮﻳﺲ اﻓﺰوده اﻳﻦ ﻣﻌﺎدﻻت ﺑﺼﻮرت زﻳﺮ ﻣﻲ ﺑﺎﺷﺪ‪،‬‬
‫⎤ ‪⎡ 3 − 4 10‬‬
‫⎥⎥‪[A b] → ⎢⎢− 5 8 − 17‬‬
‫⎦⎥‪⎢⎣ − 3 12 − 12‬‬
‫ﮔﺎم اول‪ -‬از آﻧﺠﺎﻳﻴﻜﻪ ﺿﺮﻳﺐ ‪ x1‬در ﻣﻌﺎدﻟﻪ اول ﻳﻚ ﻧﻴﺴﺖ دارﻳﻢ‪،‬‬
‫⎤ ‪⎡ 1 −34 103‬‬
‫‪1‬‬ ‫⎢‬ ‫⎤ ‪⎥ ⎡ x1‬‬
‫‪r1 → r1‬‬ ‫⇒‬ ‫⎢‬ ‫‪−‬‬ ‫‪5‬‬ ‫‪8‬‬ ‫‪−‬‬ ‫‪17‬‬ ‫⎥ ‪⎥⎢x‬‬
‫‪3‬‬
‫⎦ ‪⎢ − 3 12 − 12⎥ ⎣ 2‬‬
‫⎣‬ ‫⎦‬
‫ﺣﺬف ﻣﺠﻬﻮل ‪ x1‬از ﻣﻌﺎدﻻت دوم و ﺳﻮم‪،‬‬
‫⎤ ‪⎡1 −34 103‬‬
‫⎫ ‪5r1 + r2 → r2‬‬ ‫⎢‬ ‫⎥ ‪4 −1‬‬
‫⎤ ‪⎡ x1‬‬
‫⎬‬ ‫⇒‬ ‫⎢‬ ‫‪0‬‬ ‫⎥ ‪⎥⎢x‬‬
‫⎭ ‪3r1 + r3 → r3‬‬ ‫‪3‬‬ ‫‪3‬‬
‫⎦ ‪⎢0 8 − 2 ⎥ ⎣ 2‬‬
‫⎣‬ ‫⎦‬
‫ﮔﺎم دوم‪ -‬از آﻧﺠﺎﻳﻴﻜﻪ ﺿﺮﻳﺐ ‪ x2‬در ﻣﻌﺎدﻟﻪ دوم ﻳﻚ ﻧﻴﺴﺖ دارﻳﻢ‪،‬‬
‫‪⎡1‬‬ ‫‪−4‬‬
‫‪3‬‬
‫⎤‬
‫‪10‬‬
‫‪3‬‬
‫‪3‬‬ ‫⎢‬ ‫⎤ ‪⎥⎡ x‬‬
‫‪r2 → r2‬‬ ‫⇒‬ ‫‪⎢0‬‬ ‫⎥ ‪1 −41 ⎥ ⎢ 1‬‬
‫‪4‬‬
‫⎦ ‪8 − 2⎥⎦ ⎣ 2‬‬
‫‪x‬‬
‫‪⎢0‬‬
‫⎣‬
‫ﺣﺬف ﻣﺠﻬﻮل ‪ x2‬از ﻣﻌﺎدﻟﻪ ﺳﻮم‪،‬‬
‫⎤ ‪⎡1 −34 103‬‬
‫⎢‬ ‫⎥ ‪−1‬‬
‫⎤ ‪⎡ x1‬‬
‫‪− 8r2 + r3 → r3‬‬ ‫⇒‬ ‫‪0‬‬ ‫‪1‬‬ ‫⎢⎥ ‪4‬‬
‫⎢‬ ‫⎥ ‪x‬‬
‫⎦ ‪⎢0 0 0 ⎥ ⎣ 2‬‬
‫⎣‬ ‫⎦‬
‫ﻫﻤﺎﻧﻄﻮر ﻛﻪ ﭘﻴﺪاﺳﺖ ﺳﻴﺴﺘﻢ ﺳﺎزﮔﺎر ﺑﻮده و دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺟﻮاب دارد‪ .‬ﻟﺬا ﺟﻮاب ﻫﺎ را ﺑﺪﺳﺖ ﻣﻲ‬
‫آورﻳﻢ‪،‬‬

‫‪Applied Linear Algebra with MATLAB‬‬


‫‪S. Sedghizadeh, Systems and Control Dept., KNTU‬‬
‫ﻓﺼﻞ دوم‪ :‬دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺟﺒﺮي ﺧﻄﻲ‬ ‫‪126‬‬

‫‪4‬‬ ‫⎫ ‪10‬‬
‫⎪ = ‪x1 − x2‬‬
‫‪3‬‬ ‫⎪‪3‬‬ ‫‪−1‬‬
‫⎬‬ ‫→‬ ‫‪x1 = 3 ,‬‬ ‫= ‪x2‬‬
‫‪−1‬‬ ‫⎪‬ ‫‪4‬‬
‫= ‪x2‬‬ ‫⎭⎪‬
‫‪4‬‬
‫□‬

‫ﻣﺜﺎل‪28-2‬‬
‫ﻧﺸﺎن دﻫﻴﺪ ﺳﻴﺴﺘﻢ زﻳﺮ ﺑﻪ ﺷﺮﻃﻲ ﺳﺎزﮔﺎر اﺳﺖ ﻛﻪ ‪ c = 2a − 3b‬ﺑﺎﺷﺪ‪.‬‬
‫‪⎧2 x1 − x 2 + 3x3 = a‬‬
‫⎪‬
‫‪⎨3x1 + x 2 − 5 x3 = b‬‬
‫‪⎪− 5 x − 5 x + 21x = c‬‬
‫⎩‬ ‫‪1‬‬ ‫‪2‬‬ ‫‪3‬‬

‫ﻓﺮم ﻣﺎﺗﺮﻳﺲ اﻓﺰوده اﻳﻦ ﻣﻌﺎدﻻت ﺑﺼﻮرت زﻳﺮ ﻣﻲ ﺑﺎﺷﺪ‪،‬‬


‫⎤‪⎡ 2 − 1 3 a‬‬
‫⎥⎥ ‪[A b] → ⎢⎢ 3 1 − 5 b‬‬
‫⎦⎥ ‪⎢⎣− 5 − 5 21 c‬‬
‫ﺑﺎ اﻋﻤﺎل روش ﺣﺬﻓﻲ‪ -‬ﮔﻮﺳﻲ‪ ،‬ﻓﺮم ﺳﻄﺮي ﭘﻠﻜﺎﻧﻲ را ﺑﺪﺳﺖ ﻣﻲ آورﻳﻢ‪،‬‬
‫‪⎡1‬‬ ‫‪−1‬‬
‫‪2‬‬
‫‪3 a‬‬
‫⎤‬
‫⎤ ‪2 2 ⎡ x1‬‬
‫‪1‬‬ ‫⎢‬ ‫⎥‬
‫‪r1 → r1‬‬ ‫⇒‬ ‫⎢‬ ‫‪3‬‬ ‫⎥⎥ ‪1 − 5 b ⎥ ⎢⎢ x2‬‬
‫‪2‬‬
‫⎦⎥ ‪⎢− 5 − 5 21 c ⎥ ⎢⎣ x3‬‬
‫⎣‬ ‫⎦‬
‫‪⎡1 2‬‬ ‫‪−1‬‬ ‫‪3‬‬ ‫‪a‬‬
‫⎤ ‪⎤ ⎡ x1‬‬
‫⎫ ‪− 3r1 + r2 → r2‬‬ ‫⎢‬
‫‪2‬‬ ‫‪2‬‬
‫⎥ ⎢⎥‬
‫⇒ ⎬‬ ‫⎥ ‪2 2 a + b ⎥ ⎢ x2‬‬
‫‪−19 −3‬‬
‫⎢‬ ‫‪0 2‬‬‫‪5‬‬
‫⎭ ‪5r1 + r3 → r3‬‬
‫‪⎢0 −15‬‬ ‫‪57 5‬‬ ‫⎥ ⎢⎥‬
‫⎦ ‪2 a + c ⎦ ⎣ x3‬‬
‫⎣‬ ‫‪2‬‬ ‫‪2‬‬

‫‪⎡1 −21‬‬ ‫‪3‬‬


‫‪2‬‬
‫‪a‬‬
‫‪2‬‬
‫⎤ ‪⎤ ⎡ x1‬‬
‫‪2‬‬ ‫⎢‬ ‫⎢⎥ ‪2‬‬ ‫⎥‬
‫‪r2 → r2‬‬ ‫⇒‬ ‫⎢‬ ‫‪0 1 −19‬‬ ‫⎥ ‪5 5 a + 5 b ⎥ ⎢ x2‬‬
‫‪−3‬‬
‫‪5‬‬
‫‪⎢0 −15‬‬ ‫‪57‬‬ ‫⎥ ⎢⎥‬
‫⎦ ‪2 a + c ⎦ ⎣ x3‬‬
‫‪5‬‬
‫⎣‬ ‫‪2‬‬ ‫‪2‬‬

‫‪⎡1 −21 32‬‬ ‫‪a‬‬


‫‪2‬‬
‫⎤ ‪⎤ ⎡ x1‬‬
‫‪15‬‬ ‫⎢‬ ‫⎥ ⎢⎥‬
‫‪r2 + r3 → r3‬‬ ‫⇒‬ ‫⎢‬ ‫‪0 1 5‬‬ ‫‪−19‬‬
‫⎥ ‪5 a + 5 b ⎥ ⎢ x2‬‬
‫‪−3‬‬ ‫‪2‬‬
‫‪2‬‬
‫⎦⎥ ‪⎢0 0 0 − 2a + 3b + c ⎥ ⎢⎣ x3‬‬
‫⎣‬ ‫⎦‬
‫ﻟﺬا ﺑﺮاي ﺳﺎزﮔﺎر ﺑﻮدن دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺑﺎﻳﺪ ‪ − 2a + 3b + c = 0‬ﺑﺎﺷﺪ‪ .‬ﺑﻨﺎﺑﺮاﻳﻦ‪ c = 2a − 3b ،‬اﺳﺖ‪.‬‬
‫□‬

‫‪Applied Linear Algebra with MATLAB‬‬


‫‪S. Sedghizadeh, Systems and Control Dept., KNTU‬‬
‫‪127‬‬ ‫ﻓﺼﻞ دوم‪ :‬دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺟﺒﺮي ﺧﻄﻲ‬

‫ﻧﻤﻮﻧﻪ اي دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﻛﻪ ﻫﻤﻮاره ﺳﺎزﮔﺎر اﺳﺖ دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﻫﻤﮕﻦ‪ 1‬ﻣﻲ ﺑﺎﺷﺪ‪ .‬ﻓﺮم‬
‫ﻛﻠﻲ دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺟﺒﺮي ﺧﻄﻲ ﻫﻤﮕﻦ ﺑﺼﻮرت زﻳﺮ ﻣﻲ ﺑﺎﺷﺪ‪،‬‬
‫‪a11 x1 + a12 x2 + L + a1n xn = 0‬‬
‫‪a21 x1 + a22 x2 + L + a2 n xn = 0‬‬
‫)‪(9-2‬‬
‫‪M‬‬
‫‪am1 x1 + am 2 x2 + L + amn xn = 0‬‬
‫ﻫﻤﺎﻧﻄﻮر ﻛﻪ از ﻣﻌﺎدﻻت ﺑﺎﻻ ﺑﺮ ﻣﻲ آﻳﺪ دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺧﻄﻲ ﻫﻤﮕﻦ ﺳﺎزﮔﺎر ﻣﻲ ﺑﺎﺷﺪ‪ ،‬زﻳﺮا ﺷﺮط‬
‫ﻧﺎﺳﺎزﮔﺎري ﻫﺮﮔﺰ رخ ﻧﺨﻮاﻫﺪ داد‪ ،‬ﻫﻤﭽﻨﻴﻦ ﻳﻚ ﻣﺠﻤﻮﻋﻪ ﺟﻮاب ﭘﺎﺳﺦ ﺑﺪﻳﻬﻲ‪ 2‬ﻳﻌﻨﻲ ‪ x = 0‬ﺑﺮاي ﺣﻞ‬
‫اﻳﻦ ﻣﻌﺎدﻻت ﻫﻤﻮاره وﺟﻮد دارد‪ .‬اﻟﺒﺘﻪ ﮔﺎﻫﻲ دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺧﻄﻲ ﻫﻤﮕﻦ ﻣﻲ ﺗﻮاﻧﺪ ﻋﻼوه ﺑﺮ ﭘﺎﺳﺦ‬
‫ﺑﺪﻳﻬﻲ ﺑﻴﺸﻤﺎر ﺟﻮاب دﻳﮕﺮ ﻫﻢ داﺷﺘﻪ ﺑﺎﺷﺪ‪.‬‬

‫ﻣﺜﺎل ‪29-2‬‬
‫دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﻫﻤﮕﻦ زﻳﺮ را در ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ‪،‬‬
‫‪⎧ x1 + 2 x2 + 2 x3 = 0‬‬
‫⎪‬
‫‪⎨2 x1 + 5 x2 + 3 x3 = 0‬‬
‫‪⎪3 x + 6 x + 8 x = 0‬‬
‫‪⎩ 1‬‬ ‫‪2‬‬ ‫‪3‬‬

‫ﻣﺎﺗﺮﻳﺲ اﻓﺰوده و ﺗﺒﺪﻳﻞ آن ﺑﺎ روش ﺧﺬﻓﻲ ﮔﻮﺳﻲ ﺑﺼﻮرت زﻳﺮ ﺑﺪﺳﺖ ﻣﻲ آﻳﺪ‪،‬‬
‫⎤ ‪⎡1 2 2 0⎤ ⎡ x1‬‬ ‫⎤ ‪⎡1 2 2 0⎤ ⎡ x1‬‬
‫⎢‬ ‫⎥ ⎢⎥‬ ‫⎢‬ ‫⎥ ⎢⎥‬
‫⎥ ‪⎢ 2 5 3 0⎥ ⎢ x 2‬‬ ‫→‬ ‫⎥ ‪⎢0 1 − 1 0 ⎥ ⎢ x 2‬‬
‫⎦⎥ ‪⎢⎣3 6 8 0⎥⎦ ⎢⎣ x 3‬‬ ‫⎦⎥ ‪⎢⎣0 0 2 0⎥⎦ ⎢⎣ x3‬‬
‫ﺑﺎ ﺣﻞ اﻳﻦ ﻣﻌﺎدﻻت در ﻣﻲ ﻳﺎﺑﻴﻢ ﻛﻪ ﺗﻨﻬﺎ ﺟﻮاب ﻣﻤﻜﻦ ﭘﺎﺳﺦ ﺑﺪﻳﻬﻲ )‪ ( x1 , x2 , x3 ) = (0,0,0‬ﻣﻲ ﺑﺎﺷﺪ‪.‬‬
‫□‬

‫ﻣﺜﺎل ‪30-2‬‬
‫دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﻫﻤﮕﻦ زﻳﺮ را در ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ‪،‬‬
‫‪⎧ x1 + 2 x2 + 2 x3 + 3 x4 = 0‬‬
‫⎪‬
‫‪⎨2 x1 + 4 x2 + x3 + 3 x4 = 0‬‬
‫‪⎪3 x + 6 x + x + 4 x = 0‬‬
‫‪⎩ 1‬‬ ‫‪2‬‬ ‫‪3‬‬ ‫‪4‬‬

‫‪١‬‬
‫‪Homogeneous Systems‬‬
‫‪٢‬‬
‫‪Trivial Solution‬‬

‫‪Applied Linear Algebra with MATLAB‬‬


‫‪S. Sedghizadeh, Systems and Control Dept., KNTU‬‬
‫ﻓﺼﻞ دوم‪ :‬دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺟﺒﺮي ﺧﻄﻲ‬ ‫‪128‬‬

‫ﻣﺎﺗﺮﻳﺲ اﻓﺰوده و ﺗﺒﺪﻳﻞ آن ﺑﺎ روش ﺳﻄﺮي ﭘﻠﻜﺎﻧﻲ ﺑﺼﻮرت زﻳﺮ ﺑﺪﺳﺖ ﻣﻲ آﻳﺪ‪،‬‬
‫‪⎡ 1 2 2 3 0 ⎤ ⎡1 2 2‬‬ ‫‪3 0⎤ ⎡1 2 2‬‬ ‫⎤ ‪3 0 ⎤ ⎡1 2 2 3 0‬‬
‫⎢‬ ‫⎢ ⎥‬ ‫⎢ ⎥‬ ‫⎢ ⎥‬ ‫⎥‬
‫‪⎢ 2 4 1 3 0 ⎥ → ⎢0 0 − 3 − 3 0 ⎥ → ⎢0 0 1‬‬ ‫⎥ ‪1 0 ⎥ → ⎢0 0 1 1 0‬‬
‫⎦⎥‪⎢⎣3 6 1 4 0⎥⎦ ⎢⎣0 0 − 5 − 5 0⎥⎦ ⎢⎣0 0 − 5 − 5 0⎥⎦ ⎢⎣0 0 0 0 0‬‬

‫ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﻣﺤﻞ ﻋﻨﺎﺻﺮ ﻣﺤﻮري ‪ x1‬و ‪ x3‬ﻣﺘﻐﻴﺮﻫﺎي واﺑﺴﺘﻪ و ‪ x2‬و ‪ x4‬ﻣﺘﻐﻴﺮﻫﺎي آزاد ﻫﺴﺘﻨﺪ‪.‬‬
‫‪x1 = −2 x2 − x4‬‬ ‫‪,‬‬ ‫‪x3 = − x 4‬‬

‫ﻫﻤﺎﻧﻄﻮر ﻛﻪ ﻣﺸﺎﻫﺪه ﻣﻲ ﺷﻮد در اﻳﻦ ﺣﺎﻟﺖ دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﻋﻼوه ﺑﺮ ﭘﺎﺳﺦ ﺑﺪﻳﻬﻲ‪ ،‬ﺑﻴﻨﻬﺎﻳﺖ ﺟﻮاب‬
‫دﻳﮕﺮ ﻫﻢ ﺧﻮاﻫﺪ داﺷﺖ‪.‬‬
‫□‬

‫‪ -4-2‬ﺣﻞ دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺟﺒﺮي ﺧﻄﻲ ﺑﺮ ﭘﺎﻳﻪ ﺗﺠﺰﻳﻪ ﻣﺎﺗﺮﻳﺲ ﻫﺎ‬


‫ﻳﻜﻲ دﻳﮕﺮ از روش ﻫﺎي ﺣﻞ دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺗﺠﺰﻳﻪ ﻣﺎﺗﺮﻳﺲ ﺿﺮاﻳﺐ ﺑﻪ ﺣﺎﺻﻠﻀﺮب ﭼﻨﺪ‬
‫ﻣﺎﺗﺮﻳﺲ ﺳﺎده ﺗﺮ اﺳﺖ ﻛﻪ ﻣﻌﻤﻮﻻً ﺑﻪ ﻓﺮم ﻗﻄﺮي ﻳﺎ ﻣﺜﻠﺜﻲ ﻫﺴﺘﻨﺪ‪ .‬در ﺣﻞ دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ‪Ax = b‬‬
‫ﻣﺎﺗﺮﻳﺲ ﺿﺮاﻳﺐ ‪ A‬ﺑﺼﻮرت ﺣﺎﺻﻠﻀﺮب ‪ A = A1 A2 L Ak −1 Ak‬ﺗﺠﺰﻳﻪ ﻣﻲ ﮔﺮدد و ﺣﻞ دﺳﺘﮕﺎه ﻣﻌﺎدﻻت‬
‫ﺑﻪ ﻓﺮم زﻳﺮ در ﻣﻲ آﻳﺪ‪،‬‬
‫‪( A1 A2 L Ak ) x = b‬‬
‫ﻛﻪ در واﻗﻊ ﺷﺎﻣﻞ ﺣﻞ ‪ k‬ﻣﻌﺎدﻟﻪ ﺳﺎده ﺑﻪ ﻓﺮم زﻳﺮ اﺳﺖ‪ ،‬ﻛﻪ ﻣﻌﻤﻮﻻً ﺑﺮاي ﺣﻞ از روش ﻫﺎي ﺟﺎﻳﮕﺰﻳﻨﻲ‬
‫ﭘﻴﺸﺮو و ﭘﺴﺮو اﺳﺘﻔﺎده ﻣﻲ ﮔﺮدد‪،‬‬
‫‪A1z1 = b ,‬‬ ‫‪A2 z 2 = z1 , L ,‬‬ ‫‪Ak −1z k −1 = z k − 2 ,‬‬ ‫‪Ak x = z k −1‬‬
‫ﺑﻨﺎﺑﺮاﻳﻦ در اﻳﻦ روش ﻣﺤﺎﺳﺒﺎت را ﻣﻲ ﺗﻮان ﺑﻪ دو ﺑﺨﺶ ﺗﻘﺴﻴﻢ ﻛﺮد‪،‬‬
‫‪ -1‬ﻣﺤﺎﺳﺒﺎت ﻻزم ﺑﺮاي ﺑﺪﺳﺖ آوردن ﺗﺠﺰﻳﻪ ﻣﺎﺗﺮﻳﺲ ‪A‬‬
‫‪ -2‬ﻣﺤﺎﺳﺒﺎت ﻻزم ﺑﺮاي ﺣﻞ ‪ k‬دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺳﺎده‬
‫در واﻗﻊ ﻋﻤﺪه ﻣﺤﺎﺳﺒﺎت ﻣﺮﺑﻮط ﺑﻪ ﺗﺠﺰﻳﻪ ﻣﺎﺗﺮﻳﺲ اﺳﺖ‪ .‬ﻳﻜﻲ از ﻛﺎرﺑﺮدﻫﺎي اﻳﻦ روش زﻣﺎﻧﻲ اﺳﺖ ﻛﻪ‬
‫ﺑﺨﻮاﻫﻴﻢ ﺟﻮاب دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ‪ Ax = b‬را ﺑﺮاي ﭼﻨﺪﻳﻦ ﺑﺮدار ‪ b‬ﻣﺨﺘﻠﻒ ﺑﺪﺳﺖ آورﻳﻢ‪ .‬در اﻳﻨﺼﻮرت‬
‫ﻋﻤﻞ ﺗﺠﺰﻳﻪ ﻣﺎﺗﺮﻳﺲ ﻛﻪ ﺑﻴﺸﺘﺮﻳﻦ ﺣﺠﻢ ﻣﺤﺎﺳﺒﺎت را دارد ﻓﻘﻂ ﻳﻜﺒﺎر ﺻﻮرت ﻣﻲ ﮔﻴﺮد و ﺑﺨﺶ ﺗﻜﺮاري‬
‫ﻓﻘﻂ ﻣﺮﺑﻮط ﺑﻪ ﺣﻞ دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺳﺎده ﻣﻲ ﺑﺎﺷﺪ‪.‬‬
‫در اﻳﻦ راﺳﺘﺎ دو روش ﺗﺠﺰﻳﻪ ‪ 1 LU‬و ﺗﺠﺰﻳﻪ ﭼﺎﻟﺴﻜﻲ‪ 2‬ﻣﺎﺗﺮﻳﺲ ﻫﺎ ﻣﻌﺮﻓﻲ ﻣﻲ ﮔﺮدد‪ .‬اﻳﻦ‬
‫دو روش ﺑﺮاي ﺣﻞ دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﻣﺮﺑﻌﻲ ﻛﺎرﺑﺮد دارﻧﺪ‪.‬‬

‫‪١‬‬
‫‪LU Factorization‬‬
‫‪٢‬‬
‫‪Cholesky Factorization‬‬

‫‪Applied Linear Algebra with MATLAB‬‬


‫‪S. Sedghizadeh, Systems and Control Dept., KNTU‬‬
‫‪129‬‬ ‫ﻓﺼﻞ دوم‪ :‬دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺟﺒﺮي ﺧﻄﻲ‬

‫‪ -1-4-2‬ﺗﺠﺰﻳﻪ ‪ LU‬ﻣﺎﺗﺮﻳﺲ ﻫﺎ‬


‫در اﻳﻦ روش ﻣﺎﺗﺮﻳﺲ ﻣﺮﺑﻌﻲ ‪ An× n‬ﺑﺼﻮرت ﺣﺎﺻﻠﻀﺮب دو ﻣﺎﺗﺮﻳﺲ ‪ L‬و ‪ U‬ﺗﺠﺰﻳﻪ ﻣﻲ ﮔﺮدد‪،‬‬
‫‪A = LU‬‬
‫ﺑﻪ ﻃﻮرﻳﻜﻪ ‪ L‬ﻳﻚ ﻣﺎﺗﺮﻳﺲ ﭘﺎﻳﻴﻦ ﻣﺜﻠﺜﻲ ﺑﺎ ﻋﻨﺎﺻﺮ ﻗﻄﺮي واﺣﺪ و ‪ U‬ﻳﻚ ﻣﺎﺗﺮﻳﺲ ﺑﺎﻻ ﻣﺜﻠﺜﻲ‬
‫ﺑﺎﺷﺪ‪ .‬ﺑﺮاي ﺑﺪﺳﺖ آوردن ﺗﺠﺰﻳﻪ ‪ LU‬ﻳﻚ ﻣﺎﺗﺮﻳﺲ ﻣﺮﺑﻌﻲ ﻣﻲ ﺗﻮان از روش ﺣﺬﻓﻲ ﮔﻮﺳﻲ و روش‬
‫ﻣﺎﺗﺮﻳﺲ ﻫﺎي ﺑﻠﻮﻛﻲ اﺳﺘﻔﺎده ﻧﻤﻮد‪.‬‬

‫‪ -1-1-4-2‬ﺣﻞ دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺟﺒﺮي ﺧﻄﻲ ﺑﺎ ﺗﺠﺰﻳﻪ ‪LU‬‬


‫ﺑﺮاي ﺣﻞ دﺳﺘﮕﺎه ﻣﻌﺎدﻻت اﺑﺘﺪا ﺗﺠﺰﻳﻪ ‪ A = LU‬را ﺑﺪﺳﺖ ﻣﻲ آورﻳﻢ‪ ،‬ﺳﭙﺲ ﺑﺎ ﺟﺎﻳﮕﺬاري در‬
‫ﻣﻌﺎدﻟﻪ دﺳﺘﮕﺎه دارﻳﻢ‪،‬‬
‫‪A = LU‬‬
‫‪Ax = b‬‬ ‫→‬ ‫‪LUx = b‬‬
‫ﺑﺎ ﻓﺮض اﻳﻨﻜﻪ ‪ y = Ux‬ﺑﺎﺷﺪ دارﻳﻢ‪،‬‬
‫‪y =Ux‬‬
‫‪LUx = b‬‬ ‫‪→ Ly = b‬‬
‫ﺑﻨﺎﺑﺮاﻳﻦ ﺟﻮاب دﺳﺘﮕﺎه ﻣﻌﺎدﻻت اﺻﻠﻲ ﺑﺎ ﺣﻞ ﻳﻚ ﺳﺮي ﻣﻌﺎدﻻت ﺳﺎده ﺑﺼﻮرت زﻳﺮ ﺑﺪﺳﺖ ﻣﻲ آﻳﺪ‪،‬‬
‫‪⎧ Ly = b‬‬
‫⎨‬ ‫)‪(10-2‬‬
‫‪⎩y = Ux‬‬
‫ﻛﻪ در ﺣﻞ اﻳﻦ دو ﻣﻌﺎدﻟﻪ از اﻟﮕﻮرﻳﺘﻢ ﺟﺎﻳﮕﺰﻳﻨﻲ ﭘﻴﺸﺮو و ﺟﺎﻳﮕﺰﻳﻨﻲ ﭘﺴﺮو اﺳﺘﻔﺎده ﻣﻲ ﺷﻮد‪.‬‬

‫ﻣﺜﺎل‪31-2‬‬
‫دﺳﺘﮕﺎه ﻣﻌﺎدﻻت زﻳﺮ را در ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ‪،‬‬
‫‪⎧3 x1 + 6 x 2 − 9 x3 = 0‬‬
‫⎪‬
‫‪⎨2 x1 + 5 x 2 − 3 x3 = −4‬‬
‫‪⎪− 4 x + x + 10 x = 3‬‬
‫⎩‬ ‫‪1‬‬ ‫‪2‬‬ ‫‪3‬‬

‫ﺑﺎ اﺳﺘﻔﺎده از روش ﺗﺠﺰﻳﻪ ‪ LU‬ﺟﻮاب دﺳﺘﮕﺎه ﻣﻌﺎدﻻت را ﺑﻴﺎﺑﻴﺪ‪.‬‬

‫ﻓﺮم ﻣﺎﺗﺮﻳﺴﻲ اﻳﻦ ﻣﻌﺎدﻻت ﺑﻪ ﺷﻜﻞ زﻳﺮ ﻣﻲ ﺑﺎﺷﺪ‪،‬‬


‫⎤ ‪⎡ 3 6 − 9⎤ ⎡ x1 ⎤ ⎡ 0‬‬
‫⎥⎥‪Ax = b → ⎢⎢ 2 5 − 3⎥⎥ ⎢⎢ x2 ⎥⎥ = ⎢⎢− 4‬‬
‫⎦⎥ ‪⎢⎣− 4 1 10 ⎥⎦ ⎢⎣ x3 ⎥⎦ ⎢⎣ 3‬‬
‫ﺗﺠﺰﻳﻪ ‪ LU‬ﻣﺎﺗﺮﻳﺲ ‪ A‬ﺑﻪ ﺷﻜﻞ زﻳﺮ اﺳﺖ‪،‬‬

‫‪Applied Linear Algebra with MATLAB‬‬


‫‪S. Sedghizadeh, Systems and Control Dept., KNTU‬‬
‫ﻓﺼﻞ دوم‪ :‬دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺟﺒﺮي ﺧﻄﻲ‬ ‫‪130‬‬

‫‪⎡1‬‬ ‫⎤ ‪0 0⎤ ⎡3 6 − 9‬‬
‫⎢‬ ‫⎥‬
‫‪A = LU = ⎢ 23‬‬ ‫‪1 0⎥ ⎢⎢0 1‬‬ ‫⎥⎥ ‪3‬‬
‫‪⎢⎣ −34‬‬ ‫⎦⎥‪9 1⎥⎦ ⎢⎣0 0 − 29‬‬
‫ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﻣﻌﺎدﻻت دارﻳﻢ‪،‬‬
‫⎤ ‪⎡ 1 0 0⎤ ⎡ y1 ⎤ ⎡ 0‬‬
‫⎢‬ ‫⎥‬
‫⎥⎥‪Ly = b → ⎢ 23 1 0⎥ ⎢⎢ y 2 ⎥⎥ = ⎢⎢− 4‬‬
‫⎦⎥ ‪⎢⎣ −34 9 1⎥⎦ ⎢⎣ y 3 ⎥⎦ ⎢⎣ 3‬‬
‫ﺑﺎ ﺣﻞ ﻣﻌﺎدﻻت ﻣﺎﺗﺮﻳﺴﻲ ﺑﻮﺳﻴﻠﻪ اﻟﮕﻮرﻳﺘﻢ ﺟﺎﻳﮕﺰﻳﻨﻲ ﭘﻴﺸﺮو ﺟﻮاﺑﻬﺎ ﺑﺼﻮرت زﻳﺮ ﺑﺪﺳﺖ ﻣﻲ آﻳﻨﺪ‪،‬‬
‫‪⎧ y1 = 0‬‬ ‫‪⎧ y1 = 0‬‬
‫‪⎪2‬‬ ‫⎪‬
‫‪⎨ 3 y1 + y 2 = −4‬‬ ‫→‬ ‫‪⎨ y 2 = −4‬‬
‫‪⎪ −4 y + 9 y + y = 3‬‬ ‫‪⎪ y = 39‬‬
‫‪⎩3 1‬‬ ‫‪2‬‬ ‫‪3‬‬ ‫‪⎩ 3‬‬
‫ﺑﺎ ﺟﺎﻳﮕﺬاري اﻳﻦ ﻣﻘﺎدﻳﺮ در ﻣﻌﺎدﻻت ﻣﺎﺗﺮﻳﺲ دوم ﭘﺎﺳﺦ ﻧﻬﺎﻳﻲ ﺑﺎ ﻳﻚ اﻟﮕﻮرﻳﺘﻢ ﺟﺎﻳﮕﺰﻳﻨﻲ ﭘﺴﺮو ﻣﺤﺎﺳﺒﻪ‬
‫ﻣﻲ ﮔﺮدد‪،‬‬
‫⎤ ‪⎡3 6 − 9 ⎤ ⎡ x1 ⎤ ⎡ y1‬‬
‫‪y = Ux → ⎢⎢0 1‬‬ ‫⎥⎥ ‪3 ⎥⎥ ⎢⎢ x 2 ⎥⎥ = ⎢⎢ y 2‬‬
‫⎦⎥ ‪⎢⎣0 0 − 29⎥⎦ ⎢⎣ x3 ⎥⎦ ⎢⎣ y 3‬‬

‫‪⎧3 x1 + 6 x 2 − 9 x3 = 0‬‬ ‫‪⎧ x1 = − 119 29‬‬


‫⎪‬ ‫⎪‬
‫‪⎨ x 2 + 3 x3 = −4‬‬ ‫→‬ ‫‪⎨ x 2 = 1 29‬‬
‫‪⎪− 29 x = 39‬‬ ‫‪⎪ x = − 39 29‬‬
‫⎩‬ ‫‪3‬‬ ‫‪⎩ 3‬‬
‫□‬

‫‪ -2-1-4-2‬ﺗﺠﺰﻳﻪ ‪ LU‬ﺑﺎ روش ﺣﺬﻓﻲ ﮔﻮﺳﻲ ﺑﺪون ﻣﺤﻮرﮔﻴﺮي‬


‫ﻫﻤﺎﻧﻄﻮر ﻛﻪ ﺗﻮﺿﻴﺢ داده ﺷﺪه اﺳﺖ‪ ،‬ﻫﺪف از روش ﺣﺬﻓﻲ ﮔﻮﺳﻲ ﺗﺒﺪﻳﻞ ﻳﻚ ﻣﺎﺗﺮﻳﺲ ﻣﺮﺑﻌﻲ‬
‫ﺑﻪ ﻓﺮم ﺑﺎﻻ ﻣﺜﻠﺜﻲ اﺳﺖ‪ ،‬ﺑﻨﺎﺑﺮاﻳﻦ اﮔﺮ ﺑﺘﻮان ﻣﺎﺗﺮﻳﺲ ﻣﺮﺑﻌﻲ ‪ An× n‬را ﺑﺪون ﺟﺎﺑﺠﺎ ﻛﺮدن ﺳﻄﺮﻫﺎ و‬
‫ﺳﺘﻮﻧﻬﺎي آن ﻳﻌﻨﻲ ﺑﺪون ﻣﺤﻮرﮔﻴﺮي‪ ،‬ﺑﻪ ﻓﺮم ﺑﺎﻻ ﻣﺜﻠﺜﻲ درآورد‪ ،‬ﻣﺎﺗﺮﻳﺲ ‪ U‬ﺑﻪ راﺣﺘﻲ ﺑﺪﺳﺖ ﺧﻮاﻫﺪ‬
‫آﻣﺪ‪ .‬از ﻃﺮﻓﻲ ﻣﻲ داﻧﻴﻢ روش ﺣﺬﻓﻲ ﮔﻮﺳﻲ را ﻣﻲ ﺗﻮان ﺑﺼﻮرت ﻳﻚ ﺳﺮي ﻋﻤﻠﻴﺎت ﻣﺎﺗﺮﻳﺲ ﻫﺎي‬
‫ﻣﻘﺪﻣﺎﺗﻲ ﻣﺎﻧﻨﺪ ‪ E1 , E2 ,K, Ek‬ﻧﺸﺎن داد‪ ،‬ﺑﻨﺎﺑﺮاﻳﻦ دارﻳﻢ‪،‬‬
‫‪Ek L E2 E1 A = U‬‬ ‫)‪(11-2‬‬
‫از آﻧﺠﺎﺋﻴﻜﻪ ﻣﺎﺗﺮﻳﺲ ﻫﺎي ﻣﻘﺪﻣﺎﺗﻲ ﻣﺮﺑﻌﻲ و ﻣﻌﻜﻮس ﭘﺬﻳﺮ ﻫﺴﺘﻨﺪ ﻣﻲ ﺗﻮان ﻧﻮﺷﺖ‪،‬‬
‫‪A = E1−1E2−1 L Ek−1U = LU‬‬ ‫)‪(12-2‬‬
‫ﻛﻪ در آن ‪ L = E1−1 E2−1 L Ek−1‬ﻳﻚ ﻣﺎﺗﺮﻳﺲ ﭘﺎﻳﻴﻦ ﻣﺜﻠﺜﻲ ﺑﺎ ﻋﻨﺎﺻﺮ ﻗﻄﺮي ﻳﻚ ﻣﻲ ﺑﺎﺷﺪ‪.‬‬

‫‪Applied Linear Algebra with MATLAB‬‬


‫‪S. Sedghizadeh, Systems and Control Dept., KNTU‬‬
‫‪131‬‬ ‫ﻓﺼﻞ دوم‪ :‬دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺟﺒﺮي ﺧﻄﻲ‬

‫ﻣﺜﺎل‪32-2‬‬
‫ﺗﺠﺰﻳﻪ ‪ LU‬ﻣﺎﺗﺮﻳﺲ ﻣﺮﺑﻌﻲ ‪ A‬را ﺑﻴﺎﺑﻴﺪ‪،‬‬
‫⎤‪⎡ 3 6 − 9‬‬
‫⎥⎥‪A = ⎢⎢ 2 5 − 3‬‬
‫⎦⎥ ‪⎢⎣− 4 1 10‬‬
‫ﻫﻤﺎﻧﻨﺪ آﻧﭽﻪ ﻛﻪ در روش ﺣﺬﻓﻲ ﮔﻮﺳﻲ اﻧﺠﺎم دادﻳﻢ ﺳﻌﻲ ﻣﻲ ﻛﻨﻴﻢ ﺗﺎ ﻣﺎﺗﺮﻳﺲ ﻣﺬﻛﻮر را ﺑﺎ اﻧﺠﺎم ﻳﻚ‬
‫ﺳﺮي ﻋﻤﻠﻴﺎت ﺳﻄﺮي ﺑﻪ ﺻﻮرت ﺑﺎﻻ ﻣﺜﻠﺜﻲ در آورﻳﻢ‪.‬‬
‫⎤‪⎡ 3 6 − 9‬‬ ‫⎤‪⎡ 1 0 0‬‬
‫‪−2‬‬ ‫⇒ ⎥‪⎢0 1 3‬‬
‫‪r1 + r2 → r2‬‬ ‫⇒‬ ‫⎢‬ ‫⎥‬ ‫⎥⎥‪E1 = ⎢⎢ −32 1 0‬‬
‫‪3‬‬
‫⎦⎥ ‪⎢⎣− 4 1 10‬‬ ‫⎦⎥‪⎢⎣ 0 0 1‬‬
‫⎤ ‪⎡3 6 − 9‬‬ ‫⎤ ‪⎡1 0 0‬‬
‫‪4‬‬
‫‪r1 + r3 → r3‬‬ ‫⇒‬ ‫⇒ ⎥ ‪⎢0 1 3‬‬
‫⎢‬ ‫⎥‬ ‫⎥⎥‪E 2 = ⎢⎢0 1 0‬‬
‫‪3‬‬
‫⎦⎥‪⎢⎣0 9 − 2‬‬ ‫⎦⎥‪⎢⎣ 43 0 1‬‬
‫⎤ ‪⎡3 6 − 9‬‬ ‫⎤‪⎡1 0 0‬‬
‫‪− 9r2 + r3 → r3‬‬ ‫⇒‬ ‫‪⎢0 1‬‬ ‫⎥ ‪3‬‬ ‫⎥‬ ‫⇒‬ ‫⎥⎥‪E 3 = ⎢⎢0 1 0‬‬
‫⎢‬
‫⎦⎥‪⎢⎣0 0 − 29‬‬ ‫⎦⎥‪⎢⎣0 − 9 1‬‬
‫ﺑﻨﺎﺑﺮاﻳﻦ ﻣﺎﺗﺮﻳﺲ ﺑﺎﻻ ﻣﺜﻠﺜﻲ ‪ U‬ﺑﺼﻮرت زﻳﺮ ﺑﺪﺳﺖ ﻣﻲ آﻳﺪ‪،‬‬
‫⎤ ‪⎡3 6 − 9‬‬
‫‪U = ⎢⎢0 1‬‬ ‫⎥⎥ ‪3‬‬
‫⎦⎥‪⎢⎣0 0 − 29‬‬

‫ﺣﺎل ﺑﺮاي ﺑﺪﺳﺖ آوردن ﻣﺎﺗﺮﻳﺲ ‪ L‬اﺑﺘﺪا ﻣﻌﻜﻮس ﻣﺎﺗﺮﻳﺲ ﻫﺎي ﻣﻘﺪﻣﺎﺗﻲ ‪ E 2 ، E1‬و ‪ E3‬را ﺑﺪﺳﺖ ﻣﻲ‬
‫آورﻳﻢ ﻛﻪ ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﺧﻮاص ﻣﺎﺗﺮﻳﺲ ﻫﺎي ﻣﻘﺪﻣﺎﺗﻲ ﺑﻪ راﺣﺘﻲ ﻗﺎﺑﻞ ﻣﺤﺎﺳﺒﻪ ﻫﺴﺘﻨﺪ و ﺳﭙﺲ ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ‬
‫راﺑﻄﻪ )‪ (11-2‬ﻣﺎﺗﺮﻳﺲ ﭘﺎﻳﻴﻦ ﻣﺜﻠﺜﻲ ‪ L‬را ﻣﺤﺎﺳﺒﻪ ﻣﻲ ﻛﻨﻴﻢ‪،‬‬
‫‪⎡1 0 0⎤ ⎡ 1 0 0⎤ ⎡1 0‬‬ ‫‪0⎤ ⎡ 1‬‬ ‫⎤‪0 0‬‬
‫‪L=E E E‬‬
‫‪1‬‬
‫‪−1‬‬ ‫‪−1‬‬
‫‪2‬‬
‫‪−1‬‬
‫‪3‬‬ ‫‪= ⎢⎢ 23 1 0⎥⎥ ⎢⎢ 0 1 0⎥⎥ ⎢⎢0 1‬‬ ‫‪0⎥⎥ = ⎢⎢ 23‬‬ ‫⎥⎥‪1 0‬‬
‫‪⎢⎣0 0 1⎥⎦ ⎢⎣ −34 0 1⎥⎦ ⎢⎣0 9‬‬ ‫‪1⎥⎦ ⎢⎣ −34‬‬ ‫⎦⎥‪9 1‬‬
‫ﺑﺼﻮرت زﻳﺮ ﺑﺪﺳﺖ ﻣﻲ آﻳﺪ‪،‬‬ ‫ﺑﻨﺎﺑﺮاﻳﻦ ﺗﺠﺰﻳﻪ ‪ LU‬ﻣﺎﺗﺮﻳﺲ ‪A‬‬
‫‪⎡1‬‬ ‫⎤ ‪0 0⎤ ⎡3 6 − 9‬‬
‫⎢‬ ‫⎥‬
‫‪A = LU = ⎢ 23‬‬ ‫‪1 0⎥ ⎢⎢0 1‬‬ ‫⎥⎥ ‪3‬‬
‫‪⎢⎣ −34‬‬ ‫⎦⎥‪9 1⎥⎦ ⎢⎣0 0 − 29‬‬

‫‪Applied Linear Algebra with MATLAB‬‬


‫‪S. Sedghizadeh, Systems and Control Dept., KNTU‬‬
‫ دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺟﺒﺮي ﺧﻄﻲ‬:‫ﻓﺼﻞ دوم‬ 132

LU ‫ ﺑﺮاي ﻣﺤﺎﺳﺒﻪ ﺗﺠﺰﻳﻪ‬LUfactor(A) ‫ ﺑﺮﻧﺎﻣﻪ‬MATLAB ‫در اداﻣﻪ ﺑﺎ اﺳﺘﻔﺎده از ﻧﺮم اﻓﺰار‬


،‫ﻣﺎﺗﺮﻳﺲ ﻫﺎ ﺑﺮ اﺳﺎس اﻟﮕﻮرﻳﺘﻢ ﺣﺬﻓﻲ ﮔﻮﺳﻲ ﻧﻮﺷﺘﻪ ﺷﺪه اﺳﺖ‬
% LU factorization without pivoting
function [L, U] = LUfactor(A)
NA = size(A,2);
E = eye(NA, NA);
L = eye(NA, NA);
for j = 1 : NA - 1
for i = j + 1 : NA
if A(j,j) ~= 0
E(i,j) = - A(i,j) / A(j,j);
A = E * A;
L = L * inv(E);
E = eye(NA, NA);
else
error('algorithm needs pivoting')
end
end
end
U = A(:,1 : NA);
،‫اﺟﺮاي ﺑﺮﻧﺎﻣﻪ ﺑﺼﻮرت زﻳﺮ ﺧﻮاﻫﺪ ﺑﻮد‬

A = [3 6 - 9;2 5 - 3;-4 1 10];


[L, U] = LUfactor(A, b)

L =
1.0000 0 0
0.6667 1.0000 0
- 1.3333 9.0000 1.0000
U =
3 6 -9
0 1 3

0 0 -2

Applied Linear Algebra with MATLAB


S. Sedghizadeh, Systems and Control Dept., KNTU
‫‪133‬‬ ‫ﻓﺼﻞ دوم‪ :‬دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺟﺒﺮي ﺧﻄﻲ‬

‫ﻣﺜﺎل‪33-2‬‬
‫ﻣﺎﺗﺮﻳﺲ ‪ A‬را در ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ‪،‬‬
‫‪⎡1‬‬ ‫‪4‬‬ ‫⎤‪5‬‬
‫‪A = ⎢⎢4‬‬ ‫⎥⎥‪18 26‬‬
‫‪⎢⎣3‬‬ ‫⎦⎥ ‪16 30‬‬
‫ﺑﺪﺳﺖ آورﻳﺪ ﻛﻪ ﻣﺎﺗﺮﻳﺲ ‪ A‬را ﺑﻪ ﻓﺮم ﺑﺎﻻ ﻣﺜﻠﺜﻲ‬ ‫اﻟﻒ( ﻣﺎﺗﺮﻳﺲ ﻫﺎي ﻣﻘﺪﻣﺎﺗﻲ ‪ E 2 ، E1‬و ‪ E3‬را ﻃﻮري‬
‫‪ U = E3 E 2 E1 A‬ﺗﺒﺪﻳﻞ ﻧﻤﺎﻳﺪ و ﺑﺎ اﺳﺘﻔﺎده از آن ﺗﺠﺰﻳﻪ ‪ A = LU‬ﻣﺎﺗﺮﻳﺲ را ﺑﺪﺳﺖ آورﻳﺪ‪.‬‬
‫ب( ﺑﺎ اﺳﺘﻔﺎده از اﻳﻦ ﺗﺠﺰﻳﻪ دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ‪ Ax = b1‬و ‪ Ax = b 2‬را ﺣﻞ ﻧﻤﺎﻳﻴﺪ‪.‬‬
‫⎤‪⎡6‬‬ ‫⎤‪⎡6‬‬
‫‪b1 = ⎢⎢ 0 ⎥⎥ ,‬‬ ‫⎥⎥ ‪b 2 = ⎢⎢ 6‬‬
‫⎦⎥‪⎢⎣− 6‬‬ ‫⎦⎥‪⎢⎣12‬‬

‫اﻟﻒ( ﻣﺎﺗﺮﻳﺲ ﻫﺎي ﻣﻘﺪﻣﺎﺗﻲ ‪ E 2 ، E1‬و ‪ E3‬را ﺑﺎ اﻋﻤﺎل اﻟﮕﻮرﻳﺘﻢ ﺣﺬﻓﻲ ﮔﻮﺳﻲ ﻣﻲ ﺗﻮان ﺑﺪﺳﺖ آورد‬
‫ﮔﺎم اول‪ -‬ﺣﺬف ﻣﺠﻬﻮل ‪ x1‬از ﻣﻌﺎدﻻت دوم و ﺳﻮم‪،‬‬
‫⎤ ‪⎡1 4 5‬‬ ‫‪⎡1‬‬ ‫⎤‪0 0‬‬
‫‪− 4r1 + r2 → r2‬‬ ‫⇒‬ ‫⎥ ‪⎢0 2 6‬‬ ‫→‬ ‫‪E1 = ⎢⎢− 4‬‬ ‫⎥⎥‪1 0‬‬
‫⎢‬ ‫⎥‬
‫⎦⎥‪⎢⎣3 16 30‬‬ ‫‪⎢⎣ 0‬‬ ‫⎦⎥‪0 1‬‬
‫⎤ ‪⎡1 4 5‬‬ ‫‪⎡1‬‬ ‫⎤‪0 0‬‬
‫‪− 3r1 + r3 → r3‬‬ ‫⇒‬ ‫⎥ ‪⎢0 2 6‬‬ ‫→‬ ‫‪E2 = ⎢⎢ 0‬‬ ‫⎥⎥‪1 0‬‬
‫⎢‬ ‫⎥‬
‫⎦⎥‪⎢⎣0 4 15‬‬ ‫‪⎢⎣− 3‬‬ ‫⎦⎥‪0 1‬‬

‫ﮔﺎم دوم‪ -‬ﺣﺬف ﻣﺠﻬﻮل ‪ x2‬از ﻣﻌﺎدﻟﻪ ﺳﻮم‪،‬‬


‫⎤‪⎡1 4 5‬‬ ‫⎤‪⎡1 0 0‬‬
‫‪− 2r2 + r3 → r3‬‬ ‫⇒‬ ‫⎥ ‪⎢0 2 6‬‬ ‫→‬ ‫⎥⎥‪E3 = ⎢⎢0 1 0‬‬
‫⎢‬ ‫⎥‬
‫⎦⎥‪⎢⎣0 0 3‬‬ ‫⎦⎥‪⎢⎣0 − 2 1‬‬
‫ﺑﻪ اﻳﻦ ﺗﺮﺗﻴﺐ ﻣﺎﺗﺮﻳﺲ ﺑﺎﻻ ﻣﺜﻠﺜﻲ ‪ U‬ﺑﺼﻮرت زﻳﺮ ﺑﺪﺳﺖ ﻣﻲ آﻳﺪ‪،‬‬
‫⎤‪⎡1 4 5‬‬
‫‪E3 E 2 E1 A = U‬‬ ‫⎥⎥‪→ U = ⎢⎢0 2 6‬‬
‫⎦⎥‪⎢⎣0 0 3‬‬
‫‪ A = LU‬ﻣﺎﺗﺮﻳﺲ ﭘﺎﻳﻴﻦ ﻣﺜﻠﺜﻲ ‪ L‬ﻧﻴﺰ ﺑﺸﻜﻞ زﻳﺮ ﻗﺎﺑﻞ ﻣﺤﺎﺳﺒﻪ اﺳﺖ‪،‬‬
‫‪E3 E2 E1 A = U‬‬ ‫→‬ ‫‪A = E1−1 E2−1 E3−1U = LU‬‬

‫‪Applied Linear Algebra with MATLAB‬‬


‫‪S. Sedghizadeh, Systems and Control Dept., KNTU‬‬
‫ﻓﺼﻞ دوم‪ :‬دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺟﺒﺮي ﺧﻄﻲ‬ ‫‪134‬‬

‫‪⎡1 0 0⎤ ⎡1 0 0⎤ ⎡1 0 0⎤ ⎡1 0‬‬ ‫⎤‪0‬‬


‫‪−1‬‬
‫‪E E E‬‬
‫‪1‬‬
‫‪−1‬‬
‫‪2‬‬
‫‪−1‬‬
‫‪3‬‬ ‫‪= ⎢⎢4 1 0⎥⎥ ⎢⎢0 1 0⎥⎥ ⎢⎢0 1 0⎥⎥ = ⎢⎢4 1‬‬ ‫‪0⎥⎥ = L‬‬
‫‪⎢⎣0 0 1⎥⎦ ⎢⎣3 0 1⎥⎦ ⎢⎣0 2 1⎥⎦ ⎢⎣3 2‬‬ ‫⎦⎥‪1‬‬
‫ﺑﺸﻜﻞ زﻳﺮ ﺑﺪﺳﺖ ﻣﻲ آﻳﺪ‪،‬‬ ‫ﻟﺬا ﺗﺠﺰﻳﻪ ‪A = LU‬‬
‫⎤ ‪⎡ 1 4 5 ⎤ ⎡ 1 0 0 ⎤ ⎡1 4 5‬‬
‫‪A = LU‬‬ ‫⇒‬ ‫⎥‪⎢4 18 26⎥ = ⎢4 1 0⎥ ⎢0 2 6‬‬
‫⎢‬ ‫⎢ ⎥‬ ‫⎢⎥‬ ‫⎥‬
‫⎦⎥‪⎢⎣3 16 30 ⎥⎦ ⎢⎣3 2 1⎥⎦ ⎢⎣0 0 3‬‬
‫اﺟﺮاي ﺑﺮﻧﺎﻣﻪ ‪ LUfactor‬ﺑﺮاي اﻳﻦ ﻣﺎﺗﺮﻳﺲ ﺑﺼﻮرت زﻳﺮ اﺳﺖ‪،‬‬
‫;]‪A = [1 4 5;4 18 26;3 16 30‬‬
‫)‪[L, U] = LUfactor(A‬‬

‫= ‪L‬‬
‫‪1‬‬ ‫‪0‬‬ ‫‪0‬‬
‫‪4‬‬ ‫‪1‬‬ ‫‪0‬‬
‫‪3‬‬ ‫‪2‬‬ ‫‪1‬‬
‫= ‪U‬‬
‫‪1‬‬ ‫‪4‬‬ ‫‪5‬‬
‫‪0‬‬ ‫‪2‬‬ ‫‪6‬‬

‫‪0‬‬ ‫‪0‬‬ ‫‪3‬‬

‫ب( ﺑﺮاي ﺣﻞ دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺑﺼﻮرت زﻳﺮ ﻋﻤﻞ ﻣﻲ ﻛﻨﻴﻢ‪،‬‬


‫‪⎧ Ly = b‬‬
‫‪Ax = b‬‬ ‫→‬ ‫‪LUx = b‬‬ ‫→‬ ‫⎨‬
‫‪⎩Ux = y‬‬
‫اﺑﺘﺪا ﻣﺠﻬﻮل ‪ y‬و ﺳﭙﺲ ﻣﺠﻬﻮل ‪ x‬را ﺑﺪﺳﺖ ﻣﻲ آورﻳﻢ‪،‬‬
‫ﺑﺮاي ﺑﺮدار ‪: b1‬‬
‫⎤ ‪⎡1 0 0⎤ ⎡ y1 ⎤ ⎡ 6‬‬ ‫‪⎧ y1 = 6‬‬
‫⎥ ‪⎢ 4 1 0⎥ ⎢ y ⎥ = ⎢ 0‬‬ ‫⎪‬
‫‪Ly = b 1‬‬ ‫→‬ ‫⎢‬ ‫⎥ ⎢ ⎥ ‪⎥⎢ 2‬‬ ‫→‬ ‫‪⎨ y 2 = −24‬‬
‫⎦⎥‪⎢⎣3 2 1⎥⎦ ⎢⎣ y 3 ⎥⎦ ⎢⎣− 6‬‬ ‫‪⎪ y = 24‬‬
‫‪⎩ 3‬‬

‫⎤ ‪⎡1 4 5⎤ ⎡ x1 ⎤ ⎡ 6‬‬ ‫‪⎧ x1 = 110‬‬


‫⎥‪⎢0 2 6⎥ ⎢ x ⎥ = ⎢− 24‬‬ ‫⎪‬
‫‪Ux = y‬‬ ‫→‬ ‫⎢‬ ‫⎢ ⎥ ‪⎥⎢ 2‬‬ ‫⎥‬ ‫→‬ ‫‪⎨ x 2 = −36‬‬
‫⎦⎥ ‪⎢⎣0 0 3⎥⎦ ⎢⎣ x3 ⎥⎦ ⎢⎣ 24‬‬ ‫‪⎪ x =8‬‬
‫‪⎩ 3‬‬
‫ﺑﺮاي ﺑﺮدار ‪: b 2‬‬

‫‪Applied Linear Algebra with MATLAB‬‬


‫‪S. Sedghizadeh, Systems and Control Dept., KNTU‬‬
135 ‫ دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺟﺒﺮي ﺧﻄﻲ‬:‫ﻓﺼﻞ دوم‬

⎡1 0 0⎤ ⎡ y1 ⎤ ⎡ 6 ⎤
Ly = b 2 → ⎢⎢4 1 0⎥⎥ ⎢⎢ y 2 ⎥⎥ = ⎢⎢ 6 ⎥⎥ → y1 = 6, y 2 = −18, y 3 = 30
⎢⎣3 2 1⎥⎦ ⎢⎣ y 3 ⎥⎦ ⎢⎣12⎥⎦
⎡1 4 5⎤ ⎡ x1 ⎤ ⎡ 6 ⎤
Ux = y → ⎢⎢0 2 6⎥⎥ ⎢⎢ x 2 ⎥⎥ = ⎢⎢− 24⎥⎥ → x1 = 112, x 2 = −39, x3 = 10
⎢⎣0 0 3⎥⎦ ⎢⎣ x3 ⎥⎦ ⎢⎣ 24 ⎥⎦

‫ و‬y = L \ b ‫ ﻣﻲ ﺑﺎﺷﺪ و ﺑﺎ ﺣﻞ دو ﻣﻌﺎدﻟﻪ‬LUx = b ‫ ﻣﻌﺎدل ﺑﺎ‬Ax = b ‫دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺧﻄﻲ‬


،‫ را ﺑﺼﻮرت زﻳﺮ در ﻧﻈﺮ ﮔﺮﻓﺖ‬LUsolve ‫ ﻣﻲ ﺗﻮان ﺑﺮﻧﺎﻣﻪ‬.‫ ﭘﺎﺳﺦ ﺑﺪﺳﺖ ﻣﻲ آﻳﺪ‬x = U \ y
% Solving Ax = b by LU factorization without pivoting
function [x,L, U] = LUsolve(A,B)
NA = size(A,2);
[NB1, NB] = size(B);
if NB1 ~= NA,
error('A and B must have compatible dimensions');
end
AB = [A B];
E = eye(NA, NA);
L = eye(NA, NA);
for j = 1 : NA - 1
for i = j + 1 : NA
if AB(j,j) ~= 0
E(i,j) = - AB(i,j) / AB(j,j);
AB = E * AB;
L = L * inv(E);
E = eye(NA, NA);
else
error('algorithm needs pivoting')
end
end
end
U = AB(:,1 : NA);
x = (U \(L \ B))';

Applied Linear Algebra with MATLAB


S. Sedghizadeh, Systems and Control Dept., KNTU
‫ﻓﺼﻞ دوم‪ :‬دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺟﺒﺮي ﺧﻄﻲ‬ ‫‪136‬‬

‫اﺟﺮاي ﺑﺮﻧﺎﻣﻪ ﺑﺼﻮرت زﻳﺮ اﺳﺖ‪،‬‬

‫;]‪A = [1 4 5;4 18 26;3 16 30‬‬

‫;]‪b1 = [6;0;-6‬‬

‫;]‪b2 = [6;6;12‬‬

‫)‪[x1,L, U] = LUsolve(A,b1‬‬

‫= ‪x1‬‬

‫‪110‬‬ ‫‪- 36‬‬ ‫‪8‬‬

‫= ‪L‬‬

‫‪1‬‬ ‫‪0‬‬ ‫‪0‬‬

‫‪4‬‬ ‫‪1‬‬ ‫‪0‬‬

‫‪3‬‬ ‫‪2‬‬ ‫‪1‬‬

‫= ‪U‬‬
‫‪1‬‬ ‫‪4‬‬ ‫‪5‬‬

‫‪0‬‬ ‫‪2‬‬ ‫‪6‬‬

‫‪0‬‬ ‫‪0‬‬ ‫‪3‬‬

‫)‪x2 = LUsolve(A,b2‬‬

‫= ‪x2‬‬

‫‪112‬‬ ‫‪- 39‬‬ ‫‪10‬‬


‫□‬

‫‪ -3-1-4-2‬ﺗﺠﺰﻳﻪ ‪ LU‬ﺑﺎ روش ﻣﺎﺗﺮﻳﺲ ﻫﺎي ﺑﻠﻮﻛﻲ‬


‫اﻟﮕﻮرﻳﺘﻢ دﻳﮕﺮي ﻛﻪ ﺑﺮاي ﺑﺪﺳﺖ آوردن ﺗﺠﺰﻳﻪ ‪ LU‬ﻣﺎﺗﺮﻳﺲ ﻫﺎ وﺟﻮد دارد اﺳﺘﻔﺎده از‬
‫ﻣﺎﺗﺮﻳﺲ ﻫﺎي ﺑﻠﻮﻛﻲ اﺳﺖ‪ .‬اﮔﺮ ﺻﻮرت ﻛﻠﻲ ﻣﺎﺗﺮﻳﺲ ﻫﺎي ﺑﻠﻮﻛﻲ ‪ U ، An× n‬و ‪ L‬را ﺑﺸﻜﻞ زﻳﺮ در ﻧﻈﺮ‬
‫ﺑﮕﻴﺮﻳﺪ‪،‬‬
‫‪⎡a‬‬ ‫⎤ ‪A12‬‬ ‫‪⎡1‬‬ ‫⎤‪0‬‬ ‫⎤ ‪⎡u U12‬‬
‫‪A = ⎢ 11‬‬ ‫‪,‬‬ ‫⎢=‪L‬‬ ‫‪,‬‬ ‫‪U = ⎢ 11‬‬
‫⎦⎥ ‪A22‬‬ ‫⎦⎥ ‪L22‬‬ ‫⎥‬ ‫)‪(13-2‬‬
‫‪⎣ A21‬‬ ‫‪⎣ L21‬‬ ‫⎦ ‪⎣ 0 U 22‬‬
‫در اﻳﻨﺼﻮرت دارﻳﻢ‪،‬‬
‫‪⎡a‬‬ ‫‪A12 ⎤ ⎡ u11‬‬ ‫‪U12‬‬ ‫⎤‬
‫‪A = LU → ⎢ 11‬‬ ‫=‬
‫‪⎣ A21‬‬ ‫‪A22 ⎥⎦ ⎢⎣u11L21‬‬ ‫⎦⎥ ‪L21U12 + L22U 22‬‬

‫ﺑﻨﺎﺑﺮاﻳﻦ ﻣﻲ ﺗﻮان ﻧﻮﺷﺖ‪،‬‬

‫‪Applied Linear Algebra with MATLAB‬‬


‫‪S. Sedghizadeh, Systems and Control Dept., KNTU‬‬
137 ‫ دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺟﺒﺮي ﺧﻄﻲ‬:‫ﻓﺼﻞ دوم‬

u11 = a11
U12 = A12
1 (14-2)
L21 = A21
a11
A22 − L21U12 = L22U 22

34-2‫ﻣﺜﺎل‬
‫ را در ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ‬A ‫ﻣﺎﺗﺮﻳﺲ ﻣﺮﺑﻌﻲ‬
⎡ 3 6 − 9⎤
A = ⎢⎢ 2 5 − 3⎥⎥
⎢⎣− 4 1 10 ⎥⎦
،‫ ﻣﺎﺗﺮﻳﺲ را ﺑﺎ اﺳﺘﻔﺎده از روش ﻣﺎﺗﺮﻳﺲ ﻫﺎي ﺑﻠﻮﻛﻲ ﺑﺪﺳﺖ آورﻳﺪ‬LU ‫ﺗﺠﺰﻳﻪ‬

،‫ را ﺑﺼﻮرت زﻳﺮ ﺑﻨﻮﻳﺴﻴﻢ‬A = LU ‫اﮔﺮ ﻣﺎﺗﺮﻳﺲ‬


⎡ 3 6 − 9⎤ ⎡ 1 0 0 ⎤ ⎡u11 u12 u13 ⎤
A = ⎢⎢ 2 5 − 3⎥⎥ = ⎢⎢l21 l22 0 ⎥⎥ ⎢⎢ 0 u22 u23 ⎥⎥
⎣⎢− 4 1 10 ⎥⎦ ⎣⎢l31 l32 l33 ⎦⎥ ⎣⎢ 0 0 u33 ⎦⎥
،‫( دارﻳﻢ‬13-2) ‫( و‬12-2)‫ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ رواﺑﻂ‬
u11 = a11 → u11 = 3
U 12 = A12 → U 12 = [6 − 9] → u12 = 6 , u13 = −9
1 1⎡ 2 ⎤ 2 −4
L21 = A21 → L21 = ⎢ ⎥ → l 21 = , l31 =
a11 3 ⎣ − 4⎦ 3 3

A22 − L21U12 = L22U 22


⎡5 − 3⎤ ⎡ 23 ⎤ ⎡l22 0 ⎤ ⎡u22 u23 ⎤
⎢1 10 ⎥ − ⎢ − 4 ⎥[6 − 9] = ⎢l l33 ⎥⎦ ⎢⎣ 0 u33 ⎥⎦
⎣ ⎦ ⎣3⎦ ⎣ 32
⎧ l 22 =1
l u
⎪ 22 22 = 1 → u22 = 1
⎪ u 22 =1
⎡1 3 ⎤ ⎡l22u22 l22u23 ⎤ ⎪l32u22 = 9 → l32 = 9
⎢9 − 2⎥ = ⎢l u ⎥ →⎨
l32u23 + l33u33 ⎦ ⎪ l 22 =1
⎣ ⎦ ⎣ 32 22 l22u23 = 3 → u23 = 3

⎪ l 33 =1
+
⎩ 32 32 33 33
l u l u = − 2 → u33 = −29

Applied Linear Algebra with MATLAB


S. Sedghizadeh, Systems and Control Dept., KNTU
‫ﻓﺼﻞ دوم‪ :‬دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺟﺒﺮي ﺧﻄﻲ‬ ‫‪138‬‬

‫ﺑﻪ اﻳﻦ ﺗﺮﺗﻴﺐ ﺗﺠﺰﻳﻪ ‪ LU‬ﻣﺎﺗﺮﻳﺲ ‪ A‬ﺑﺼﻮرت زﻳﺮ ﺑﺪﺳﺖ ﻣﻲ آﻳﺪ‪،‬‬


‫‪⎡ 3 6 − 9⎤ ⎡ 1‬‬ ‫⎤ ‪0 0⎤ ⎡3 6 − 9‬‬
‫⎢‬ ‫⎥‬
‫‪A = LU → ⎢⎢ 2 5 − 3⎥⎥ = ⎢ 23‬‬ ‫‪1 0⎥ ⎢⎢0 1‬‬ ‫⎥⎥ ‪3‬‬
‫‪⎢⎣− 4 1 10 ⎥⎦ ⎢⎣ −34‬‬ ‫⎦⎥‪9 1⎥⎦ ⎢⎣0 0 − 29‬‬
‫□‬

‫ﻣﺜﺎل‪35-2‬‬
‫ﻣﺎﺗﺮﻳﺲ ﻣﺮﺑﻌﻲ ‪ A‬را در ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ‬
‫⎤ ‪⎡1 1 1‬‬
‫⎥⎥‪A = ⎢⎢1 4 4‬‬
‫⎦⎥ ‪⎢⎣1 4 8‬‬
‫ﺗﺠﺰﻳﻪ ‪ LU‬ﻣﺎﺗﺮﻳﺲ را ﺑﺎ اﺳﺘﻔﺎده از روش ﻣﺎﺗﺮﻳﺲ ﻫﺎي ﺑﻠﻮﻛﻲ ﺑﺪﺳﺖ آورﻳﺪ‪،‬‬

‫اﮔﺮ ﻣﺎﺗﺮﻳﺲ ‪ A = LU‬را ﺑﺼﻮرت زﻳﺮ ﺑﻨﻮﻳﺴﻴﻢ‪،‬‬


‫‪⎡1 1 1 ⎤ ⎡ 1 0‬‬ ‫‪0⎤ ⎡u11 u12‬‬ ‫⎤ ‪u13‬‬
‫‪A = ⎢⎢1 4 4⎥⎥ = ⎢⎢l 21 1‬‬ ‫‪0⎥⎥ ⎢⎢ 0 u 22‬‬ ‫⎥⎥ ‪u 23‬‬
‫‪⎢⎣1 4 8 ⎥⎦ ⎢⎣l31 l32‬‬ ‫‪1⎥⎦ ⎢⎣ 0‬‬ ‫‪0‬‬ ‫⎦⎥ ‪u33‬‬

‫ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ رواﺑﻂ اﻟﮕﻮرﻳﺘﻢ ﺑﻠﻮﻛﻲ ﺑﺎﻻ دارﻳﻢ‪،‬‬


‫‪u11 = a11 → u11 = 1‬‬
‫‪U 12 = A12 → U 12 = [1 1] → u12 = 1,‬‬ ‫‪u13 = 1‬‬
‫‪1‬‬ ‫⎤‪1 ⎡1‬‬
‫= ‪L21‬‬ ‫‪A21 → L21 = ⎢ ⎥ → l 21 = 1,‬‬ ‫‪l31 = 1‬‬
‫‪a11‬‬ ‫⎦‪1 ⎣1‬‬
‫‪A22 − L21U 12 = L22U 22‬‬
‫⎤‪⎡4 4⎤ ⎡1‬‬ ‫‪⎡1‬‬ ‫‪0⎤ ⎡u 22‬‬ ‫⎤ ‪u 23‬‬
‫‪⎢4 8 ⎥ − ⎢1⎥[1 1] = ⎢l‬‬ ‫‪1⎥⎦ ⎢⎣ 0‬‬ ‫⎦⎥ ‪u33‬‬
‫⎣‬ ‫⎦⎣ ⎦‬ ‫‪⎣ 32‬‬
‫‪⎧u 22 = 3‬‬
‫⎪‬ ‫‪u22 =3‬‬
‫‪⎡3 3⎤ ⎡ u 22‬‬ ‫‪u 23‬‬ ‫‪⎤ ⎪l32 u 22 = 3‬‬ ‫→‬ ‫‪l32 = 1‬‬
‫‪⎢3 7 ⎥ = ⎢l u‬‬ ‫⎥‬ ‫⎨→‬
‫‪l32 u 23 + u33 ⎦ ⎪u = 3‬‬
‫⎣‬ ‫‪⎦ ⎣ 32 22‬‬ ‫‪23‬‬
‫⎪‬
‫‪⎩l32 u 23 + u33 = 7 → u33 = 4‬‬

‫‪Applied Linear Algebra with MATLAB‬‬


‫‪S. Sedghizadeh, Systems and Control Dept., KNTU‬‬
‫‪139‬‬ ‫ﻓﺼﻞ دوم‪ :‬دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺟﺒﺮي ﺧﻄﻲ‬

‫ﻟﺬا ﺗﺠﺰﻳﻪ ‪ A = LU‬ﺑﺸﻜﻞ زﻳﺮ ﺑﺪﺳﺖ ﻣﻲ آﻳﺪ‪،‬‬


‫⎤ ‪⎡1 1 1 ⎤ ⎡1 0 0⎤ ⎡1 1 1‬‬
‫‪A = LU‬‬ ‫⇒‬ ‫⎥‪⎢1 4 4⎥ = ⎢1 1 0⎥ ⎢0 3 3‬‬
‫⎢‬ ‫⎢ ⎥‬ ‫⎢⎥‬ ‫⎥‬
‫⎦⎥‪⎢⎣1 4 8 ⎥⎦ ⎢⎣1 1 1⎥⎦ ⎢⎣0 0 4‬‬
‫□‬

‫‪ -4-1-4-2‬ﺗﺠﺰﻳﻪ ‪ PLU‬ﺑﺎ روش ﺣﺬﻓﻲ ﮔﻮﺳﻲ ﺑﺎ ﻣﺤﻮرﮔﻴﺮي‬


‫ﺑﺮاي ﻣﺎﺗﺮﻳﺲ ﻣﺮﺑﻌﻲ ‪ A‬زﻣﺎﻧﻲ ﺗﺠﺰﻳﻪ ‪ LU‬وﺟﻮد دارد ﻛﻪ ﺑﺘﻮان روش ﺣﺬﻓﻲ ﮔﻮﺳﻲ را ﺑﺪون‬
‫ﻣﺤﻮرﮔﻴﺮي ﻳﻌﻨﻲ ﺑﺪون ﻧﻴﺎز ﺑﻪ ﺟﺎﺑﺠﺎ ﻛﺮدن ﺳﻄﺮﻫﺎي ﻣﺎﺗﺮﻳﺲ اﻋﻤﺎل ﻛﺮد‪ .‬در ﻏﻴﺮ اﻳﻦ ﺻﻮرت‬
‫ﺗﺠﺰﻳﻪ ‪ LU‬اﻣﻜﺎن ﭘﺬﻳﺮ ﻧﺨﻮاﻫﺪ ﺑﻮد‪ .‬اﻳﻦ ﻣﻮﺿﻮع ﻣﻌﺎدل ﺑﺎ آن اﺳﺖ ﻛﻪ ﻫﻴﭻ ﻳﻚ از ﻋﻨﺎﺻﺮ ﻗﻄﺮي‬
‫ﻣﺎﺗﺮﻳﺲ ﻣﺮﺑﻌﻲ ‪ A‬در ﺣﻴﻦ اﻧﺠﺎم ﻋﻤﻠﻴﺎت ﺣﺬﻓﻲ ﮔﻮﺳﻲ ﺑﺮاﺑﺮ ﺻﻔﺮ ﻧﮕﺮدﻧﺪ‪ .‬در ﭼﻨﻴﻦ ﻣﻮاردي ﻻزم اﺳﺖ‬
‫ﻫﻤﺎﻧﻨﺪ آﻧﭽﻪ ﻛﻪ در روش ﺣﺬﻓﻲ ﮔﻮﺳﻲ ﺑﻴﺎن ﮔﺮدﻳﺪ‪ ،‬ﻋﻤﻞ ﻣﺤﻮرﮔﻴﺮي ﺻﻮرت ﮔﻴﺮد ﻛﻪ در اﻳﻨﺼﻮرت ﺑﻪ‬
‫آن ﺗﺠﺰﻳﻪ ‪ 1 A = PLU‬ﮔﻔﺘﻪ ﻣﻲ ﺷﻮد‪ ،‬ﻛﻪ ﻣﺎﺗﺮﻳﺲ ‪ P‬در اﻳﻨﺠﺎ ﻳﻚ ﻣﺎﺗﺮﻳﺲ ﺟﺎﻳﮕﺸﺖ اﺳﺖ‪.‬‬

‫ﻣﺜﺎل‪36-2‬‬
‫ﺗﺠﺰﻳﻪ ‪ A = PLU‬ﻣﺎﺗﺮﻳﺲ زﻳﺮ را ﺑﺪﺳﺖ آورﻳﺪ‪.‬‬
‫⎤‪⎡5 6 7‬‬
‫⎥⎥ ‪A = ⎢⎢10 12 3‬‬
‫⎦⎥‪⎢⎣20 17 19‬‬

‫ﺑﺎ اﻋﻤﺎل روش ﺣﺬﻓﻲ ﮔﻮﺳﻲ اﺑﺘﺪا ﻣﺎﺗﺮﻳﺲ ‪ A‬را ﺑﻪ ﻳﻚ ﻣﺎﺗﺮﻳﺲ ﺑﺎﻻ ﻣﺜﻠﺜﻲ ﺗﺒﺪﻳﻞ ﻣﻲ ﻧﻤﺎﻳﻴﻢ و ﻣﺎﺗﺮﻳﺲ‬
‫ﻣﻘﺪﻣﺎﺗﻲ ﻫﺮ ﻣﺮﺣﻠﻪ را ﺑﺪﺳﺖ ﻣﻲ آورﻳﻢ‪،‬‬
‫⎤‪⎡5 6 7‬‬ ‫‪−2r1+ r2 →r2‬‬ ‫‪⎡5 6‬‬ ‫⎤ ‪7‬‬ ‫⎤‪⎡ 1 0 0‬‬
‫⎥ ‪⎢10 12 3‬‬ ‫→‬
‫⎥‪⎢ 0 0 − 11‬‬ ‫⇒‬ ‫⎥⎥‪E1 = ⎢⎢− 2 1 0‬‬
‫⎢‬ ‫⎥‬ ‫⎢‬ ‫⎥‬
‫⎦⎥‪⎢⎣20 17 19‬‬ ‫⎦⎥ ‪⎢⎣20 17 19‬‬ ‫⎦⎥‪⎢⎣ 0 0 1‬‬

‫‪⎡5 6‬‬ ‫⎤ ‪7‬‬ ‫‪−4r1+ r3 →r3‬‬ ‫‪⎡5 6‬‬ ‫⎤ ‪7‬‬ ‫⎤‪⎡ 1 0 0‬‬
‫⎥‪⎢ 0 0 − 11‬‬ ‫→‬
‫⎥‪⎢0 0 − 11‬‬ ‫⇒‬ ‫⎥⎥‪E 2 = ⎢⎢ 0 1 0‬‬
‫⎢‬ ‫⎥‬ ‫⎢‬ ‫⎥‬
‫⎦⎥ ‪⎢⎣20 17 19‬‬ ‫⎦⎥ ‪⎢⎣0 − 7 − 9‬‬ ‫⎦⎥‪⎢⎣− 4 0 1‬‬

‫‪١‬‬
‫‪LU Factorization with Pivoting‬‬

‫‪Applied Linear Algebra with MATLAB‬‬


‫‪S. Sedghizadeh, Systems and Control Dept., KNTU‬‬
‫ﻓﺼﻞ دوم‪ :‬دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺟﺒﺮي ﺧﻄﻲ‬ ‫‪140‬‬

‫‪⎡5 6‬‬ ‫⎤ ‪7‬‬ ‫‪r2 ↔r3‬‬ ‫‪⎡5 6‬‬ ‫⎤ ‪7‬‬ ‫⎤‪⎡1 0 0‬‬
‫⎥‪⎢0 0 − 11‬‬ ‫→‬
‫⎥ ‪⎢0 − 7 − 9‬‬ ‫⇒‬ ‫⎥⎥‪E3 = ⎢⎢0 0 1‬‬
‫⎢‬ ‫⎥‬ ‫⎢‬ ‫⎥‬
‫⎦⎥ ‪⎢⎣0 − 7 − 9‬‬ ‫⎦⎥‪⎢⎣0 0 − 11‬‬ ‫⎦⎥‪⎢⎣0 1 0‬‬
‫ﺑﻪ اﻳﻦ ﺗﺮﺗﻴﺐ ﻣﺎﺗﺮﻳﺲ ﺑﺎﻻ ﻣﺜﻠﺜﻲ ‪ U‬ﺑﺼﻮرت زﻳﺮ ﺑﺪﺳﺖ ﻣﻲ آﻳﺪ‪،‬‬
‫‪⎡5 6‬‬ ‫⎤ ‪7‬‬
‫⎥⎥ ‪U = ⎢0 − 7 − 9‬‬
‫⎢‬
‫⎦⎥‪⎢⎣0 0 − 11‬‬
‫ﻣﺎﺗﺮﻳﺲ ﭘﺎﻳﻴﻦ ﻣﺜﻠﺜﻲ ‪ L‬ﻧﻴﺰ ﺑﺸﻜﻞ زﻳﺮ ﻗﺎﺑﻞ ﻣﺤﺎﺳﺒﻪ اﺳﺖ‪،‬‬
‫‪E3 E2 E1 A = U‬‬ ‫→‬ ‫‪A = E1−1 E2−1 E3−1U = PLU‬‬

‫‪⎡1‬‬ ‫‪0 0 ⎤ ⎡1 0‬‬ ‫⎤ ‪0 ⎤ ⎡1 0 0‬‬


‫‪−1‬‬
‫‪E E E‬‬
‫‪1‬‬
‫‪−1‬‬
‫‪2‬‬
‫‪−1‬‬
‫‪3‬‬ ‫‪= ⎢⎢2‬‬ ‫‪1 0⎥⎥ ⎢⎢0 1‬‬ ‫⎥⎥‪0⎥⎥ ⎢⎢0 0 1‬‬
‫‪⎢⎣0‬‬ ‫‪0 1⎥⎦ ⎢⎣4 0‬‬ ‫⎦⎥‪1⎥⎦ ⎢⎣0 1 0‬‬
‫‪⎡1‬‬ ‫‪0 0 ⎤ ⎡1‬‬ ‫⎤‪0 0⎤ ⎡1 0 0‬‬
‫‪= ⎢⎢2‬‬ ‫‪0 1⎥⎥ = ⎢⎢0‬‬ ‫‪0 1⎥⎥ ⎢⎢4 1 0⎥⎥ = PL‬‬
‫‪⎢⎣4‬‬ ‫‪1 0⎥⎦ ⎢⎣0‬‬ ‫⎦⎥‪1 0⎥⎦ ⎢⎣2 0 1‬‬
‫ﻟﺬا ﺗﺠﺰﻳﻪ ‪ A = PLU‬ﺑﺸﻜﻞ زﻳﺮ ﺑﺪﺳﺖ ﻣﻲ آﻳﺪ‪،‬‬
‫‪⎡ 5 6 7 ⎤ ⎡1 0 0 ⎤ ⎡ 1 0 0 ⎤ ⎡ 5 6‬‬ ‫⎤ ‪7‬‬
‫‪A = PLU‬‬ ‫⇒‬ ‫⎥ ‪⎢10 12 3 ⎥ = ⎢0 0 1⎥ ⎢4 1 0⎥ ⎢0 − 7 − 9‬‬
‫⎢‬ ‫⎢ ⎥‬ ‫⎢⎥‬ ‫⎢⎥‬ ‫⎥‬
‫⎦⎥‪⎢⎣20 17 19⎥⎦ ⎢⎣0 1 0⎥⎦ ⎢⎣2 0 1⎥⎦ ⎢⎣0 0 − 11‬‬

‫در ﻧﺮم اﻓﺰار ‪ MATLAB‬از ﺗﺎﺑﻊ )‪ lu(A‬ﺑﺮاي ﺗﺠﺰﻳﻪ ﻣﺎﺗﺮﻳﺲ ‪ A‬ﺑﻪ ﻓﺮم ‪PA = LU‬‬
‫اﺳﺘﻔﺎده ﻣﻲ ﺷﻮد‪ ،‬ﻛﻪ در آن ‪ L‬و ‪ U‬ﺑﻪ ﺗﺮﺗﻴﺐ ﻣﺎﺗﺮﻳﺲ ﻫﺎي ﭘﺎﻳﻴﻦ و ﺑﺎﻻ ﻣﺜﻠﺜﻲ ﻫﺴﺘﻨﺪ و ‪ P‬ﻣﺎﺗﺮﻳﺲ‬
‫ﺟﺎﻳﮕﺸﺖ اﺳﺖ‪ .‬از آﻧﺠﺎﺋﻴﻜﻪ ‪ P‬ﻳﻚ ﻣﺎﺗﺮﻳﺲ ﻣﺘﻌﺎﻣﺪ اﺳﺖ‪ ،‬ﻟﺬا دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺧﻄﻲ ‪ Ax = b‬ﻣﻌﺎدل‬
‫ﺑﺎ ‪ LUx = PT b‬ﻣﻲ ﺑﺎﺷﺪ و ﺑﺎ ﺣﻞ دو ﻣﻌﺎدﻟﻪ )‪ y = L \ ( PT b‬و ‪ x = U \ y‬ﭘﺎﺳﺦ ﺑﺪﺳﺖ ﻣﻲ آﻳﺪ‪.‬‬
‫ﺑﻪ اﺟﺮاي اﻳﻦ دﺳﺘﻮر ﺗﻮﺟﻪ ﻧﻤﺎﻳﻴﺪ‪،‬‬
‫;]‪A = [5 6 7;10 12 3;20 17 19‬‬
‫)‪[L,U,P] = lu(A‬‬
‫= ‪L‬‬
‫‪1.0000‬‬ ‫‪0‬‬ ‫‪0‬‬
‫‪0.5000‬‬ ‫‪1.0000‬‬ ‫‪0‬‬
‫‪0.2500‬‬ ‫‪0.5000‬‬ ‫‪1.0000‬‬

‫‪Applied Linear Algebra with MATLAB‬‬


‫‪S. Sedghizadeh, Systems and Control Dept., KNTU‬‬
‫‪141‬‬ ‫ﻓﺼﻞ دوم‪ :‬دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺟﺒﺮي ﺧﻄﻲ‬

‫= ‪U‬‬
‫‪20.0000‬‬ ‫‪17.0000‬‬ ‫‪19.0000‬‬
‫‪0‬‬ ‫‪3.5000‬‬ ‫‪- 6.5000‬‬
‫‪0‬‬ ‫‪0‬‬ ‫‪5.5000‬‬
‫= ‪P‬‬
‫‪0‬‬ ‫‪0‬‬ ‫‪1‬‬
‫‪0‬‬ ‫‪1‬‬ ‫‪0‬‬
‫‪1‬‬ ‫‪0‬‬ ‫‪0‬‬
‫ﻧﺮم اﻓﺰار ‪ MATLAB‬در اﺟﺮاي دﺳﺘﻮر)‪ lu(A‬ﺑﺮاي ﭘﺎﻳﺪاري ﺑﻴﺸﺘﺮ اﻟﮕﻮرﻳﺘﻢ‪ ،‬ﻫﻤﻮاره ﺳﻌﻲ ﻣﻲ ﻛﻨﺪ‬
‫ﻋﻨﺎﺻﺮ ﺳﺘﻮن ﻫﺎ را ﺑﺼﻮرت ﻧﺰوﻟﻲ ﻣﺮﺗﺐ ﻧﻤﺎﻳﺪ‪ .‬ﻟﺬا ﻧﻴﺎز ﺑﻪ ﺟﺎﻳﮕﺸﺖ ﻫﺎي ﺑﻴﺸﺘﺮي دارد در ﺣﺎﻟﻴﻜﻪ در‬
‫اﻟﮕﻮرﻳﺘﻢ ﻣﻌﺮﻓﻲ ﺷﺪه ﻓﻘﻂ در ﺻﻮرت ﺻﻔﺮ ﺷﺪن ﻋﻨﺎﺻﺮ ﻗﻄﺮي ﻋﻤﻞ ﺟﺎﻳﮕﺸﺖ ﺻﻮرت ﻣﻲ ﮔﻴﺮد‪.‬‬
‫□‬

‫ﻣﺜﺎل‪37-2‬‬
‫ﺗﺠﺰﻳﻪ ‪ A = PLU‬ﻣﺎﺗﺮﻳﺲ زﻳﺮ را ﺑﺪﺳﺖ آورﻳﺪ‪.‬‬
‫⎤ ‪⎡0 1 1‬‬
‫⎥⎥ ‪A = ⎢⎢1 0 1‬‬
‫⎦⎥‪⎢⎣2 3 4‬‬

‫اﺑﺘﺪا ﻣﺎﺗﺮﻳﺲ ﻫﺎي ﻣﻘﺪﻣﺎﺗﻲ ‪ E 2 ، E1‬و ‪ E3‬را ﺑﺎ اﻋﻤﺎل اﻟﮕﻮرﻳﺘﻢ ﺣﺬﻓﻲ ﮔﻮﺳﻲ ﺑﺪﺳﺖ ﻣﻲ آورﻳﻢ‪.‬‬
‫ﮔﺎم اول‪ -‬ﺟﺎﺑﺠﺎﻳﻲ ﺳﻄﺮ اول ﺑﺎ ﺳﻮم و ﺣﺬف ﻣﺠﻬﻮل ‪ x1‬از ﻣﻌﺎدﻟﻪ دوم‪،‬‬
‫⎤‪⎡ 2 3 4‬‬ ‫⎤ ‪⎡0 0 1‬‬
‫‪r1 ↔ r2‬‬ ‫⇒‬ ‫⎥ ‪⎢1 0 1‬‬ ‫→‬ ‫⎥⎥‪E1 = ⎢⎢0 1 0‬‬
‫⎢‬ ‫⎥‬
‫⎦⎥‪⎢⎣0 1 1‬‬ ‫⎦⎥‪⎢⎣1 0 0‬‬
‫⎤ ‪⎡2 3 4‬‬ ‫⎤‪⎡ 1 0 0‬‬
‫‪r + r2 → r2‬‬ ‫⇒‬ ‫⎢‬ ‫⎥‬ ‫⎥⎥‪E2 = ⎢⎢ −21 1 0‬‬
‫⎥‪⎢0 2 − 1‬‬ ‫→‬
‫‪−1‬‬ ‫‪−3‬‬
‫‪2 1‬‬

‫⎦⎥ ‪⎢⎣0 1 1‬‬ ‫⎦⎥‪⎢⎣ 0 0 1‬‬


‫ﮔﺎم دوم‪ -‬ﺣﺬف ﻣﺠﻬﻮل ‪ x2‬از ﻣﻌﺎدﻟﻪ ﺳﻮم‪،‬‬
‫‪⎡2‬‬ ‫‪3‬‬ ‫⎤‪4‬‬ ‫⎤‪⎡1 0 0‬‬
‫‪2‬‬
‫‪r + r3 → r3‬‬ ‫⇒‬ ‫‪⎢0‬‬ ‫‪−3‬‬ ‫⎥‬
‫⎥‪− 1‬‬ ‫→‬ ‫⎥⎥‪E3 = ⎢⎢0 1 0‬‬
‫‪3 2‬‬ ‫⎢‬ ‫‪2‬‬
‫‪⎢⎣0‬‬ ‫⎦⎥ ‪0 13‬‬ ‫⎦⎥‪⎢⎣0 23 1‬‬
‫ﺑﻪ اﻳﻦ ﺗﺮﺗﻴﺐ ﻣﺎﺗﺮﻳﺲ ﺑﺎﻻ ﻣﺜﻠﺜﻲ ‪ U‬ﺑﺼﻮرت زﻳﺮ ﺑﺪﺳﺖ ﻣﻲ آﻳﺪ‪،‬‬

‫‪Applied Linear Algebra with MATLAB‬‬


‫‪S. Sedghizadeh, Systems and Control Dept., KNTU‬‬
‫ﻓﺼﻞ دوم‪ :‬دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺟﺒﺮي ﺧﻄﻲ‬ ‫‪142‬‬

‫⎤ ‪⎡2 3 4‬‬
‫‪E3 E 2 E1 A = U‬‬ ‫⎥⎥‪→ U = ⎢⎢0 −23 − 1‬‬
‫⎦⎥ ‪⎢⎣0 0 13‬‬
‫ﺑﺮاي ﺑﺪﺳﺖ آوردن ﺗﺠﺰﻳﻪ ‪ A = LU‬ﺑﺼﻮرت زﻳﺮ ﻋﻤﻞ ﻣﻲ ﻛﻨﻴﻢ‪ .‬ﻣﺎﺗﺮﻳﺲ ﭘﺎﻳﻴﻦ ﻣﺜﻠﺜﻲ ‪ L‬ﻧﻴﺰ ﺑﺸﻜﻞ‬
‫زﻳﺮ ﻗﺎﺑﻞ ﻣﺤﺎﺳﺒﻪ اﺳﺖ‪،‬‬
‫‪E3 E2 E1 A = U‬‬ ‫→‬ ‫‪A = E1−1 E2−1 E3−1U = LU‬‬
‫‪⎡0 0 1⎤ ⎡1 0 0⎤ ⎡1‬‬ ‫‪0‬‬ ‫‪0⎤ ⎡0 0 1⎤ ⎡1‬‬ ‫‪0‬‬ ‫⎤‪0‬‬
‫‪−1‬‬
‫‪E E E‬‬
‫‪1‬‬
‫‪−1‬‬
‫‪2‬‬
‫‪−1‬‬
‫‪3‬‬ ‫‪= ⎢⎢0 1 0⎥⎥ ⎢⎢ 12 1 0⎥⎥ ⎢⎢0‬‬ ‫‪1‬‬ ‫‪0⎥⎥ = ⎢⎢0 1 0⎥⎥ ⎢⎢ 12‬‬ ‫‪1‬‬ ‫‪0⎥⎥ = PL‬‬
‫‪⎢⎣1 0 0⎥⎦ ⎢⎣0 0 1⎥⎦ ⎢⎣0‬‬ ‫‪−2‬‬
‫‪3‬‬ ‫‪1⎥⎦ ⎢⎣1 0 0⎥⎦ ⎢⎣0‬‬ ‫‪−2‬‬
‫‪3‬‬ ‫⎦⎥‪1‬‬

‫ﻟﺬا ﺗﺠﺰﻳﻪ ‪ A = PLU‬ﺑﺸﻜﻞ زﻳﺮ ﺑﺪﺳﺖ ﻣﻲ آﻳﺪ‪،‬‬


‫‪⎡0 1 1 ⎤ ⎡0 0 1⎤ ⎡1‬‬ ‫‪0‬‬ ‫‪0⎤ ⎡ 2‬‬ ‫‪3‬‬ ‫⎤‪4‬‬
‫‪A = PLU‬‬ ‫⇒‬ ‫‪⎢1 0 1 ⎥ = ⎢0 1 0 ⎥ ⎢ 1‬‬ ‫‪1‬‬ ‫‪0⎥⎥ ⎢⎢0‬‬ ‫‪−3‬‬
‫⎥⎥‪− 1‬‬
‫⎢‬ ‫⎢ ⎥‬ ‫‪⎥⎢ 2‬‬ ‫‪2‬‬
‫‪⎢⎣2 3 4⎥⎦ ⎢⎣1 0 0⎥⎦ ⎢⎣0‬‬ ‫‪−2‬‬
‫‪3‬‬ ‫‪1⎥⎦ ⎢⎣0‬‬ ‫‪0‬‬ ‫⎥ ‪1‬‬
‫⎦ ‪3‬‬

‫ﺑﺎ اﺳﺘﻔﺎده از دﺳﺘﻮر )‪ lu(A‬ﺑﺮاي ﺗﺠﺰﻳﻪ ﻣﺎﺗﺮﻳﺲ ‪ A‬ﺑﻪ ﻓﺮم ‪ PA = LU‬دارﻳﻢ‪،‬‬

‫;]‪A = [0 1 1;1 0 1;2 3 4‬‬


‫)‪[L,U,P] = lu(A‬‬
‫= ‪L‬‬
‫‪1.0000‬‬ ‫‪0‬‬ ‫‪0‬‬
‫‪0.5000‬‬ ‫‪1.0000‬‬ ‫‪0‬‬
‫‪0‬‬ ‫‪- 0.6667‬‬ ‫‪1.0000‬‬
‫= ‪U‬‬
‫‪2.0000‬‬ ‫‪3.0000‬‬ ‫‪4.0000‬‬
‫‪0‬‬ ‫‪- 1.5000‬‬ ‫‪- 1.0000‬‬
‫‪0‬‬ ‫‪0‬‬ ‫‪0.3333‬‬
‫= ‪P‬‬
‫‪0‬‬ ‫‪0‬‬ ‫‪1‬‬
‫‪0‬‬ ‫‪1‬‬ ‫‪0‬‬
‫‪1‬‬ ‫‪0‬‬ ‫‪0‬‬
‫□‬

‫‪Applied Linear Algebra with MATLAB‬‬


‫‪S. Sedghizadeh, Systems and Control Dept., KNTU‬‬
‫‪143‬‬ ‫ﻓﺼﻞ دوم‪ :‬دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺟﺒﺮي ﺧﻄﻲ‬

‫‪ -5-1-4-2‬ﺗﺠﺰﻳﻪ ‪ PLU‬ﺑﺎ اﺳﺘﻔﺎده از ﻣﺎﺗﺮﻳﺲ ﻫﺎي ﺑﻠﻮﻛﻲ‬


‫اﻟﮕﻮرﻳﺘﻢ ﺗﺠﺰﻳﻪ ‪ A = PLU‬را ﻣﻲ ﺗﻮان ﺑﺎ اﺳﺘﻔﺎده از ﻣﺎﺗﺮﻳﺲ ﻫﺎي ﺑﻠﻮﻛﻲ ﻧﻴﺰ ﺑﻴﺎن ﻛﺮد‪ ،‬در‬
‫اﻳﻦ روش اﻟﮕﻮرﻳﺘﻢ را ﻫﻤﺎﻧﻨﺪ ﻗﺒﻞ اﻧﺠﺎم ﻣﻲ دﻫﻴﻢ و ﻫﺮﺟﺎ ﻛﻪ ﻧﻴﺎز ﺑﻮد ﻋﻤﻞ ﺟﺎﺑﺠﺎﻳﻲ ﺳﻄﺮﻫﺎ را اﻧﺠﺎم‬
‫داده و آن را ﺑﺼﻮرت ﻳﻚ ﻣﺎﺗﺮﻳﺲ ﺟﺎﻳﮕﺸﺖ ﻧﺸﺎن ﻣﻲ دﻫﻴﻢ‪.‬‬

‫ﻣﺜﺎل‪38-2‬‬
‫ﺗﺠﺰﻳﻪ ‪ A = PLU‬ﻣﺎﺗﺮﻳﺲ زﻳﺮ را ﺑﺪﺳﺖ آورﻳﺪ‪.‬‬
‫⎤ ‪⎡1 0 0‬‬
‫⎥⎥ ‪A = ⎢⎢0 0 2‬‬
‫⎦⎥‪⎢⎣0 1 − 1‬‬
‫در اﻳﻦ ﻣﺎﺗﺮﻳﺲ اﮔﺮ ﺻﻮرت ﻛﻠﻲ ﺗﺠﺰﻳﻪ ‪ LU‬را اﺟﺮا ﻧﻤﺎﻳﻴﻢ دارﻳﻢ‪،‬‬
‫‪⎡1 0 0 ⎤ ⎡ 1 0‬‬ ‫‪0⎤ ⎡u11 u12‬‬ ‫⎤ ‪u13‬‬
‫‪A = ⎢⎢0 0 2 ⎥⎥ = ⎢⎢l 21 1‬‬ ‫‪0⎥⎥ ⎢⎢ 0 u 22‬‬ ‫⎥⎥ ‪u 23‬‬
‫‪⎢⎣0 1 − 1⎥⎦ ⎢⎣l31 l32‬‬ ‫‪1⎥⎦ ⎢⎣ 0‬‬ ‫‪0‬‬ ‫⎦⎥ ‪u33‬‬

‫‪u11 = a11 → u11 = 1‬‬


‫‪U 12 = A12 → u12 = 0 ,‬‬ ‫‪u13 = 0‬‬
‫‪1‬‬
‫= ‪L21‬‬ ‫‪A21 → l 21 = 0 ,‬‬ ‫‪l31 = 0‬‬
‫‪a11‬‬
‫‪⎡1 0 0 ⎤ ⎡1 0‬‬ ‫‪0⎤ ⎡1 0‬‬ ‫⎤‪0‬‬
‫‪A = ⎢⎢0 0 2 ⎥⎥ = ⎢⎢0 1‬‬ ‫⎥⎥ ‪0⎥ ⎢0 u 22 u 23‬‬
‫⎥‬ ‫⎢‬
‫‪⎢⎣0 1 − 1⎥⎦ ⎢⎣0 l32‬‬ ‫⎦⎥ ‪1⎥⎦ ⎢⎣0 0 u33‬‬
‫دﻗﺖ ﻛﻨﻴﺪ ﻋﻨﺼﺮ ‪ a 22 = 0‬اﺳﺖ‪،‬‬
‫‪A22 − L21U 12 = L22U 22‬‬
‫⎤ ‪⎡0 2 ⎤ ⎡0‬‬ ‫‪⎡1‬‬ ‫‪0⎤ ⎡u 22‬‬ ‫⎤ ‪u 23‬‬
‫‪⎢1 − 1⎥ − ⎢0⎥[0 0] = ⎢l‬‬ ‫‪1⎥⎦ ⎢⎣ 0‬‬ ‫⎦⎥ ‪u33‬‬
‫⎣‬ ‫⎦ ⎣ ⎦‬ ‫‪⎣ 32‬‬
‫‪⎧u 22 = 0‬‬
‫⎪‬ ‫‪u22 =0‬‬
‫‪⎡0 2 ⎤ ⎡ u 22‬‬ ‫‪u 23‬‬ ‫‪⎤ ⎪l32 u 22 = 1‬‬ ‫→‬ ‫? → ‪l32 .0 = 1‬‬
‫‪⎢1 − 1⎥ = ⎢l u‬‬ ‫⎥‬ ‫⎨→‬
‫‪l32 u 23 + u33 ⎦ ⎪u = 2‬‬
‫⎣‬ ‫‪⎦ ⎣ 32 22‬‬ ‫‪23‬‬
‫⎪‬
‫‪⎩l32 u32 + u33 = −1‬‬
‫ﻟﺬا ﻣﺸﺨﺺ اﺳﺖ ﻛﻪ در ﺣﻞ دﭼﺎر ﺗﻨﺎﻗﺾ ﻣﻲ ﮔﺮدﻳﻢ ‪.‬‬

‫‪Applied Linear Algebra with MATLAB‬‬


‫‪S. Sedghizadeh, Systems and Control Dept., KNTU‬‬
‫ﻓﺼﻞ دوم‪ :‬دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺟﺒﺮي ﺧﻄﻲ‬ ‫‪144‬‬

‫ﺣﺎل ﺑﺮاي رﻓﻊ اﻳﻦ ﻣﺸﻜﻞ ﻫﻤﺎﻧﻨﺪ روش ﺣﺬﻓﻲ ﮔﻮﺳﻲ ﺑﺎﻳﺪ ﻳﻚ ﻋﻤﻞ ﺟﺎﻳﮕﺸﺖ اﻧﺠﺎم ﮔﻴﺮد‪،‬‬
‫⎤ ‪⎡ 0 2 ⎤ ⎡0‬‬ ‫⎤ ‪⎡0 2‬‬
‫⎢ = ‪A22 − L21U 12‬‬ ‫⎥‬ ‫⎢ = ]‪− ⎢ ⎥[0 0‬‬ ‫⎥‬
‫⎦‪⎣1 − 1⎦ ⎣0‬‬ ‫⎦‪⎣1 − 1‬‬

‫~‬ ‫⎤‪⎡0 2 ⎤ ⎡0 1⎤ ⎡0 2 ⎤ ⎡1 − 1‬‬


‫⎢ ‪A = P1‬‬ ‫⎢=⎥‬ ‫⎢⎥‬ ‫⎢=⎥‬ ‫⎥‬
‫⎦ ‪⎣1 − 1⎦ ⎣1 0⎦ ⎣1 − 1⎦ ⎣0 2‬‬

‫~‬
‫ﺣﺎل ﺗﺠﺰﻳﻪ ‪ LU‬را ﺑﺮاي ﻣﺎﺗﺮﻳﺲ ‪ A‬اداﻣﻪ ﻣﻲ دﻫﻴﻢ‪،‬‬
‫~‬ ‫‪⎡1 − 1⎤ ⎡ 1‬‬ ‫⎤ ‪0⎤ ⎡u 22 u 23‬‬
‫‪A = L22U 22‬‬ ‫→‬ ‫‪⎢0 2 ⎥ = ⎢l‬‬
‫⎣‬ ‫‪⎦ ⎣ 32‬‬ ‫⎦⎥ ‪1⎥⎦ ⎢⎣ 0 u33‬‬
‫‪⎧u 22 = 1‬‬
‫⎪‬ ‫‪u22 =1‬‬
‫‪⎡1 − 1⎤ ⎡ u 22‬‬ ‫‪u 23‬‬ ‫‪⎤ ⎪l32 u 22 = 0‬‬ ‫→‬ ‫‪l32 = 0‬‬
‫‪⎢0 2 ⎥ = ⎢l u‬‬ ‫⎥‬ ‫⎨→‬
‫‪l32 u 23 + u33 ⎦ ⎪u = −1‬‬
‫⎣‬ ‫‪⎦ ⎣ 32 22‬‬ ‫‪23‬‬
‫⎪‬
‫‪⎩ 32 u32 + u33 = 2 → u33 = 2‬‬
‫‪l‬‬

‫ﻟﺬا ﺗﺠﺰﻳﻪ ‪ A = PLU‬ﺑﺼﻮرت زﻳﺮ ﺑﺪﺳﺖ ﻣﻲ آﻳﺪ‪،‬‬


‫⎤ ‪⎡1 0 0 ⎤ ⎡1 0 0⎤ ⎡1 0 0⎤ ⎡1 0 0‬‬
‫⎥⎥‪A = PLU ⇒ ⎢⎢0 0 2 ⎥⎥ = ⎢⎢0 0 1⎥⎥ ⎢⎢0 1 0⎥⎥ ⎢⎢0 1 − 1‬‬
‫⎦⎥ ‪⎢⎣0 1 − 1⎥⎦ ⎢⎣0 1 0⎥⎦ ⎢⎣0 0 1⎥⎦ ⎢⎣0 0 2‬‬
‫□‬

‫ﻣﺜﺎل‪39-2‬‬
‫ﺗﺠﺰﻳﻪ ‪ A = PLU‬ﻣﺎﺗﺮﻳﺲ زﻳﺮ را ﺑﺪﺳﺖ آورﻳﺪ‪.‬‬
‫⎤‪⎡0 5 5‬‬
‫⎥⎥‪A = ⎢⎢2 3 0‬‬
‫⎦⎥‪⎢⎣6 9 8‬‬
‫اﺑﺘﺪا ﻣﺎﺗﺮﻳﺲ ‪ A = LU‬را ﺑﺼﻮرت زﻳﺮ ﻣﻲ ﻧﻮﻳﺴﻴﻢ‪،‬‬
‫⎤ ‪⎡0 5 5⎤ ⎡ 1 0 0⎤ ⎡u11 u12 u13‬‬
‫⎥⎥ ‪A = ⎢⎢2 3 0⎥⎥ = ⎢⎢l 21 1 0⎥⎥ ⎢⎢ 0 u 22 u 23‬‬
‫‪⎢⎣6 9 8⎥⎦ ⎢⎣l31 l32 1⎥⎦ ⎢⎣ 0‬‬ ‫⎦⎥ ‪0 u33‬‬
‫از آﻧﺠﺎﻳﻴﻜﻪ ‪ a11 = 0‬ﻣﻲ ﺑﺎﺷﺪ‪ ،‬از اﺑﺘﺪا ﻳﻚ ﻣﺎﺗﺮﻳﺲ ﺟﺎﻳﮕﺸﺖ ‪ P1‬را در ﻧﻈﺮ ﻣﻲ ﮔﻴﺮﻳﻢ‪،‬‬

‫‪Applied Linear Algebra with MATLAB‬‬


‫‪S. Sedghizadeh, Systems and Control Dept., KNTU‬‬
‫‪145‬‬ ‫ﻓﺼﻞ دوم‪ :‬دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺟﺒﺮي ﺧﻄﻲ‬

‫⎤ ‪⎡ 6 9 8 ⎤ ⎡0 0 1 ⎤ ⎡ 0 5 5‬‬
‫~‬ ‫⎥ ‪⎢ 2 3 0 ⎥ = ⎢0 1 0 ⎥ ⎢ 2 3 0‬‬
‫‪A = P1 A‬‬ ‫→‬ ‫⎢‬ ‫⎢ ⎥‬ ‫⎢⎥‬ ‫⎥‬
‫⎦⎥‪⎢⎣0 5 5⎥⎦ ⎢⎣1 0 0⎥⎦ ⎢⎣6 9 8‬‬
‫~‬
‫ﺑﺎ اﻳﻦ ﻛﺎر ﺳﻄﺮ اول و ﺳﻮم را ﺟﺎﺑﺠﺎ ﻣﻲ ﻧﻤﺎﻳﻴﻢ‪ .‬ﺣﺎل ﺗﺠﺰﻳﻪ ‪ LU‬را ﺑﺮاي ﻣﺎﺗﺮﻳﺲ ‪ A‬ﺑﺪﺳﺖ ﻣﻲ آورﻳﻢ‪،‬‬
‫~‬ ‫‪⎡6 9‬‬ ‫‪8⎤ ⎡ 1 0‬‬ ‫‪0⎤ ⎡u11 u12‬‬ ‫⎤ ‪u13‬‬
‫~‪~ ⎡ a‬‬ ‫⎤ ‪A12‬‬ ‫‪⎢2 3‬‬
‫‪A = ⎢ ~11‬‬ ‫⎥ ~‬ ‫→‬ ‫⎢‬ ‫‪0⎥⎥ = ⎢⎢l 21 1‬‬ ‫‪0⎥⎥ ⎢⎢ 0 u 22‬‬ ‫⎥⎥ ‪u 23‬‬
‫‪⎣ A21‬‬ ‫⎦ ‪A22‬‬
‫‪⎢⎣0 5‬‬ ‫‪5⎥⎦ ⎢⎣l31 l32‬‬ ‫‪1⎥⎦ ⎢⎣ 0‬‬ ‫‪0‬‬ ‫⎦⎥ ‪u 33‬‬
‫~‬
‫‪u11 = a11 → u11 = 6‬‬
‫~‬
‫‪U 12 = A12 → U 12 = [9‬‬ ‫‪8] → u12 = 9 ,‬‬ ‫‪u13 = 8‬‬
‫~ ‪1‬‬ ‫⎤‪1 ⎡ 2‬‬ ‫‪1‬‬
‫‪L21 = ~ A21 → L21 = ⎢ ⎥ → l 21 = ,‬‬ ‫‪l31 = 0‬‬
‫‪a11‬‬ ‫⎦‪6 ⎣0‬‬ ‫‪3‬‬
‫~‬
‫‪A22 − L21U 12 = L22U 22‬‬
‫⎤ ‪⎡3 0⎤ ⎡ 13‬‬ ‫‪⎡1‬‬ ‫‪0⎤ ⎡u 22‬‬ ‫‪u 23 ⎤ ⎡0‬‬ ‫‪−8‬‬
‫‪⎤ ⎡ u 22‬‬ ‫‪u 23‬‬ ‫⎤‬
‫‪⎢5 5⎥ − ⎢0⎥[9 8] = ⎢l‬‬ ‫→‬ ‫=‬
‫‪3‬‬

‫⎣‬ ‫⎦ ⎣ ⎦‬ ‫‪⎣ 32‬‬ ‫‪1⎥⎦ ⎢⎣ 0‬‬ ‫‪u33 ⎥⎦ ⎢⎣5‬‬ ‫‪5 ⎥⎦ ⎢⎣l32 u 22‬‬ ‫⎦⎥ ‪l32 u 23 + u33‬‬

‫ﻋﻨﺼﺮ )‪ (1،1‬ﺻﻔﺮ اﺳﺖ‪ ،‬ﻟﺬا ﻧﻴﺎز ﺑﻪ ﻳﻚ ﺟﺎﻳﮕﺸﺖ دﻳﮕﺮ دارﻳﻢ‪،‬‬


‫~‬
‫~‬ ‫‪⎡0‬‬ ‫‪−8‬‬
‫‪⎤ ⎡0 1 ⎤ ⎡0‬‬ ‫‪−8‬‬
‫‪⎤ ⎡5‬‬ ‫⎤‪5‬‬
‫⎢ ‪A = P2‬‬ ‫‪3‬‬
‫=‬ ‫‪3‬‬
‫⎢=‬ ‫⎥ ‪−8‬‬
‫‪⎣5‬‬ ‫‪5 ⎥⎦ ⎢⎣1 0⎥⎦ ⎢⎣5‬‬ ‫‪5 ⎥⎦ ⎣0‬‬ ‫⎦ ‪3‬‬
‫~‬
‫~‬
‫ﺑﺎ اﻳﻨﻜﺎر ﺳﻄﺮ دوم و ﺳﻮم در ﻣﺎﺗﺮﻳﺲ اﺻﻠﻲ را ﺟﺎﺑﺠﺎ ﻣﻲ ﻛﻨﻴﻢ‪ ،‬ﺣﺎل ﺗﺠﺰﻳﻪ ‪ LU‬را ﺑﺮاي ﻣﺎﺗﺮﻳﺲ ‪A‬‬
‫اداﻣﻪ ﻣﻲ دﻫﻴﻢ‪،‬‬
‫~‬
‫~‬ ‫⎤ ‪⎡5 5 ⎤ ⎡ 1 0⎤ ⎡u 22 u 23‬‬
‫‪A = L22U 22‬‬ ‫⎢ →‬ ‫⎥ ‪−8‬‬
‫⎢=‬ ‫⎢⎥‬ ‫⎥‬
‫⎦ ‪⎣0 5 ⎦ ⎣l32 1⎦ ⎣ 0 u33‬‬
‫‪⎧u 22 = 5‬‬
‫⎪‬ ‫‪u 22 =5‬‬
‫~‬ ‫⎪‬ ‫‪l‬‬ ‫‪u‬‬ ‫=‬ ‫‪0‬‬ ‫→‬ ‫‪l32 = 0‬‬
‫~‬ ‫‪⎡5 5 ⎤ ⎡ u 22‬‬ ‫‪u 23‬‬ ‫‪⎤ ⎪ 32 22‬‬
‫⎢ ‪A = L22‬‬ ‫⎥ ‪−8‬‬
‫=‬ ‫⎢‬ ‫→‬
‫‪⎥ ⎨u = 5‬‬
‫‪⎣0 5 ⎦ ⎣l32 u 22 l32 u 23 + u33 ⎦ ⎪ 23‬‬
‫⎪‬ ‫‪−8‬‬ ‫‪−8‬‬
‫‪⎪⎩l32 u32 + u33 = 3‬‬ ‫= ‪→ u33‬‬
‫‪3‬‬
‫ﻟﺬا ﺗﺠﺰﻳﻪ ‪ A = PLU‬ﺑﺸﻜﻞ زﻳﺮ ﺑﺪﺳﺖ ﻣﻲ آﻳﺪ‪،‬‬
‫⎤‪⎡0 0 1⎤ ⎡1 0 0⎤ ⎡0 1 0‬‬
‫⎢ ⎤ ‪⎡1 0‬‬
‫⎢ ‪P = P1‬‬ ‫⎥‬ ‫⎥⎥‪= ⎢0 1 0⎥⎥ ⎢⎢0 0 1⎥⎥ = ⎢⎢0 0 1‬‬
‫⎥‪⎣0 P2 ⎦ ⎢1 0 0⎥ ⎢0 1 0⎥ ⎢1 0 0‬‬
‫⎣‬ ‫⎣⎦‬ ‫⎣ ⎦‬ ‫⎦‬

‫‪Applied Linear Algebra with MATLAB‬‬


‫‪S. Sedghizadeh, Systems and Control Dept., KNTU‬‬
‫ﻓﺼﻞ دوم‪ :‬دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺟﺒﺮي ﺧﻄﻲ‬ ‫‪146‬‬

‫⎡‬ ‫‪1‬‬ ‫‪0 ⎤ ⎡1‬‬ ‫⎤‪0 0‬‬


‫‪L = ⎢ 1 PT A‬‬‫~‬ ‫⎢ ⎥‬ ‫⎥⎥‪1 0‬‬
‫~‪⎢ a‬‬ ‫‪2‬‬ ‫‪21‬‬ ‫‪L22 ⎥ = ⎢0‬‬
‫‪⎣ 11‬‬ ‫‪⎦ ⎢⎣ 13‬‬ ‫⎦⎥‪0 1‬‬
‫~‬ ‫‪⎡6 9‬‬ ‫⎤‪8‬‬
‫⎢ ⎤ ‪⎡a~11 A12‬‬
‫‪U‬‬ ‫⎢=‬ ‫‪⎥ = ⎢0 5‬‬ ‫⎥⎥ ‪5‬‬
‫‪⎣ 0 U 22 ⎦ ⎢0 0‬‬ ‫⎥ ‪−8‬‬
‫⎣‬ ‫⎦ ‪3‬‬

‫‪⎡0‬‬ ‫‪5 5⎤ ⎡0 1 0⎤ ⎡1‬‬ ‫‪0 0 ⎤ ⎡6 9‬‬ ‫⎤‪8‬‬


‫‪A = PLU ⇒ ⎢⎢2‬‬ ‫‪3 0⎥⎥ = ⎢⎢0 0 1⎥⎥ ⎢⎢0‬‬ ‫‪1 0⎥⎥ ⎢⎢0 5‬‬ ‫⎥⎥ ‪5‬‬
‫‪⎢⎣6‬‬ ‫‪9 8⎥⎦ ⎢⎣1 0 0⎥⎦ ⎢⎣ 13‬‬ ‫‪0 1⎥⎦ ⎢⎣0 0‬‬ ‫⎥ ‪−8‬‬
‫⎦ ‪3‬‬

‫ﺑﺎ اﺳﺘﻔﺎده از ﺗﺎﺑﻊ )‪ lu(A‬ﺑﺮاي ﺗﺠﺰﻳﻪ ﻣﺎﺗﺮﻳﺲ ‪ A‬ﺑﻪ ﻓﺮم ‪ PA = LU‬دارﻳﻢ‪،‬‬


‫;]‪A = [0 5 5;2 3 0;6 9 8‬‬
‫)‪[L,U,P] = lu(A‬‬
‫= ‪L‬‬
‫‪1.0000‬‬ ‫‪0‬‬ ‫‪0‬‬
‫‪0‬‬ ‫‪1.0000‬‬ ‫‪0‬‬
‫‪0.3333‬‬ ‫‪0‬‬ ‫‪1.0000‬‬
‫= ‪U‬‬
‫‪6.0000‬‬ ‫‪9.0000‬‬ ‫‪8.0000‬‬
‫‪0‬‬ ‫‪5.0000‬‬ ‫‪5.0000‬‬
‫‪0‬‬ ‫‪0‬‬ ‫‪- 2.6667‬‬
‫= ‪P‬‬
‫‪0‬‬ ‫‪0‬‬ ‫‪1‬‬
‫‪1‬‬ ‫‪0‬‬ ‫‪0‬‬
‫‪0‬‬ ‫‪1‬‬ ‫‪0‬‬
‫□‬

‫‪ -6-1-4-2‬ﺣﺠﻢ ﻣﺤﺎﺳﺒﺎت ﺟﺒﺮي اﻟﮕﻮرﻳﺘﻢ ﺗﺠﺰﻳﻪ ‪LU‬‬


‫ﺗﻌﺪاد ﻋﻤﻠﻴﺎت ﻣﺤﺎﺳﺒﺎﺗﻲ در ﺣﻞ دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ‪ Ax = b‬ﺑﺎ اﺳﺘﻔﺎده از ﺗﺠﺰﻳﻪ ‪LU‬‬
‫ﺑﺼﻮرت زﻳﺮ ﺑﺪﺳﺖ ﻣﻲ آﻳﺪ‪،‬‬
‫‪2n 3 n 2 n 2 n 3‬‬
‫≈ ‪− −‬‬ ‫‪ -1‬ﺗﺠﺰﻳﻪ ‪ LU‬ﻣﺎﺗﺮﻳﺲ ‪: A‬‬
‫‪3‬‬ ‫‪2 6‬‬ ‫‪3‬‬
‫‪ -2‬ﺣﻞ دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺑﺎ اﺳﺘﻔﺎده از اﻟﮕﻮرﻳﺘﻢ ﻫﺎي ﺟﺎﻳﮕﺰﻳﻨﻲ ﭘﻴﺸﺮو و ﭘﺴﺮو‪2n 2 :‬‬

‫‪Applied Linear Algebra with MATLAB‬‬


‫‪S. Sedghizadeh, Systems and Control Dept., KNTU‬‬
‫‪147‬‬ ‫ﻓﺼﻞ دوم‪ :‬دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺟﺒﺮي ﺧﻄﻲ‬

‫‪ -2-4-2‬ﺗﺠﺰﻳﻪ ﭼﺎﻟﺴﻜﻲ ﻣﺎﺗﺮﻳﺲ ﻫﺎ‬


‫ﺗﺠﺰﻳﻪ ﭼﺎﻟﺴﻜﻲ ﺣﺎﻟﺖ ﺧﺎﺻﻲ از ﺗﺠﺰﻳﻪ ‪ LU‬ﻣﻲ ﺑﺎﺷﺪ و زﻣﺎﻧﻲ ﻛﺎرﺑﺮد دارد ﻛﻪ ﻣﺎﺗﺮﻳﺲ ‪A‬‬
‫ﻣﻮرد ﻧﻈﺮ ﻣﺜﺒﺖ ﻣﻌﻴﻦ ﺑﺎﺷﺪ‪.‬‬
‫ﺑﻨﺎﺑﺮ ﺗﻌﺮﻳﻒ ﻣﻲ ﺗﻮان ﻳﻚ ﻣﺎﺗﺮﻳﺲ ﻣﺜﺒﺖ ﻣﻌﻴﻦ ‪ An× n‬را ﺑﺼﻮرت ﺣﺎﺻﻠﻀﺮب دو ﻣﺎﺗﺮﻳﺲ ﺑﻪ‬
‫ﺷﻜﻞ ‪ A = LLT‬ﺗﺠﺰﻳﻪ ﻛﺮد‪ ،‬ﺑﻪ ﻃﻮرﻳﻜﻪ ‪ L‬ﻳﻚ ﻣﺎﺗﺮﻳﺲ ﭘﺎﻳﻴﻦ ﻣﺜﻠﺜﻲ ﺑﺎ ﻋﻨﺎﺻﺮ ﻗﻄﺮي ﻣﺜﺒﺖ ﺑﺎﺷﺪ‪ ،‬ﺑﻪ‬
‫اﻳﻦ روش ﺗﺠﺰﻳﻪ ﭼﺎﻟﺴﻜﻲ ﻣﺎﺗﺮﻳﺲ ‪ An× n‬ﮔﻔﺘﻪ ﻣﻲ ﺷﻮد‪ .‬ﻋﻼوه ﺑﺮ ﺣﻞ دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺟﺒﺮي‪ ،‬ﻳﻜﻲ‬
‫از ﻣﻬﻤﺘﺮﻳﻦ ﻛﺎرﺑﺮدﻫﺎي ﺗﺠﺰﻳﻪ ﭼﺎﻟﺴﻜﻲ در ﺣﻞ ﻣﺴﺌﻠﻪ ﺣﺪاﻗﻞ ﻣﺮﺑﻌﺎت ﻣﻲ ﺑﺎﺷﺪ ﻛﻪ در ﻓﺼﻞ ﻫﺎي آﺗﻲ ﺑﻪ‬
‫آن ﻣﻲ دازﻳﻢ‪،‬‬
‫ﺑﺮاي ﺑﺪﺳﺖ آوردن اﻳﻦ ﺗﺠﺰﻳﻪ ﻫﻤﺎﻧﻨﺪ ﺗﺠﺰﻳﻪ ‪ LU‬ﻣﻲ ﺗﻮان از اﻟﮕﻮرﻳﺘﻢ ﺣﺬﻓﻲ ﮔﻮﺳﻲ و از‬
‫ﻣﺎﺗﺮﻳﺲ ﻫﺎي ﺑﻠﻮﻛﻲ اﺳﺘﻔﺎده ﻧﻤﻮد‪ .‬از ﺑﻴﺎن اﻟﮕﻮرﻳﺘﻢ ﺣﺬﻓﻲ ﮔﻮﺳﻲ ﺑﻪ دﻟﻴﻞ ﺗﻜﺮاري ﺑﻮدن ﻣﻄﺎﻟﺐ‬
‫ﺧﻮدداري ﻣﻲ ﺷﻮد و ﻓﻘﻂ روش ﻣﺎﺗﺮﻳﺲ ﻫﺎي ﺑﻠﻮﻛﻲ ﺷﺮح داده ﻣﻲ ﺷﻮد‪.‬‬
‫ﺻﻮرت ﻛﻠﻲ ﻣﺎﺗﺮﻳﺴﻬﺎي ﺑﻠﻮﻛﻲ ‪ An× n‬و ‪ L‬را ﺑﺸﻜﻞ زﻳﺮ در ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ‪،‬‬
‫‪⎡a‬‬ ‫‪T‬‬
‫‪A21‬‬ ‫⎤‬ ‫‪⎡l‬‬ ‫⎤ ‪0‬‬
‫‪A = ⎢ 11‬‬ ‫⎥‬ ‫‪,‬‬ ‫‪L = ⎢ 11‬‬
‫⎦⎥ ‪L22‬‬
‫)‪(15-2‬‬
‫‪⎣ A21‬‬ ‫⎦ ‪A22‬‬ ‫‪⎣ L21‬‬
‫ﻛﻪ در آن‪،‬‬
‫‪l11 = a11‬‬
‫‪1‬‬
‫= ‪L21‬‬ ‫‪A21‬‬ ‫)‪(16-2‬‬
‫‪l11‬‬
‫‪A22 − L21LT21 = L22 LT22‬‬

‫ﺑﻪ اﻳﻦ ﺗﺮﺗﻴﺐ ﻣﺎﺗﺮﻳﺲ ﻣﺜﺒﺖ ﻣﻌﻴﻦ ﻣﺬﻛﻮر ﺑﺼﻮرت ‪ A = LLT‬ﺗﺠﺰﻳﻪ ﻣﻲ ﮔﺮدد‪.‬‬

‫ﻣﺜﺎل‪40-2‬‬
‫ﺗﺠﺰﻳﻪ ﭼﺎﻟﺴﻜﻲ ﻣﺎﺗﺮﻳﺲ ﻣﺜﺒﺖ ﻣﻌﻴﻦ ‪ A3×3‬را ﺑﻴﺎﺑﻴﺪ‪،‬‬
‫⎤‪⎡ 25 15 − 5‬‬
‫⎥⎥ ‪A = ⎢⎢ 15 18 0‬‬
‫⎦⎥ ‪⎢⎣− 5 0 11‬‬
‫اﮔﺮ ﻣﺎﺗﺮﻳﺲ ‪ A = LLT‬را ﺑﺼﻮرت زﻳﺮ ﺑﻨﻮﻳﺴﻴﻢ‪،‬‬
‫‪⎡ 25 15 − 5⎤ ⎡l11 0‬‬ ‫⎤ ‪0 ⎤ ⎡l11 l21 l31‬‬
‫‪A = ⎢⎢ 15 18 0 ⎥⎥ = ⎢⎢l21 l22‬‬ ‫⎥⎥ ‪0 ⎥⎥ ⎢⎢ 0 l22 l32‬‬
‫‪⎢⎣− 5 0 11 ⎥⎦ ⎢⎣l31 l32‬‬ ‫⎦⎥ ‪l33 ⎥⎦ ⎢⎣ 0 0 l33‬‬

‫‪Applied Linear Algebra with MATLAB‬‬


‫‪S. Sedghizadeh, Systems and Control Dept., KNTU‬‬
‫ﻓﺼﻞ دوم‪ :‬دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺟﺒﺮي ﺧﻄﻲ‬ ‫‪148‬‬

‫ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ رواﺑﻂ ﮔﻔﺘﻪ ﺷﺪه دارﻳﻢ‪،‬‬

‫‪l11 = a11 → l11 = 5‬‬


‫‪1‬‬ ‫⎤ ‪1 ⎡ 15 ⎤ ⎡ 3‬‬
‫= ‪L21‬‬ ‫‪A21 → L21 = ⎢ ⎥ = ⎢ ⎥ → l 21 = 3 ,‬‬ ‫‪l31 = −1‬‬
‫‪l11‬‬ ‫⎦‪5 ⎣− 5⎦ ⎣− 1‬‬
‫‪A22 − L21 LT21 = L22 LT22‬‬
‫⎤ ‪⎡18 0 ⎤ ⎡ 3‬‬ ‫‪⎡l 22‬‬ ‫‪0 ⎤ ⎡l 22‬‬ ‫⎤ ‪l32‬‬
‫‪⎢ 0 11⎥ − ⎢− 1⎥[3 − 1] = ⎢l‬‬ ‫‪l33 ⎥⎦ ⎢⎣ 0‬‬ ‫⎦⎥ ‪l33‬‬
‫⎣‬ ‫⎦ ⎣ ⎦‬ ‫‪⎣ 32‬‬
‫‪⎡9 3 ⎤ ⎡ l 222‬‬ ‫⎤ ‪l l‬‬
‫⎢ = ⎥‪⎢3 10‬‬ ‫‪⎥ → l 22 = 3 ,‬‬ ‫‪l32 = 1,‬‬ ‫‪l33 = 3‬‬
‫‪22 32‬‬

‫⎣‬ ‫‪⎦ ⎣l 22 l32‬‬ ‫⎦ ‪l +l‬‬


‫‪2‬‬
‫‪32‬‬
‫‪2‬‬
‫‪33‬‬

‫ﺑﻪ اﻳﻦ ﺗﺮﺗﻴﺐ ﺗﺠﺰﻳﻪ ﭼﺎﻟﺴﻜﻲ ﻣﺎﺗﺮﻳﺲ ‪ A‬ﺑﺼﻮرت زﻳﺮ ﺑﺪﺳﺖ ﻣﻲ آﻳﺪ‪،‬‬
‫⎤‪⎡ 25 15 − 5⎤ ⎡ 5 0 0⎤ ⎡5 1 − 1‬‬
‫⎥⎥ ‪A = ⎢⎢ 15 18 0 ⎥⎥ = ⎢⎢ 1 3 0⎥⎥ ⎢⎢0 3 1‬‬
‫⎦⎥ ‪⎢⎣− 5 0 11 ⎥⎦ ⎢⎣− 1 1 3⎥⎦ ⎢⎣0 0 3‬‬

‫در ﻧﺮم اﻓﺰار ‪ MATLAB‬از دﺳﺘﻮر )‪ chol(A‬ﺑﺮاي ﺑﺪﺳﺖ آوردن ﺗﺠﺰﻳﻪ ﭼﺎﻟﺴﻜﻲ اﺳﺘﻔﺎده ﻣﻲ ﺷﻮد‪،‬‬

‫;]‪A = [25 15 - 5;15 18 0;-5 0 11‬‬

‫)‪chol(A‬‬
‫= ‪ans‬‬
‫‪5‬‬ ‫‪3‬‬ ‫‪-1‬‬
‫‪0‬‬ ‫‪3‬‬ ‫‪1‬‬

‫‪0‬‬ ‫‪0‬‬ ‫‪3‬‬

‫اﮔﺮ ﻣﺎﺗﺮﻳﺲ ﻣﺬﻛﻮر ﻣﺜﺒﺖ ﻣﻌﻴﻦ ﻧﺒﺎﺷﺪ‪ ،‬ﭘﻴﻐﺎم ﺧﻄﺎ ﺑﺼﻮرت زﻳﺮ ﺣﺎﺿﺮ ﻣﻲ ﺷﻮد‪،‬‬
‫;]‪A = [0 5 5;2 3 0;6 9 8‬‬
‫)‪chol(A‬‬
‫‪??? Error using ==> chol‬‬
‫‪Matrix must be positive definite.‬‬
‫□‬

‫‪ -1-2-4-2‬ﺣﻞ دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺟﺒﺮي ﺧﻄﻲ ﺑﺎ ﺗﺠﺰﻳﻪ ﭼﺎﻟﺴﻜﻲ‬

‫‪Applied Linear Algebra with MATLAB‬‬


‫‪S. Sedghizadeh, Systems and Control Dept., KNTU‬‬
‫‪149‬‬ ‫ﻓﺼﻞ دوم‪ :‬دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺟﺒﺮي ﺧﻄﻲ‬

‫اﺑﺘﺪا ﺗﺠﺰﻳﻪ ﭼﺎﻟﺴﻜﻲ ﻣﺎﺗﺮﻳﺲ ﻣﺜﺒﺖ ﻣﻌﻴﻦ ‪ An× n‬را ﺑﺼﻮرت زﻳﺮ ﺑﺪﺳﺖ ﻣﻲ آورﻳﻢ‪،‬‬
‫‪A = LLT‬‬
‫ﺳﭙﺲ ﺑﺎ ﺟﺎﻳﮕﺬاري در ﻣﻌﺎدﻟﻪ دﺳﺘﮕﺎه دارﻳﻢ‪،‬‬
‫‪A = LL‬‬‫‪T‬‬

‫‪Ax = b‬‬ ‫→‬ ‫‪LLT x = b‬‬


‫ﺑﺎ ﻓﺮض اﻳﻨﻜﻪ ‪ y = LT x‬ﺑﺎﺷﺪ دارﻳﻢ‪،‬‬
‫‪y = LT x‬‬
‫‪LL x = b‬‬
‫‪T‬‬
‫‪→ Ly = b‬‬
‫ﺑﻨﺎﺑﺮاﻳﻦ ﺟﻮاب دﺳﺘﮕﺎه ﻣﻌﺎدﻻت اﺻﻠﻲ ﺑﺎ ﺣﻞ ﻳﻚ ﺳﺮي ﻣﻌﺎدﻻت ﺳﺎده ﺑﺼﻮرت زﻳﺮ ﺑﺪﺳﺖ ﻣﻲ آﻳﺪ‪،‬‬
‫‪⎧ Ly = b‬‬
‫⎨‬ ‫)‪(17-2‬‬
‫⎩‬ ‫‪y‬‬ ‫=‬ ‫‪L‬‬‫‪T‬‬
‫‪x‬‬
‫ﻛﻪ در ﺣﻞ اﻳﻦ دو ﻣﻌﺎدﻟﻪ از اﻟﮕﻮرﻳﺘﻢ ﺟﺎﻳﮕﺰﻳﻨﻲ ﭘﻴﺸﺮو و ﺟﺎﻳﮕﺰﻳﻨﻲ ﭘﺴﺮو اﺳﺘﻔﺎده ﻣﻲ ﺷﻮد‪.‬‬

‫ﻣﺜﺎل‪41-2‬‬
‫دﺳﺘﮕﺎه ﻣﻌﺎدﻻت زﻳﺮ را ﺑﺎ اﺳﺘﻔﺎده از ﺗﺠﺰﻳﻪ ﭼﺎﻟﺴﻜﻲ ﺣﻞ ﻧﻤﺎﻳﻴﺪ‪،‬‬
‫‪⎧ x1 + x2 + x3 = −2‬‬
‫⎪‬
‫‪⎨ x1 + 2 x2 + 2 x3 = 1‬‬
‫‪⎪ x + 2 x + 7 x = −1‬‬
‫‪⎩ 1‬‬ ‫‪2‬‬ ‫‪3‬‬

‫⎤ ‪⎡1 1 1 ⎤ ⎡ x1 ⎤ ⎡ 2‬‬
‫‪Ax = b‬‬ ‫→‬ ‫⎥ ‪⎢1 2 2⎥ ⎢ x ⎥ = ⎢ 1‬‬
‫⎢‬ ‫⎥ ⎢ ⎥ ‪⎥⎢ 2‬‬
‫⎦⎥‪⎢⎣1 2 7 ⎥⎦ ⎢⎣ x3 ⎥⎦ ⎢⎣− 1‬‬

‫ﺑﺮاي اﺳﺘﻔﺎده از ﺗﺠﺰﻳﻪ ﭼﺎﻟﺴﻜﻲ ﺑﺎﻳﺪ ﻣﺎﺗﺮﻳﺲ ﻣﺜﺒﺖ ﻣﻌﻴﻦ ﺑﺎﺷﺪ‪ .‬ﭘﺲ اﺑﺘﺪا ﻣﺜﺒﺖ ﻣﻌﻴﻦ ﺑﻮدن ﻣﺎﺗﺮﻳﺲ ‪A‬‬
‫را ﺑﺮرﺳﻲ ﻣﻲ ﻧﻤﺎﻳﻴﻢ‪،‬‬
‫‪1 1 1‬‬
‫‪1 1‬‬
‫‪1> 0‬‬ ‫‪,‬‬ ‫‪=1> 0‬‬ ‫‪,‬‬ ‫‪1 2 2 =5>0‬‬
‫‪1 2‬‬
‫‪1 2 7‬‬
‫ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﻣﻌﻴﺎر ﺳﻴﻠﻮﺳﺘﺮ ﻣﺎﺗﺮﻳﺲ ‪ A‬ﻣﺜﺒﺖ ﻣﻌﻴﻦ اﺳﺖ‪ ،‬ﻟﺬا ﻣﻲ ﺗﻮان از روش ﺗﺠﺰﻳﻪ ﭼﺎﻟﺴﻜﻲ دﺳﺘﮕﺎه‬
‫را ﺣﻞ ﻧﻤﻮد‪ .‬ﺣﺎل ﺗﺠﺰﻳﻪ ﭼﺎﻟﺴﻜﻲ ﻣﺎﺗﺮﻳﺲ ‪ A‬را ﺑﺪﺳﺖ ﻣﻲ آورﻳﻢ‪،‬‬

‫‪Applied Linear Algebra with MATLAB‬‬


‫‪S. Sedghizadeh, Systems and Control Dept., KNTU‬‬
‫ﻓﺼﻞ دوم‪ :‬دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺟﺒﺮي ﺧﻄﻲ‬ ‫‪150‬‬

‫‪⎡1 1 1 ⎤ ⎡l11 0‬‬ ‫‪0 ⎤ ⎡l11 l 21‬‬ ‫⎤ ‪l31‬‬


‫‪A = ⎢⎢1 2 2⎥⎥ = ⎢⎢l 21 l 22‬‬ ‫‪0 ⎥⎥ ⎢⎢ 0 l 22‬‬ ‫⎥⎥ ‪l32‬‬
‫‪⎢⎣1 2 7 ⎥⎦ ⎢⎣l31 l32‬‬ ‫‪l33 ⎥⎦ ⎢⎣ 0 0‬‬ ‫⎦⎥ ‪l33‬‬
‫‪l11 = a11 → l11 = 1‬‬
‫‪1‬‬ ‫⎤‪1 ⎡1‬‬
‫= ‪L21‬‬ ‫‪A21 → L21 = ⎢ ⎥ → l 21 = 1,‬‬ ‫‪l31 = 1‬‬
‫‪l11‬‬ ‫⎦‪1 ⎣1‬‬
‫‪A22 − L21 LT21 = L22 LT22‬‬
‫⎤‪⎡2 2⎤ ⎡1‬‬ ‫‪⎡l 22‬‬ ‫‪0 ⎤ ⎡l 22‬‬ ‫⎤ ‪l32‬‬
‫‪−‬‬ ‫[‬‫‪1‬‬ ‫‪1‬‬‫]‬ ‫=‬ ‫‪⎢l‬‬
‫⎥‪⎢2 7 ⎥ ⎢1‬‬
‫⎣‬ ‫⎦⎣ ⎦‬ ‫‪⎣ 32‬‬ ‫‪l33 ⎥⎦ ⎢⎣ 0‬‬ ‫⎦⎥ ‪l33‬‬
‫‪⎡1 1⎤ ⎡ l 222‬‬ ‫⎤ ‪l 22 l32‬‬
‫⎢ = ⎥‪⎢1 6‬‬ ‫‪⎥ → l 22 = 1,‬‬ ‫‪l32 = 1,‬‬ ‫‪l33 = 5‬‬
‫⎣‬ ‫‪⎦ ⎣l 22 l32‬‬ ‫⎦ ‪l322 + l332‬‬

‫ﺑﻨﺎﺑﺮاﻳﻦ ﺗﺠﺰﻳﻪ ﭼﺎﻟﺴﻜﻲ ﻣﺎﺗﺮﻳﺲ ‪ A‬ﺑﺼﻮرت زﻳﺮ ﺑﺪﺳﺖ ﻣﻲ آﻳﺪ‪،‬‬


‫‪⎡1 1 1 ⎤ ⎡1 0‬‬ ‫‪0 ⎤ ⎡1 1‬‬ ‫⎤‪1‬‬
‫‪A = ⎢⎢1 2 2⎥⎥ = ⎢⎢1 1‬‬ ‫‪0 ⎥⎥ ⎢⎢0 1‬‬ ‫‪1 ⎥⎥ = LLT‬‬
‫‪⎢⎣1 2 7⎥⎦ ⎢⎣1 1‬‬ ‫‪5 ⎥⎦ ⎢⎣0 0‬‬ ‫⎦⎥ ‪5‬‬

‫دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺣﺎﺻﻞ را ﻫﻤﺎﻧﻨﺪ ﺗﺠﺰﻳﻪ ‪ LU‬ﺑﺼﻮرت زﻳﺮ ﺣﻞ ﻣﻲ ﻛﻨﻴﻢ‪،‬‬


‫‪⎧ Ly = b‬‬
‫‪Ax = b‬‬ ‫→‬ ‫‪LLT x = b‬‬ ‫→‬ ‫‪⎨ T‬‬
‫‪⎩L x = y‬‬

‫‪⎡1 0‬‬ ‫⎤ ‪0 ⎤ ⎡ y1 ⎤ ⎡ 2‬‬


‫‪⎢1 1‬‬ ‫‪2‬‬
‫‪Ly = b‬‬ ‫→‬ ‫⎢‬ ‫⎥⎥ ‪0 ⎥⎥ ⎢⎢ y 2 ⎥⎥ = ⎢⎢ 1‬‬ ‫→‬ ‫‪y1 = 2, y 2 = −1, y 3 = −‬‬
‫‪5‬‬
‫‪⎢⎣1 1‬‬ ‫⎦⎥‪5 ⎥⎦ ⎢⎣ y 3 ⎥⎦ ⎢⎣− 1‬‬

‫‪⎡1 1‬‬ ‫⎤ ‪1 ⎤ ⎡ x1 ⎤ ⎡ 2‬‬


‫‪⎢0 1‬‬ ‫⎥ ⎢‬ ‫‪3‬‬ ‫‪2‬‬
‫‪L x=y‬‬
‫‪T‬‬
‫→‬ ‫⎢‬ ‫⎥‪1 ⎥⎥ ⎢⎢ x 2 ⎥⎥ = ⎢− 1‬‬ ‫→‬ ‫‪x1 = 3, x 2 = − , x3 = −‬‬
‫‪5‬‬ ‫‪5‬‬
‫‪⎢⎣0 0‬‬ ‫⎦⎥ ‪5 ⎥⎦ ⎢⎣ x3 ⎥⎦ ⎢⎣ 25‬‬

‫در ﻧﺮم اﻓﺰار ‪ MATLAB‬ﻣﻲ ﺗﻮان ﭘﺎﺳﺦ دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺧﻄﻲ ‪ Ax = b‬را ﺑﺎ اﺳﺘﻔﺎده از دﺳﺘﻮر‬
‫)‪ chol(A‬و ﺣﻞ دو ﻣﻌﺎدﻟﻪ ﺑﺪﺳﺖ آورد‪،‬‬

‫‪Applied Linear Algebra with MATLAB‬‬


‫‪S. Sedghizadeh, Systems and Control Dept., KNTU‬‬
‫‪151‬‬ ‫ﻓﺼﻞ دوم‪ :‬دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺟﺒﺮي ﺧﻄﻲ‬

‫;]‪A = [1 1 1;1 2 2;1 2 7‬‬


‫;]‪b = [2;1;-1‬‬
‫;)‪U = chol(A‬‬
‫)‪x = U \(U'\b‬‬
‫= ‪x‬‬
‫‪3.0000‬‬
‫‪- 0.6000‬‬
‫‪- 0.4000‬‬
‫□‬

‫‪ -2-2-4-2‬ﺣﺠﻢ ﻣﺤﺎﺳﺒﺎت ﺟﺒﺮي اﻟﮕﻮرﻳﺘﻢ ﺗﺠﺰﻳﻪ ﭼﺎﻟﺴﻜﻲ‬


‫ﺗﻌﺪاد ﻋﻤﻠﻴﺎت ﻣﺤﺎﺳﺒﺎﺗﻲ در ﺣﻞ دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ‪ Ax = b‬ﺑﺎ اﺳﺘﻔﺎده از ﺗﺠﺰﻳﻪ ﭼﺎﻟﺴﻜﻲ‬
‫ﺑﺼﻮرت زﻳﺮ ﺑﺪﺳﺖ ﻣﻲ آﻳﺪ‪،‬‬
‫‪n3‬‬
‫ﻛﻪ ﺗﻘﺮﻳﺒﺎً ﻧﺼﻒ ﻣﺤﺎﺳﺒﺎت ﺗﺠﺰﻳﻪ ‪ LU‬را دارد‪.‬‬ ‫‪ -1‬ﺗﺠﺰﻳﻪ ﭼﺎﻟﺴﻜﻲ ﻣﺎﺗﺮﻳﺲ ‪: A‬‬
‫‪3‬‬
‫‪ -2‬ﺣﻞ دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺑﺎ اﺳﺘﻔﺎده از اﻟﮕﻮرﻳﺘﻢ ﻫﺎي ﺟﺎﻳﮕﺰﻳﻨﻲ ﭘﻴﺸﺮو و ﭘﺴﺮو‪2n 2 :‬‬

‫‪Applied Linear Algebra with MATLAB‬‬


‫‪S. Sedghizadeh, Systems and Control Dept., KNTU‬‬
‫ﻓﺼﻞ دوم‪ :‬دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺟﺒﺮي ﺧﻄﻲ‬ ‫‪152‬‬

‫ﻣﺴﺎﺋﻞ‬
‫‪ -1 -2‬دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺟﺒﺮي زﻳﺮ را ﺑﺎ روش ﺣﺬﻓﻲ ﮔﻮﺳﻲ و روش ﮔﻮس‪ -‬ﺟﺮدن ﺣﻞ ﻧﻤﺎﻳﻴﺪ‪.‬‬
‫‪⎧ x1 − 2 x2 + 3 x3 = −2‬‬ ‫‪⎧2 x1 + 5 x2 + 8 x3 = 2‬‬
‫⎪‬ ‫⎪‬
‫‪) ⎨− x1 + x2 − 2 x3 = 3‬ب‬ ‫‪) ⎨ x1 + 2 x2 + 3 x3 = 4‬اﻟﻒ‬
‫‪⎪2 x − x + 3 x = 1‬‬ ‫‪⎪3 x + 4 x + 4 x = 1‬‬
‫‪⎩ 1 2‬‬ ‫‪3‬‬ ‫‪⎩ 1‬‬ ‫‪2‬‬ ‫‪3‬‬

‫‪ -2-2‬دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺟﺒﺮي زﻳﺮ را ﺑﻪ ﻓﺮم ﺳﻄﺮي ﭘﻠﻜﺎﻧﻲ در آورﻳﺪ و ﺳﭙﺲ ﺣﻞ ﻧﻤﺎﻳﻴﺪ‪.‬‬
‫‪⎧ x1 − 4 x2 = 10‬‬ ‫‪⎧ x1 + 2 x2 + 3 x3 − 3 x4 = 1‬‬
‫⎪‬ ‫⎪‬
‫‪) ⎨ x1 + 8 x2 = 0‬ب‬ ‫‪) ⎨2 x1 − 5 x2 − 3 x3 + 12 x4 = 2‬اﻟﻒ‬
‫‪⎪ x + 12 x = −1‬‬ ‫‪⎪7 x + x + 8 x + 5 x = 7‬‬
‫‪⎩ 1‬‬ ‫‪2‬‬ ‫‪⎩ 1 2‬‬ ‫‪3‬‬ ‫‪4‬‬

‫‪ -3-2‬ﻓﺮم ﺳﻄﺮي ﭘﻠﻜﺎﻧﻲ ﻛﺎﻫﺶ ﻳﺎﻓﺘﻪ ﻣﻌﺎدﻻت زﻳﺮ را ﺑﺪﺳﺖ آورﻳﺪ و ﺳﭙﺲ آﻧﻬﺎ را ﺣﻞ ﻧﻤﺎﻳﻴﺪ‪.‬‬
‫‪⎧5 x3 + 15 x5 = 5‬‬
‫‪⎪2 x + 4 x + 7 x + x = 3‬‬ ‫‪⎧2 x1 + x2 + 3 x3 + 2 x4 = 5‬‬
‫‪⎪ 2‬‬ ‫‪3‬‬ ‫‪4‬‬ ‫‪5‬‬ ‫⎪‬
‫⎨ )ب‬ ‫‪) ⎨ x1 + 3 x2 + 2 x3 + 4 x4 = 1‬اﻟﻒ‬
‫‪⎪ 2‬‬‫‪x‬‬ ‫‪+‬‬ ‫‪2‬‬ ‫‪x‬‬‫‪3‬‬ ‫‪+‬‬ ‫‪3‬‬ ‫‪x‬‬‫‪4‬‬ ‫=‬ ‫‪1‬‬ ‫‪⎪3 x + 2 x = 2‬‬
‫‪⎪⎩ x2 + 2 x3 + 4 x4 + x5 = 2‬‬ ‫‪⎩ 1‬‬ ‫‪2‬‬

‫‪ -4-2‬ﺳﺎزﮔﺎر و ﻧﺎﺳﺎزﮔﺎر ﺑﻮدن دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺟﺒﺮي زﻳﺮ را ﺑﺮرﺳﻲ ﻧﻤﺎﻳﻴﺪ‪.‬‬


‫‪⎧2 x1 + x2 + 3 x3 + 5 x4 = 1‬‬
‫‪⎪4 x + 4 x + 8 x = 0‬‬ ‫‪⎧− x1 + 3 x2 − 2 x3 = 1‬‬
‫‪⎪ 1‬‬ ‫‪3‬‬ ‫‪4‬‬ ‫⎪‬
‫⎨ )ب‬ ‫‪) ⎨− x1 + 4 x2 − 3 x3 = 0‬اﻟﻒ‬
‫‪⎪ x1 + x2 + 2 x3 + 3 x4 = 0‬‬ ‫‪⎪− x + 5 x − 4 x = 0‬‬
‫‪⎪⎩ x2 + x3 + x4 = 0‬‬ ‫‪⎩ 1‬‬ ‫‪2‬‬ ‫‪3‬‬

‫‪⎧2 x1 + x2 + 3 x3 + 5 x4 = 7‬‬
‫‪⎧ x1 + 2 x2 + x3 = 2‬‬ ‫‪⎪4 x + 4 x + 8 x = 8‬‬
‫⎪‬ ‫‪⎪ 1‬‬ ‫‪3‬‬ ‫‪4‬‬
‫‪) ⎨2 x1 + 4 x2 = 2‬د‬ ‫⎨ )ج‬
‫‪⎪3 x + 6 x + x = 4‬‬ ‫‪x‬‬
‫‪⎪ 1 2‬‬ ‫‪+‬‬ ‫‪x‬‬ ‫‪+‬‬ ‫‪2‬‬ ‫‪x‬‬‫‪3‬‬ ‫‪+‬‬ ‫‪3 x4 = 5‬‬
‫‪⎩ 1‬‬ ‫‪2‬‬ ‫‪3‬‬
‫‪⎪⎩ x2 + x3 + x4 = 3‬‬

‫‪ -5-2‬ﻧﺸﺎن دﻫﻴﺪ اﮔﺮ ] ‪ [α 1 ,K , α n‬و ] ‪ [ β1 ,K , β n‬ﺟﻮاب ﻫﺎي ﻳﻚ دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺧﻄﻲ ﺑﺎﺷﻨﺪ‪،‬‬
‫ﻣﺠﻤﻮﻋﻪ زﻳﺮ ﻧﻴﺰ ﻳﻚ ﺟﻮاب ﺑﺮاي دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﻣﺬﻛﻮر ﺧﻮاﻫﺪ ﺑﻮد‪،‬‬
‫] ‪[(1 − t )α 1 + tβ 1 , K, (1 − t )α n + tβ n‬‬
‫ﻛﻪ در آن ‪ t‬ﻳﻚ ﻋﺪد ﺻﺤﻴﺢ اﺳﺖ‪.‬‬

‫‪Applied Linear Algebra with MATLAB‬‬


‫‪S. Sedghizadeh, Systems and Control Dept., KNTU‬‬
‫‪153‬‬ ‫ﻓﺼﻞ دوم‪ :‬دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺟﺒﺮي ﺧﻄﻲ‬

‫‪ -6-2‬اﮔﺮ ‪ A‬ﻣﺎﺗﺮﻳﺲ ﺿﺮاﻳﺐ ﺳﻴﺴﺘﻢ ﻫﻤﮕﻦ ‪ n‬ﻣﻌﺎدﻟﻪ ‪ n‬ﻣﺠﻬﻮل زﻳﺮ ﺑﺎﺷﺪ‪،‬‬


‫‪⎧(1 − n) x1 + x2 + L + xn = 0‬‬
‫‪⎪ x + (1 − n) x + L + x = 0‬‬
‫‪⎪ 1‬‬ ‫‪2‬‬ ‫‪n‬‬
‫⎨‬
‫‪⎪L‬‬
‫‪⎪⎩ x1 + x2 + L + (1 − n) xn = 0‬‬
‫ﻓﺮم ﺳﻄﺮي ﭘﻠﻜﺎﻧﻲ ﻛﺎﻫﺶ ﻳﺎﻓﺘﻪ آن را ﺑﻴﺎﺑﻴﺪ و ﻧﺸﺎن دﻫﻴﺪ‪ ،‬ﻛﻪ ﭘﺎﺳﺦ اﻳﻦ ﺳﻴﺴﺘﻢ ﺑﺼﻮرت زﻳﺮ اﺳﺖ‪،‬‬
‫‪x1 = x 2 = L = x n = α‬‬

‫‪ -7-2‬دﺳﺘﮕﺎه ﻣﻌﺎدﻻت زﻳﺮ را ﺣﻞ ﻧﻤﺎﻳﻴﺪ‪،‬‬


‫‪⎧ x1 + x2 + 2 x3 + 2 x4 + x5 = 1‬‬
‫‪⎪2 x + 2 x + 4 x + 4 x + 3 x = 1‬‬
‫‪⎪ 1‬‬ ‫‪2‬‬ ‫‪3‬‬ ‫‪4‬‬ ‫‪5‬‬
‫⎨‬
‫‪⎪2 x1 + 2 x2 + 4 x3 + 4 x4 + 2 x5 = 2‬‬
‫‪⎪⎩3 x1 + 5 x2 + 8 x3 + 6 x4 + 5 x5 = 3‬‬
‫ﺣﺎل ﺟﻮاﺑﻬﺎﻳﻲ را ﺑﻴﺎﺑﻴﺪ ﻛﻪ ﺷﺮاﻳﻂ زﻳﺮ را ﺑﺮآورده ﺳﺎزﻧﺪ‪.‬‬
‫‪⎧⎪( x1 − x2 ) 2 − 4 x52 = 0‬‬
‫‪⎨ 2‬‬
‫‪⎪⎩ x3 − x52 = 0‬‬

‫‪ -8-2‬دﺳﺘﮕﺎه ﻣﻌﺎدﻻت زﻳﺮ را در ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ‪،‬‬


‫‪⎧ x1 + λx2 − x3 = 1‬‬
‫‪⎪2 x + x + 2 x = 5λ + 1‬‬
‫‪⎪ 1 2‬‬ ‫‪3‬‬
‫⎨‬
‫‪x‬‬
‫‪⎪ 1 2‬‬ ‫‪−‬‬ ‫‪x‬‬ ‫‪+‬‬ ‫‪3‬‬ ‫‪x‬‬ ‫‪3 = 4λ + 2‬‬
‫‪⎪⎩ x1 − 2λx2 + 7 x3 = 10λ − 1‬‬
‫اﻟﻒ( دﺳﺘﮕﺎه ﻣﻌﺎدﻻت را ﺑﻪ ﻓﺮم ﺳﻄﺮي ﭘﻠﻜﺎﻧﻲ ﻛﺎﻫﺶ ﻳﺎﻓﺘﻪ در آورﻳﺪ‪.‬‬
‫ب( ﺑﻪ ازاي ﭼﻪ ﻣﻘﺎدﻳﺮي از ‪ λ‬دﺳﺘﮕﺎه ﺳﺎزﮔﺎر ﺧﻮاﻫﺪ ﺑﻮد؟‬
‫ج( ﭘﺎﺳﺦ ﻛﻠﻲ ﺳﻴﺴﺘﻢ را ﺑﺪﺳﺖ آورﻳﺪ‪.‬‬

‫‪ -9-2‬در ﻣﺪار اﻟﻜﺘﺮﻳﻜﻲ زﻳﺮ ﺑﺎ اﻋﻤﺎل روش ﮔﻮس‪ -‬ﺟﺮدن ﺟﺮﻳﺎﻧﻬﺎي ‪ I 2 ، I1‬و ‪ I 3‬را ﺑﺪﺳﺖ آورﻳﺪ‪.‬‬

‫‪Applied Linear Algebra with MATLAB‬‬


‫‪S. Sedghizadeh, Systems and Control Dept., KNTU‬‬
‫ﻓﺼﻞ دوم‪ :‬دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺟﺒﺮي ﺧﻄﻲ‬ ‫‪154‬‬

‫‪ -10-2‬در ﺷﺒﻜﻪ ﺗﺮاﻓﻴﻚ ﻳﻜﻄﺮﻓﻪ زﻳﺮ ﺣﺪاﻗﻞ ﻣﻘﺪار ‪ x4‬را ﺑﻴﺎﺑﻴﺪ‪.‬‬

‫‪ -11-2‬ﺷﺒﻜﻪ ﺗﺮاﻓﻴﻚ ﻳﻜﻄﺮﻓﻪ زﻳﺮ را در ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ‪،‬‬

‫اﻟﻒ( ﺟﻮاب ﻛﻠﻲ ﺳﻴﺴﺘﻢ را ﺑﻴﺎﺑﻴﺪ‪.‬‬


‫ب( ﻣﺤﺪوده ﻫﺮ ﻳﻚ از ﻣﺘﻐﻴﺮﻫﺎ ﺑﻴﺎﺑﻴﺪ‪.‬‬

‫‪ -13-2‬در ﻫﺮ ﺑﺨﺶ ﺗﺠﺰﻳﻪ ‪ LU‬ﻣﺎﺗﺮﻳﺲ ‪ A‬را ﺑﺪﺳﺖ آورﻳﺪ و ﺳﭙﺲ از آن ﺑﺮاي ﺣﻞ ﺳﻴﺴﺘﻢ‬
‫‪ Ax = b‬اﺳﺘﻔﺎده ﻧﻤﺎﻳﻴﺪ‪.‬‬

‫‪Applied Linear Algebra with MATLAB‬‬


‫‪S. Sedghizadeh, Systems and Control Dept., KNTU‬‬
‫‪155‬‬ ‫ﻓﺼﻞ دوم‪ :‬دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺟﺒﺮي ﺧﻄﻲ‬

‫⎤ ‪⎡3 1 3‬‬ ‫⎤‪⎡5‬‬ ‫⎤‪⎡ 2 1 2‬‬ ‫⎤‪⎡6‬‬


‫‪A = ⎢⎢9 4 10⎥⎥ ,‬‬ ‫ب( ⎥⎥‪b = ⎢⎢18‬‬ ‫‪A = ⎢⎢4 6 5⎥⎥ ,‬‬ ‫اﻟﻒ( ⎥⎥‪b = ⎢⎢ 21‬‬
‫⎦⎥ ‪⎢⎣6 − 1 5‬‬ ‫⎦⎥ ‪⎢⎣ 9‬‬ ‫⎦⎥ ‪⎢⎣4 6 8‬‬ ‫⎦⎥‪⎢⎣24‬‬
‫‪⎡1 2‬‬ ‫⎤ ‪4 17‬‬ ‫⎤ ‪⎡1‬‬
‫⎥ ‪⎢3 6 − 12 3‬‬ ‫⎥‪⎢0‬‬ ‫⎤‪⎡ 2 1 2‬‬ ‫⎤‪⎡1‬‬
‫⎢=‪A‬‬ ‫‪⎥,‬‬ ‫د( ⎥ ⎢ = ‪b‬‬ ‫‪A = ⎢⎢4 3 5⎥⎥ ,‬‬ ‫ج( ⎥⎥ ‪b = ⎢⎢ 9‬‬
‫⎥ ‪⎢2 3 − 3 2‬‬ ‫⎥‪⎢ 3‬‬
‫⎢‬ ‫⎥‬ ‫⎥ ⎢‬ ‫⎦⎥‪⎢⎣4 3 5‬‬ ‫⎦⎥‪⎢⎣18‬‬
‫⎦ ‪⎣0 2 − 2 6‬‬ ‫⎦‪⎣ − 2‬‬

‫‪ -14-2‬ﻣﺎﺗﺮﻳﺲ ‪ A‬و ﺑﺮدار ‪ b‬را در ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ‪ ،‬ﻓﺮض ﻛﻨﻴﺪ ﻣﺎﺗﺮﻳﺲ ‪ A‬را ﺑﺼﻮرت ﺣﺎﺻﻠﻀﺮب ﺳﻪ‬
‫ﻣﺎﺗﺮﻳﺲ ﺳﺎده ﺗﺠﺰﻳﻪ ﻛﺮدﻳﻢ‪ .‬ﺑﻪ اﻳﻦ روش ﺗﺠﺰﻳﻪ ‪ LDU‬ﮔﻔﺘﻪ ﻣﻲ ﺷﻮد‪،‬‬
‫‪⎡ 1 0 0⎤ ⎡ d1‬‬ ‫‪0‬‬ ‫⎤ ‪0 ⎤ ⎡1 − 1 0‬‬ ‫⎤ ‪⎡0‬‬
‫‪A = LDU = ⎢⎢− 1 1 0⎥⎥ ⎢⎢ 0‬‬ ‫⎥‬ ‫⎢‬
‫⎥‪d 2 0 ⎥ ⎢0 1 − 1‬‬ ‫⎥‬ ‫⎥⎥‪, b = ⎢⎢0‬‬
‫‪⎢⎣ 0 − 1 1⎥⎦ ⎢⎣ 0‬‬ ‫⎦⎥ ‪0 d 3 ⎥⎦ ⎢⎣0 0 1‬‬ ‫⎦⎥‪⎢⎣1‬‬
‫اﻟﻒ( ﺗﺤﺖ ﭼﻪ ﺷﺮاﻳﻄﻲ ﻣﺎﺗﺮﻳﺲ ‪ A‬ﻏﻴﺮﻣﻨﻔﺮد اﺳﺖ؟‬
‫ب( ﺑﺎ اﺳﺘﻔﺎده از ﺗﺠﺰﻳﻪ ﺑﺎﻻ دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ‪ Ax = b‬زﻳﺮ را ﺣﻞ ﻛﻨﻴﺪ‪.‬‬

‫‪ -15-2‬ﺑﺎ اﺳﺘﻔﺎده از اﻃﻼﻋﺎت زﻳﺮ و ﺑﺪون ﻣﺤﺎﺳﺒﻪ ‪ A‬ﻳﺎ ‪ A −1‬ﻳﺎ ‪ A −2‬ﻳﺎ ‪ A 2‬ﺣﺎﺻﻞ ﻋﺒﺎرت زﻳﺮ را ﺑﺪﺳﺖ‬
‫آورﻳﺪ‪.‬‬
‫‪A−1x + A−2 y‬‬
‫⎤ ‪⎡1 0 0‬‬ ‫⎤‪⎡1 0 1‬‬ ‫⎤‪⎡1‬‬ ‫⎤‪⎡− 1‬‬
‫‪L = ⎢⎢1 1 0⎥⎥ ,‬‬ ‫‪U = ⎢⎢0 1 1⎥⎥ ,‬‬ ‫‪x = ⎢⎢0⎥⎥ ,‬‬
‫⎥⎥ ‪y = ⎢⎢ 1‬‬
‫⎦⎥‪⎢⎣0 1 1‬‬ ‫⎦⎥‪⎢⎣0 0 1‬‬ ‫⎦⎥‪⎢⎣1‬‬ ‫⎦⎥ ‪⎢⎣ 1‬‬
‫ﻣﺎﺗﺮﻳﺲ ﻫﺎي ‪ L‬و ‪ U‬ﺣﺎﺻﻞ ﺗﺠﺰﻳﻪ ‪ A = LU‬ﻣﻲ ﺑﺎﺷﻨﺪ‪.‬‬

‫‪ -16-2‬ﻣﺎﺗﺮﻳﺲ ﻫﺎي ﻣﺘﻘﺎرن زﻳﺮ را در ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ‪،‬‬


‫‪⎡4‬‬ ‫‪2‬‬ ‫⎤‪− 6‬‬ ‫‪⎡2‬‬ ‫⎤‪1 1‬‬
‫‪A = ⎢⎢ 2‬‬ ‫ب( ⎥⎥ ‪10 9‬‬ ‫‪A = ⎢⎢1‬‬ ‫اﻟﻒ( ⎥⎥ ‪2 1‬‬
‫‪⎢⎣− 6‬‬ ‫⎦⎥ ‪9 26‬‬ ‫‪⎢⎣1‬‬ ‫⎦⎥‪1 2‬‬
‫‪⎡2‬‬ ‫⎤ ‪−1 0‬‬ ‫‪⎡1‬‬ ‫⎤‪2 0‬‬
‫‪A = ⎢⎢− 1‬‬ ‫د( ⎥⎥‪2 − 1‬‬ ‫‪A = ⎢⎢2‬‬ ‫ج( ⎥⎥‪4 5‬‬
‫‪⎢⎣ 0‬‬ ‫⎦⎥ ‪− 1 2‬‬ ‫‪⎢⎣0‬‬ ‫⎦⎥‪5 6‬‬

‫‪Applied Linear Algebra with MATLAB‬‬


‫‪S. Sedghizadeh, Systems and Control Dept., KNTU‬‬
‫ﻓﺼﻞ دوم‪ :‬دﺳﺘﮕﺎه ﻣﻌﺎدﻻت ﺟﺒﺮي ﺧﻄﻲ‬ ‫‪156‬‬

‫ﻣﺜﺒﺖ ﻣﻌﻴﻦ ﺑﻮدن ﻣﺎﺗﺮﻳﺲ ﻫﺎي زﻳﺮ را ﺑﺮرﺳﻲ ﻧﻤﺎﻳﻴﺪ و ﺑﺮاي ﻣﺎﺗﺮﻳﺲ ﻫﺎي ﻣﺜﺒﺖ ﻣﻌﻴﻦ ﺗﺠﺰﻳﻪ ﭼﺎﻟﺴﻜﻲ‬
‫را ﺑﺪﺳﺖ آورﻳﺪ‪ .‬ﻧﺘﻴﺠﻪ را ﺑﺎ دﺳﺘﻮر )‪ chol(A‬در ﻧﺮم اﻓﺰار ‪ MATLAB‬ﺑﺮرﺳﻲ ﻧﻤﺎﻳﻴﺪ‪.‬‬

‫‪ -17-2‬ﻫﺮ ﻳﻚ از دﺳﺘﮕﺎه ﻣﻌﺎدﻻت زﻳﺮ را ﺑﺎ اﺳﺘﻔﺎده از ﺗﺠﺰﻳﻪ ﭼﺎﻟﺴﻜﻲ ﺣﻞ ﻧﻤﺎﻳﻴﺪ‪،‬‬


‫‪⎧2 x1 − x 2 = 1‬‬ ‫‪⎧ x1 = 1‬‬
‫⎪‬ ‫⎪‬
‫ب( ‪⎨− x1 + 2 x 2 − x3 = 2‬‬ ‫اﻟﻒ( ‪⎨ x 2 + 2 x3 = −1‬‬
‫‪⎪− x + 2 x = −1‬‬ ‫‪⎪2 x + 8 x = 0‬‬
‫‪⎩ 2‬‬ ‫‪3‬‬ ‫‪⎩ 2‬‬ ‫‪3‬‬

‫‪ -18-2‬دﺳﺘﮕﺎه ﻣﻌﺎدﻻت زﻳﺮ را در ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ‪،‬‬


‫‪⎧ x1 + x 2 + x3 = 0‬‬ ‫‪⎧2 x1 + x2 + 3 x3 = 1‬‬ ‫‪⎧ x1 − 2 x 2 = 5‬‬
‫⎪‬ ‫⎪‬ ‫⎪‬
‫ج( ‪⎨ x1 + 2 x 2 + 3 x3 = 0‬‬ ‫ب( ‪⎨4 x1 + 3 x2 + 5 x3 = 1‬‬ ‫اﻟﻒ( ‪⎨− 2 x1 + 4 x 2 = 0‬‬
‫‪⎪3 x + 5 x + 7 x = 1‬‬ ‫‪⎪6 x + 5 x + 7 x = 1‬‬ ‫‪⎪x + x = 4‬‬
‫‪⎩ 1‬‬ ‫‪2‬‬ ‫‪3‬‬ ‫‪⎩ 1‬‬ ‫‪2‬‬ ‫‪3‬‬ ‫‪⎩ 1‬‬ ‫‪2‬‬

‫ﺳﺎزﮔﺎر ﻳﺎ ﻧﺎﺳﺎزﮔﺎر ﺑﻮدن دﺳﺘﮕﺎه را ﺑﺮرﺳﻲ ﻧﻤﺎﻳﻴﺪ‪.‬‬

‫‪ -19-2‬ﻣﺎﺗﺮﻳﺲ ‪ A‬را در ﻧﻈﺮ ﺑﮕﻴﺮﻳﺪ‪،‬‬


‫⎤‪⎡1‬‬ ‫‪⎡1 + ε‬‬ ‫‪1‬‬ ‫⎤‪2‬‬
‫⎥⎥‪b = ⎢⎢1‬‬ ‫‪ A = ⎢⎢ 1‬و‬ ‫⎥⎥‪− 1 0‬‬
‫⎥⎦‪⎣⎢1‬‬ ‫‪⎣⎢ 1‬‬ ‫⎥⎦ ‪0 1‬‬
‫اﻟﻒ( ﻧﺸﺎن دﻫﻴﺪ ﺑﻪ ازاي ‪ ε = 0‬ﻣﺎﺗﺮﻳﺲ ‪ A‬ﻳﻚ ﻣﺎﺗﺮﻳﺲ ﻣﻨﻔﺮد اﺳﺖ‪.‬‬

‫‪ κ = A‬اﺳﺖ‪.‬‬ ‫ب( ﺑﺮاي ‪ ε = 1‬ﻣﻘﺪار ‪ A−1‬و ‪ κ‬را ﺑﺪﺳﺖ آورﻳﺪ و ﻧﺸﺎن دﻫﻴﺪ ‪A −1‬‬
‫ج( ﺑﺎ اﻧﺘﺨﺎب ‪ ε = 0.0001‬ﻧﺸﺎن دﻫﻴﺪ ﻛﻪ ﻣﻌﺎدﻟﻪ ‪ Ax = b‬ﻳﻚ ﺳﻴﺴﺘﻢ ﺑﺪ ﺣﺎﻟﺖ اﺳﺖ‪ .‬ﺑﺮاي اﻳﻦ‬
‫ﻣﻨﻈﻮر ﺟﻮاب ﻣﻌﺎدﻟﻪ را ﺑﺮاي ﺑﺮدار ]‪ b = [1.1 1 1‬ﺑﺮرﺳﻲ ﻛﻨﻴﺪ‪.‬‬
‫‪T‬‬

‫‪ -20-2‬ﭘﺎﺳﺦ ﻣﺴﺘﻘﻴﻢ دﺳﺘﮕﺎه ﻣﻌﺎدﻻت زﻳﺮ را ﻳﻜﺒﺎر ﺑﺮاي ‪ k = 15‬و ﻳﻜﺒﺎر ﺑﺮاي ‪ k = 14.9‬ﺑﺪﺳﺖ‬
‫آورﻳﺪ‪ .‬آﻳﺎ ﺳﻴﺴﺘﻢ ﺑﺪ ﺣﺎﻟﺖ اﺳﺖ؟ ﻋﺪد ﺣﺎﻟﺖ ﻣﺎﺗﺮﻳﺲ ‪ A‬را ﺑﺪﺳﺖ آورﻳﺪ؟‬
‫⎤‪⎡8 5 2‬‬ ‫⎤ ‪⎡ k‬‬
‫‪Ax = b‬‬ ‫→‬ ‫⎥ ‪⎢ 21 19 16 ⎥ x = ⎢ 56‬‬
‫⎢‬ ‫⎥‬ ‫⎥ ⎢‬
‫⎦⎥‪⎣⎢39 48 53‬‬ ‫⎥⎦‪⎣⎢140‬‬

‫‪Applied Linear Algebra with MATLAB‬‬


‫‪S. Sedghizadeh, Systems and Control Dept., KNTU‬‬

You might also like