首頁 > 軟體

matlab求解線性方程組

2019-12-25 16:21:27

在學習《線性代數》時,常需要求解線性方程組,尤其是多元函數求解時,利用矩陣運算可簡化代數邏輯,加快運算速度,下面簡要介紹matlab求解線性方程組。

1

在求解線性方程組時,會遇到以下幾種情形:定解方程組、不定方程組、超定方程組、奇異方程組。作為範例,首先以定解線性方程組為例:


2

在分析如上方程組時,需要知道,方程中有3個未知數,而方程也有3個,所以可以求出(x,y,z)值,轉化為矩陣即為: AX = B,其中A為係數矩陣,B為右邊值向量。而X即為未知數構成的向量,轉化後即為:

>> A = [2,3,1;

             4,2,3;

             7,1,-1];

如上為係數矩陣;

>> B = [4;17;1];

如上為右邊值矩陣;

利用矩陣除法:

>> X = AB 

求得結果如下圖紅色箭頭所示:

x = 1.0000 ; y = -1.0000 ; z = 5.0000;


3

不定方程組求解

在不定方程組求解時,遇到的方程組常如下所示:


4

數學上分析可以知道,未知數多於方程式數目,所以解有無數個。但是,可以利用matlab求解一個特定的解(特定解),如下所示輸入:

>> A = [4,5,1;

             1,2,4];

>> B = [3;15];

>> X = AB

可以求得一個特解,如下所示:


5

超定方程組求解

數學分析上可以知道,當方程數目多於未知數數目時,可以知道該方程組無法求出準確解。如下方程所示:


6

在求解時,如下操作即可:

>> A = [4,5;

             1,2;

             3,1];

>> B = [3;15;12];

>> X = AB

求解輸出如下圖所示,需要說明時,求得結果是以一最小二乘近似解。


7

在求解奇異方程組,可以發現多個方程之間有重複,如下範例:


8

在分析時,如上述求解方式:

>> A = [2,3;

            -4,-6];

>> B = [1;-2];

>> X = AB

那麼,可以看到matlab不能求出解,如下所示:


9

此時,可以做同解異構,如下所示:

>> A = [2,3;

            -4,-6;

             0,0];

>> B = [1;-2;0];

>> X = AB

輸出的一個特解如下所示:



IT145.com E-mail:sddin#qq.com