线性代数Ax=b原理及工程上的应用

前言

线性代数在工程应用上十分广泛,在坐标系转换,深度学习,求解算法的优化解方面有着大量应用。因此掌握线性代数的基本理论,并且具有解决实际工程问题的能力尤为重要。

线性方程组解的情况

在这里插入图片描述

线性方程组的解的三种情况

  1. 适定方程组:存在唯一解
  2. 欠定方程组:存在多解。变量数<方程组数
  3. 超定方程组:无解。但可以求出近似解

二元方程组解的三种情况

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

超定二元方程组的解

在这里插入图片描述

{ x 1 + x 2 = 1 x 1 − x 2 = 3 − x 1 + 2 x 2 = − 3 \left\{\begin{matrix}x_{1}+x_{2}=1\\ x_{1}-x_{2}=3\\ -x_{1}+2x_{2}=-3\end{matrix}\right. x1+x2=1x1x2=3x1+2x2=3
以上是无解的,即方程组不相容,但有近似解-----最小二乘解

用线性代数数值解计算实际工程问题

对某一城市的交通流量分析:
节点A: x 1 + 450 = x 2 + 610 x_{1}+450=x_{2}+610 x1+450=x2+610
节点B: x 2 + 520 = x 3 + 480 x_{2}+520=x_{3}+480 x2+520=x3+480
节点C: x 3 + 390 = x 4 + 600 x_{3}+390=x_{4}+600 x3+390=x4+600
节点D: x 4 + 640 = x 1 + 310 x_{4}+640=x_{1}+310 x4+640=x1+310
列出方程组是:
{ x 1 − x 2 = 160 x 2 − x 3 = − 40 x 3 − x 4 = 210 x 4 − x 1 = − 330 \left\{\begin{matrix}x_{1}-x_{2}=160\\ x_{2}-x_{3}=-40\\ x_{3}-x_{4}=210\\ x_{4}-x_{1}=-330\end{matrix}\right. x1x2=160x2x3=40x3x4=210x4x1=330
按照 A x = b Ax=b Ax=b的格式转化成矩阵形式
[ 1 − 1 0 0 0 1 − 1 0 0 0 1 − 1 − 1 0 0 1 ] [ x 1 x 2 x 3 x 4 ] = [ 160 − 40 210 − 330 ] \begin{bmatrix}1 & -1 & 0 & 0\\ 0& 1 & -1 & 0\\ 0& 0 & 1 & -1\\ -1& 0& 0& 1\end{bmatrix}\begin{bmatrix}x_{1}\\ x_{2}\\ x_{3}\\ x_{4}\end{bmatrix}=\begin{bmatrix}160\\ -40\\ 210\\ -330\end{bmatrix} 1001110001100011 x1x2x3x4 = 16040210330
A x = b Ax=b Ax=b中, b b b代表常数,这是线性方程组。注意: A A A必须是方阵才能求逆。对其x的求解,可能出现无解,有解,多解的情况,不能用 x x x b / A b/A b/A
所以,可以用matlab相关函数求解,使用简化行列式的思路,对行矩阵变换!

b=[160;-40;210;-330];
U=rref([A,b]);

可以求出 U U U的简化行列式为:
U = [ 1 0 0 − 1 330 0 1 0 − 1 170 0 0 1 − 1 210 0 0 0 0 0 ] U=\begin{bmatrix}1 & 0 & 0 & -1 & 330\\ 0 & 1 & 0 & -1 & 170\\ 0 & 0& 1 & -1 & 210\\ 0& 0 & 0 & 0 & 0\end{bmatrix} U= 10000100001011103301702100
可以看出,简化后属于欠定方程,属于多解问题。

矩阵建模的方法

  1. 列出全部方程,构成方程组
  2. 将方程组变成矩阵
  3. 求解,用matlab
    复杂的系统。列出的方程通常有两种形式。(注意,是列方程)
    变量在等号左侧,常数项在右侧,整理出 A x = b Ax=b Ax=b
    若有多种变量,将一个变量在等号左边,其余变量在右边
    使其能变成:
    X = Q X + P U X=QX+PU X=QX+PU矩阵
    方程是 ( 1 − Q ) X = P U (1-Q)X=PU 1QX=PU
    传递函数是 W = X / U = i n v ( 1 − Q ) ∗ P W=X/U=inv(1-Q)*P W=X/U=inv(1Q)P

A x = b Ax=b Ax=b的五种写法

  • { x 1 + x 2 − x 3 = 7 2 x 1 − x 2 + 3 x 3 = 9 \left\{\begin{matrix}x_{1}+x_{2}-x_{3}=7\\ 2x_{1}-x_{2}+3x_{3}=9\end{matrix}\right. {x1+x2x3=72x1x2+3x3=9
  • [ 2 1 − 1 2 − 1 3 ] [ x 1 x 2 x 3 ] = [ 7 9 ] \begin{bmatrix}2 & 1 & -1\\ 2 & -1 & 3\end{bmatrix}\begin{bmatrix}x_{1}\\ x_{2}\\ x_{3} \end{bmatrix}=\begin{bmatrix}7\\ 9\end{bmatrix} [221113] x1x2x3 =[79]
  • A x = b Ax=b Ax=b
  • [ α 1 α 2 α 3 ] [ x 1 x 2 x 3 ] = [ 7 9 ] \begin{bmatrix}\alpha _{1} & \alpha _{2} & \alpha _{3}\end{bmatrix}\begin{bmatrix}x_{1}\\ x_{2}\\ x_{3}\end{bmatrix}=\begin{bmatrix}7\\ 9\end{bmatrix} [α1α2α3] x1x2x3 =[79]
  • x 1 α 1 + x 2 α 2 + x 3 α 3 = b x_{1}\alpha _{1}+x_{2}\alpha _{2}+x_{3}\alpha _{3}=b x1α1+x2α2+x3α3=b

A x = B Ax=B Ax=B的解法

方法一:
X = B / A X=B/A X=B/A用逆矩阵来求(逆矩阵的前提是A是方阵)
逆矩阵的matlab函数是

V=inv(A)

A x = B Ax=B Ax=B可以求出 x = B / A x=B/A x=B/A

x=B*inv(A);

A x = b Ax=b Ax=b,  非齐次线性方程组
A x = 0 Ax=0 Ax=0,     齐次线性方程组

方法二:
也可以用行列式来判断解是否存在:
判断线性方程组的解是否存在和唯一:Ax=0
A是系数矩阵, ∣ A ∣ ≠ 0 \left | A \right |\neq 0 A=0,解存在
在MATLAB中求行列式的值,用

det(A);

非齐次线性方程组Ax=b解存在且唯一的条件是 d e t ( A ) ≠ 0 det(A)\neq 0 det(A)=0
齐次线性方程组Ax=0有非0解的条件是 d e t ( A ) = 0 det(A)= 0 det(A)=0

A x = b Ax=b Ax=b三个不同角度讨论

  1. Ax=b 最简行列式变换,消元,求有,无,超定,欠定解,rref
  2. 把Ax当成A是列向量组,判断是否相关,证明超定方程的最小二乘解!
  3. 把A看成一个几何变换,把x域中图形变换到y域中去!

A x = b Ax=b Ax=b变换后直线还是直线。
x = [ 0 1 1 0 0 0 0 1 1 0 ] x=\begin{bmatrix} 0 &1 & 1 & 0 & 0\\ 0 & 0 & 1 & 1& 0 \end{bmatrix} x=[0010110100]为顶点在(0,0),(1,0),(1,1),(0,1)的单位方块!
这就是变换矩阵的行列式的意义!

∣ A ∣ \left | A \right | A是变换后面积的变化

在几何里面,因为矩阵的变换是Ax,所以

k [ 3 4 ] ≠ [ 4 5 ] k\begin{bmatrix}3\\ 4\end{bmatrix}\neq \begin{bmatrix}4\\ 5\end{bmatrix} k[34]=[45]
不能实现平移等线性变换,所以引入齐次坐标系!(增加一维)

R = [ c o s θ − s i n θ 0 s i n θ c o s θ 0 0 0 1 ] R=\begin{bmatrix}cos\theta & -sin\theta & 0\\ sin\theta & cos\theta & 0\\ 0& 0 & 1\end{bmatrix} R= cosθsinθ0sinθcosθ0001
(旋转是绕原点的)

M = [ 0 0 a 0 0 b 0 0 1 ] M=\begin{bmatrix}0 & 0 &a \\ 0& 0 & b\\ 0 & 0 & 1\end{bmatrix} M= 000000ab1
先旋转后平移,是 R ∗ M R*M RM,不是 R + M R+M R+M

A x = b Ax=b Ax=b在几何学上的应用

  1. A x = y Ax=y Ax=y表示向量空间中x组成的图形经变换A后变换为向量空间y中的图形
  2. A x = y Ax=y Ax=y也表示坐标变换,A中各列为y坐标的基向量,用这关系可进行正反坐标变换。
eigshow(A);

在matlab中,可显示二维向量x沿单位圆转动时,经A左乘后在y平面上的形状。
x − y x-y xy共线时, y = A x = λ x y=Ax=\lambda x y=Ax=λx, λ \lambda λ为特征值, x x x为特征向量
在matlab中,求取特征值和特征向量为

[P,lambada]=eig(A);

QR分解的几何意义

QR分解可以看成分解出新的坐标系!
在matlab中,求取结果是

[Q,R]=qr(A);

A = [ v 1 , v 2 ] = [ − 1 6 2 8 ] A=[v_{1},v_{2}]=\begin{bmatrix}-1 & 6\\ 2& 8\end{bmatrix} A=[v1,v2]=[1268]

作qr分解:
Q = [ − 0.4472 0.8944 0.8944 0.4472 ] , R = [ 2.2361 4.4721 0 8.9443 ] Q=\begin{bmatrix} -0.4472 & 0.8944\\ 0.8944& 0.4472 \end{bmatrix},R=\begin{bmatrix} 2.2361 & 4.4721\\ 0& 8.9443 \end{bmatrix} Q=[0.44720.89440.89440.4472],R=[2.236104.47218.9443]
从几何角度来看:
在这里插入图片描述
Q的第一列代表新成立的x坐标,第二列是垂直的y坐标!(即分解后的新坐标)

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

手写不期而遇

感谢你的打赏,也欢迎一起学习

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值