最小二乘法求解矛盾方程组

最小二乘法求解矛盾方程组

参考:最小二乘法求解矛盾方程组 - 知乎

由线性代数理论可知,在求解线性方程组时,当方程式得个数多于未知数的个数时,方程组往往无解,此类方程组称为矛盾方程组(也叫超定方程组
最小二乘法是用来求解矛盾方程组的一个常用方法。 设有矛盾方程组如下:

 

可写为:

 

此时为了找到合适的近似解答,定义方程的偏差:
[公式]

进一步定义二范数偏差:

 

在这里,如果的取值使得[公式]最小,则其为矛盾方程组的最优近似解答 

求解格式的推导

二次函数Q取极值的必要条件: [公式]


[公式]

这里注意后面对求和循序进行了更改
极值条件可写为:

 


矛盾方程(1)写为:
[公式]

(6)可写为:

 

求解上式即得

算例

求解下列方程组:

 

利用python编写求解程序:

import numpy as np
A = np.array([
    [1,-1],
    [-1,1],
    [2,-2],
    [-3,1]
]) ## 系数矩阵

b = np.array([1,2,3,4]).reshape((-1,1))##reshape((-1,1))就是用来转置b的
ATA = np.dot(A.T,A)
ATb = np.dot(A.T,b)
X = np.linalg.solve(ATA,ATb)
print(X)

结果为:

 

  • 7
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值