目标:
- 线性方程
- 线性系统
一、线性方程
Linear Equation:
给定一个线性方程的例子:
把线性方程写成矩阵的形式。
通常,我们求解线性方程时,A和b是已知的,x是未知的。
Solving Linear Equations:
Successive elimination (through factorization) :逐次消去(通过因式分解)
Gaussian Elimination:高斯消去
例子:给定一个线性方程式,写成增广矩阵。然后将系数部分化简成单位矩阵。得到的b部分的值,就是方程式的解。
Gaussian Elimination – rref():使用MATLAB求解
>> A = [1 2 1;2 6 1;1 1 4];
>> b = [2; 7; 3];
>> R = rref([A b])
R =
1 0 0 -3
0 1 0 2
0 0 1 1
使用matlab的内嵌函数rref()求解出最终的矩阵形式,可以看到x=-3,y=2,z=1.
LU Factorization:LU分解
假设我们想要求解:
将矩阵A分解为2个三角矩阵:
问题就成为:
最后的求解方法:
- Solve ?−1? = ? to obtain ?
- Then solve ?? = ?
Lower and Upper Triangular Matrices :上下三角矩阵
上三角矩阵:
下三角矩阵:
How to Obtain ? and ??
矩阵L和U是通过一系列左乘获得的。即
LU Factorization Example:
LU Factorization – lu():使用MATLAB求解LU分解
>> A = [1 1 1;2 3 5;4 6 8];
>> [L, U, P] = lu(A);
>> L
L =
1.0000 0 0
0.2500 1.0000 0
0.5000 0 1.0000
>> U
U =
4.0000 6.0000 8.0000
0 -0.5000 -1.0000
0 0 1.0000
>> P
P =
0 0 1
1 0 0
0 1 0
接下来:运用上边的方法,写出式子,求出x
Matrix Left Division: \ or mldivide():
求解一个线性方程使用因式分解:这种方法是经过多个步骤的,但是使用起来是最简单的方法。
>> A = [1 2 1;2 6 1;1 1 4];
>> b = [2; 7; 3];
>> x = A\b
x =
-3.0000
2.0000
1.0000
矩阵分解函数:
Cramer的(逆)方法:
给定一个矩阵:
假设存在逆矩阵 如下式:
得出变量x为:
Inverse Matrix:
对于一个矩阵A,他的逆矩阵求解方法为:
det(A)为矩阵A的行列式,计算方法为:
逆矩阵的性质:
Solving Equations Using Cramer’s Method:
求解x
>> A = [1 2 1;2 6 1;1 1 4];
>> b = [2; 7; 3];
>> x = inv(A)*b
x =
-3.0000
2.0000
1.0000
Singular(奇异的):奇异矩阵没有逆矩阵。当行列式为0或者约等于0时,我们就说矩阵的状况不是很好。不存在逆矩阵。
对矩阵进行检查:
>> A = [ 1 2 3; 2 4.0001 6; 9 8 7]; cond(A)
ans =
4.3483e+05
>> B = [ 1 2 3; 2 5 6; 9 8 7]; cond(B)
ans =
45.5623
可以看出B矩阵的情况更好些。
二、线性系统
Linear System
给定一个线性方程:
Eigenvalues and Eigenvectors(特征值和特征矩阵):
Interpretation of Eigenvalues and Eigenvectors(特征值和特征向量的求解):
Solving Eigenvalues and Eigenvectors :
使用matlab函数求解特征值和特征向量:eig()
>> [v,d]=eig([2 -12;1 -5])
v =
0.9701 0.9487
0.2425 0.3162
d =
-1 0
Matrix Exponential(矩阵的指数): expm() ?
一个典型的线性时不变系统通常被表述为:
A = [0 -6 -1; 6 2 -16; -5 20 -10];
x0 = [1 1 1]'; X = [];
for t = 0:.01:1
X = [X expm(t*A)*x0];
end
plot3(X(1,:),X(2,:),X(3,:),'-o');
xlabel('x_1'); ylabel('x_2'); zlabel('x_3');
grid on;
axis tight square