思路:
随机构造矩阵A和向量b,这里我用np.random.randn()构建了两个服从正态分布的数组。
然后用scipy.linalg库中的lstsq函数使用最小二乘法求解出向量x
最后用norm函数求出结果
代码:
import numpy as np
from scipy.linalg import norm
from scipy.linalg import lstsq
m = 10
n = 5
sigmaA = 2.0
sigmab = 1.5
muA = 2
mub = 3
A=sigmaA*np.random.randn(m,n)+muA
b=sigmab*np.random.randn(m)+mub
print("A:")
print(A)
print("b:")
print(b)
x, res, rnk, s = lstsq(A, b)
print("x:")
print(x)
result = norm(b-np.dot(A,x),ord=2)
print("result:")
print(result)
运行结果: