首页 > 编程知识 正文

线性方程求解公式,二阶线性微分方程求解

时间:2023-05-03 12:22:24 阅读:228610 作者:3561

求解线性系统
在线性代数中我们经常需要求解具有m个方程 ,n 个 未知量的问题。这个问题可以以简洁的形式 表示为
Ax=b
其中 A 是一个m×n , x 是一个长度为n的向量(如不特别强调,都是列向量) ,b是一个长度为m 的向量。如果 m=n ,并且 满秩(各行向量或列向量线性无关) ,则这个线性方程的解为 x=A−1b
那如果 m>n ?这意味着什么?
事实上,实际问题中常常碰到的是 m>n 的情况 ,这时我们方程的数量大于未知数的数量,这样我们面对的是一个over-determined 系统的求解问题。每个方程典型上包含噪声,或者是不正确的观察。在这样的情形下,我们尝试求解的是下面的最优化问题。
minx∥Ax−b∥2=minx[xTATAx−2xTATb+bTb]
(这个优化问题看起来有二次项,是非线性问题,但幸运的是,这个方程对其求偏导后可以得到线性方程)
使用矩阵微分的规则,我们对这个方程 求偏导,得到下面的结果
ATAx−ATb=0
→AT(Ax−b)=0
→ATAX=ATb(3.11)

因为 ATA 是 n×n 方阵,并且是满秩的,因此这个方程的解为
x=(ATA)−1ATb
那么这个解跟 (Ax−b)=0 的解有什么关系吗?
我的理解, x=(ATA)−1ATb 是这个方程 (Ax−b)=0 的近似解。事实上, (Ax−b)=0 中如果 A 不是方阵,则这个方程本身是不能求解的,因为A−1 不存在,你不能求解出 x=A−1b .但通过引入 (ATA)−1 ,你可以求出解 x=(ATA)−1ATb 。这个解与 x=A−1b 一般是不同的(除非 A 存在逆。 所以x=(ATA)−1ATb 应该是 (Ax−b)=0 的近似解。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。