如何在numpy拟合直线上根据给定x值计算对应y值?
计算一阶拟合直线在x=55处的y值,完全可行
你已经通过np.polyfit(x.x, x.v, 1)得到了一阶拟合的斜率a和截距b,拟合直线的表达式为y = a*x + b,直接代入x=55即可计算对应y值,有两种简单实现方式:
方式1:直接代入公式
在现有代码中添加以下代码即可:
x_target = 55 y_pred = a * x_target + b print(f"x=55时拟合直线对应的y值:{y_pred}")
方式2:使用np.polyval函数
numpy提供了polyval函数可以直接根据拟合系数计算指定x的y值,代码更简洁:
x_target = 55 y_pred = np.polyval([a, b], x_target) print(f"x=55时拟合直线对应的y值:{y_pred}")
可选:将该点标注在图表上
如果需要把计算出的点可视化到已有的图中,可以在plt.show()前添加以下代码:
plt.scatter(x_target, y_pred, color='red', s=100, zorder=5, label=f'x=55, y={y_pred:.2f}') plt.legend()
内容的提问来源于stack exchange,提问作者Kıvanç Koca
相关产品推荐
相关产品推荐

