2.7 先判断下列线性方程组解的情况,然后求对应的唯一解、最小二乘解或最小范数解

(1)
4x1+2x2-x3=2
3x1-x2+2x3=10
11x1+3x2=8

(2)
2x+3y+z=4
x-2y+4z=-5
3x+8y-2z=13
4x-y+9z=-6

点击查看代码
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("学号:3004")

posted on   黄元元  阅读(28)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示