超定线性方程组

from sympy import Matrix
from scipy.linalg import lstsq
import numpy as np

# A = Matrix([[2,3],[1,3],[1,1]])
# b = Matrix([5,3,2]).T  # 矩阵有行列之分

# A = np.array([[2,3],[1,3],[1,1]])
# b = np.array([5,3,2]).T # 一维数组没有行列之分

A = np.matrix([[2,3],[1,3],[1,1]])
b = np.matrix([5,3,2]).T # 矩阵有行列之分
x = lstsq(A, b)
print x


"""
最小二乘法lstsq是在numpy中定义的,scipy中用的也是numpy的;
系数A和值b,只能是np.array或np.matrix类型, sympy.Matrix类型不能作为lstsq()的输入参数;
lstsq()返回值类型如下:
x =  (array([[ 1.78571429],[ 0.42857143]]),
        array([[ 0.07142857]]), 
        2, 
        array([ 4.94235374,  0.75705981]))
第一个元素:基于最小二乘法得到超定方程组的近似解 x=1.78571429,y=0.42857143.
第二个元素:残差的总和
第三个元素:系数矩阵A的秩
第四个元素:系数矩阵A的奇异值

"""

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值