线性代数Ax=b原理及工程上的应用
前言
线性代数在工程应用上十分广泛,在坐标系转换,深度学习,求解算法的优化解方面有着大量应用。因此掌握线性代数的基本理论,并且具有解决实际工程问题的能力尤为重要。
线性方程组解的情况
线性方程组的解的三种情况
1. 适定方程组:存在唯一解
2. 欠定方程组:存在多解。变量数<方程组数
3. 超定方程组:无解。但可以求出近似解
二元方程组解的三种情况
超定二元方程组的解
以上是无解的,即方程组不相容,但有近似解-----最小二乘解!
用线性代数数值解计算实际工程问题
对某一城市的交通流量分析:
列出方程组是:
按照Ax=b的格式转化成矩阵形式
在Ax=b中,b代表常数,这是线性方程组。注意:A必须是方阵才能求逆。对其x的求解,可能出现无解,有解,多解的情况,不能用x求b/A
所以,可以用matlab相关函数求解,使用简化行列式的思路,对行矩阵变换!
1 2 | b=[160;-40;210;-330]; U= rref ([A,b]); |
可以求出U的简化行列式为:
可以看出,简化后属于欠定方程,属于多解问题。
矩阵建模的方法
1. 列出全部方程,构成方程组
2. 将方程组变成矩阵
3. 求解,用matlab
复杂的系统。列出的方程通常有两种形式。(注意,是列方程)
变量在等号左侧,常数项在右侧,整理出Ax=b
若有多种变量,将一个变量在等号左边,其余变量在右边
使其能变成:
X=QX+PU矩阵
方程是(1-Q)X=PU
传递函数是W=X/U=inv(1-Q)*P
Ax=b的五种写法
Ax=B的解法
方法一:
X=B/A用逆矩阵来求(逆矩阵的前提是A是方阵)
逆矩阵的matlab函数是
1 | V= inv (A); |
Ax=B可以求出x=B/A
1 | x=B* inv (A); |
Ax=b,非齐次线性方程组
Ax=0, 齐次线性方程组
方法二:
也可以用行列式来判断解是否存在:
判断线性方程组的解是否存在和唯一:Ax=0
A是系数矩阵,ιAι≠0,解存在
在MATLAB中求行列式的值,用
1 | det (A); |
非齐次线性方程组Ax=b解存在且唯一的条件是det(A)≠ 0
齐次线性方程组Ax=0有非0解的条件是det(A)= 0
Ax=b三个不同角度讨论
1. Ax=b 最简行列式变换,消元,求有,无,超定,欠定解,rref
2. 把Ax当成A是列向量组,判断是否相关,证明超定方程的最小二乘解!
3. 把A看成一个几何变换,把x域中图形变换到y域中去!
Ax=b变换后直线还是直线。
为顶点在(0,0),(1,0),(1,1),(0,1)的单位方块!
这就是变换矩阵的行列式的意义!
ιAι是变换后面积的变化
在几何里面,因为矩阵的变换是Ax,所以
不能实现平移等线性变换,所以引入齐次坐标系!(增加一维)
(旋转是绕原点的)
先旋转后平移,是R*M,不是R+M
Ax=b在几何学上的应用
1. Ax=y表示向量空间中x组成的图形经变换A后变换为向量空间y中的图形
2. Ax=y也表示坐标变换,A中各列为y坐标的基向量,用这关系可进行正反坐标变换。
1 | eigshow(A); |
在matlab中,可显示二维向量x沿单位圆转动时,经A左乘后在y平面上的形状。
x-y共线时,y=Ax= λx,λ为特征值,x为特征向量
在matlab中,求取特征值和特征向量为
1 | [P,lambada]= eig (A); |
QR分解的几何意义
QR分解可以看成分解出新的坐标系!
在matlab中,求取结果是
1 | [Q,R]= qr (A); |
作qr分解:
从几何角度来看:
Q的第一列代表新成立的x坐标,第二列是垂直的y坐标!(即分解后的新坐标)
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· Docker 太简单,K8s 太复杂?w7panel 让容器管理更轻松!