2021-05-12 14:32:11
matlab求解線性方程組
在學習《線性代數》時,常需要求解線性方程組,尤其是多元函數求解時,利用矩陣運算可簡化代數邏輯,加快運算速度,下面簡要介紹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
輸出的一個特解如下所示:
相關文章