MATLAB第十一课:线性回归方程式与线性系统

目标:

  1. 线性方程
  2. 线性系统

一、线性方程

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个三角矩阵:

问题就成为:

最后的求解方法:

  1. Solve ?−1? = ? to obtain ? 
  2. 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

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值