2.13 已知f(x)=(|x+1|-|x-1|)/2+sinx,g(x)=(|x+3|-|x-3|)/2+cosx,求下列超定方程组的最小二乘解

点击查看代码
import numpy as np
def f(x):
return (abs(x + 1) - abs(x - 1)) / 2 + np.sin(x)
def g(x):
return (abs(x + 3) - abs(x - 3)) / 2 + np.cos(x)
# 假设我们有一些初始猜测值(这里只是随机选择的)
x1_guess = 0.5
x2_guess = 1.0
y1_guess = 0.2
y2_guess = 0.3
# 定义方程组矩阵A和向量b
def create_system(x1, x2, y1, y2):
A = np.array([
[0, 0, 3*f(y1), 4*g(y2)],
[2, 0, 2*f(y1), 6*g(y2)],
[f(x1), 3*g(x2), -1, 0],
[4*f(x1), g(x2), 0, -1],
[1, -3, 0, -10*f(y1)],
])
b = np.array([-1, -2, -3, -1, 2])
return A, b
# 使用初始猜测值来创建方程组
A, b = create_system(x1_guess, x2_guess, y1_guess, y2_guess)
# 使用numpy.linalg.lstsq求解最小二乘解
sol, residuals, rank, s = np.linalg.lstsq(A, b, rcond=None)
print("最小二乘解:")
print("x1 =", sol[0])
print("x2 =", sol[1])
print("y1 =", sol[2])
print("y2 =", sol[3])
print("残差平方和:", residuals[0])
print("学号:3004")
![](https://img2024.cnblogs.com/blog/3513959/202410/3513959-20241014223019534-1601858620.png)

posted on   黄元元  阅读(13)  评论(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

统计

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