2.7(学号:3025)

import numpy as np

定义系数矩阵A和常数项向量b

A = np.array([[4, 2, -1],
[3, -1, 2],
[11, 3, 0]])
b = np.array([2, 10, 8])

使用numpy的lstsq求解最小二乘解

x, residuals, rank, s = np.linalg.lstsq(A, b, rcond=None)

print("最小二乘解为:")
print(x)

打印残差和矩阵A的秩

print("残差为:", residuals)
print("矩阵A的秩为:", rank)

print("学号:3004")

print("\n")

import numpy as np

定义系数矩阵A和常数项向量b

A = np.array([[2, 3, 1],
[1, -2, 4],
[3, 8, -2],
[4, -1, 9]])
b = np.array([4, -5, 13, -6])

使用numpy的lstsq函数求解最小二乘解

对于这个特定的问题,由于方程数和未知数数量相同,且没有矛盾,lstsq将给出唯一解

x, residuals, rank, s = np.linalg.lstsq(A, b, rcond=None)

输出解

print("解 x:", x)

验证解是否正确(可选)

print("验证结果:", np.dot(A, x))

检查是否精确等于b(对于精确解,这应该非常接近)

print("与b的误差:", np.linalg.norm(np.dot(A, x) - b))

计算系数矩阵的秩(可选,以确认方程组是否有唯一解)

print("系数矩阵的秩:", np.linalg.matrix_rank(A))

由于秩等于未知数数量,且没有矛盾,我们可以确信有一个唯一解

print("学号:3025")

posted @ 2024-10-27 21:07  唐锦珅  阅读(2)  评论(0编辑  收藏  举报