📅  最后修改于: 2021-01-07 03:05:00             🧑  作者: Mango
线性代数方程是系统的方程
a 1 x 1 + a 2 x 2 + a 3 x 3 +⋯+ a n x n = b
其中a是常数,x是未知数, b是常数。一个解决方案是满足方程的数字s 1 ,s 2和s 3序列。
例
4x 1 + 5x 2 -2x 3 = 16
是这样一个方程,其中有三个未知数:x 1 ,x 2和x 3 。该方程的一种解决方案是x 1 = 3,x 2 = 4和x 3 = 8,因为4 * 3 + 5 * 4-2 * 8等于16。
线性代数方程的系统是一组的形式的方程:
a 11 x 1 + a 12 x 2 + a 13 x 3 +⋯+ a 1n x n = b 1
a 21 x 1 + a 22 x 2 + a 23 x 3 +⋯+ a 2n x n = b 2
a 31 x 1 + a 32 x 2 + a 33 x 3 +⋯+ a 3n x n = b 3
a m1 x 1 + a m2 x 2 + a m3 x 3 +⋯+ a mn x n = b m
这称为m * n方程组;有m个方程式和n个未知数。
由于采用了矩阵乘法的方法,可以将这些方程式以矩阵形式定义为Ax = b,其中A是系数的矩阵,x是未知数的列向量,b是常数从等式的右侧:
x = b
a 11 a 12 a 13 … a 1n x 1 b 1
a 21 a 22 a 23 … a 2n x 2 b 2
a 31 a 32 a 33 … a 3n x 3 b 3
…………………………………………..
a m1 a m2 a m3 … a mn x n b m
解集是方程组的所有可能解的集合(解方程的未知数的所有值集)。所有线性方程组均具有:
解决此方程组的简单方法可能是使用矩阵逆。
A -1 A = 1
我们可以将矩阵方程AX = B的两边乘以A -1得到
A -1轴= A -1 B
要么
X = A -1 B
因此,可以将解作为A的倒数与列向量b的乘积。
在MATLAB中,有两种方法可以使用内置的inv函数和矩阵乘法,也可以使用“ \”运算符:
>> A = [3 4 1; -2 0 3; 1 2 4]
A =
3 4 1
-2 0 3
1 2 4
>> b = [2 1 0]'
b =
2
1
0
>> x = inv(A) * b
x =
-1.1818
1.5000
-0.4545
>> A\b
ans =
-1.1818
1.5000
-0.4545
最简单的系统是2 x 2系统,只有两个方程和两个未知数。对于这些系统,对于矩阵的逆有一个简单的定义,它使用矩阵的行列式D。
对于系数矩阵,A通常定义为
行列式D定义为11 a 22 -a 12 a 21
例
x 1 + 3x 2 = -2
2x 1 + 4x 2 = 1
这将以矩阵形式编写为
行列式D = 1 * 4 -3 * 2 = -2。
MATLAB具有内置函数det来查找矩阵的行列式。
>> A = [1 3; 2 4]
A =
1 3
2 4
>> b = [-2;1]
b =
-2
1
>> det(A)
ans =
-2
>> inv(A)
ans =
-2.0000 1.5000
1.0000 -0.5000
>> x = inv(A) * b
x =
5.5000
-2.5000