Python求解二元一次方程:简单、快速、准确
import numpy as np
from scipy.optimize import least_squares
# 二元一次方程 y = ax + b
def linear_model(params, x):
a, b = params
return a * x + b
# 数据点
x_data = np.array([0, 1, 2, 3, 4, 5])
y_data = np.array([5, 7, 9, 11, 13, 15])
# 初始参数
initial_params = [1, 0]
# 使用最小二乘法进行拟合
params, covariance = least_squares(linear_model, initial_params, args=(x_data,), max_nfev=1000)
# 输出拟合参数
print(f"拟合参数: a = {params[0]}, b = {params[1]}")
# 绘制原始数据和拟合线
import matplotlib.pyplot as plt
plt.scatter(x_data, y_data)
plt.plot(x_data, linear_model(params, x_data), color='red')
plt.xlabel('x')
plt.ylabel('y')
plt.title('二元一次方程拟合示例')
plt.show()
这段代码使用了scipy.optimize
模块中的least_squares
函数,通过最小二乘法方法拟合了一个简单的二元一次方程。首先定义了方程、数据点和初始参数,然后调用least_squares
进行拟合,并输出结果。最后,代码还使用matplotlib
绘制了原始数据点和拟合的直线。
评论已关闭