我有一些数据,我使用 numpy.polynomial.polynomial.polyfit 拟合了二阶多项式
data_fit = poly.polyfit(length_spline_a, temp_spline_b, 2)
我正在检查长度变化,并有一个长度变化 10% 的列表
len_steps = 0.0, -0.012573565669572757, -0.025147131339145513, -0.03772069700871827...
print (len(len_steps)
>>>>11
我的假设是,polyval 将为 len_steps
列表中的每个 x 值求解 y
y_data = poly.polyval(data_fit, len_steps)
然而,这提供了一个仅包含 3 个数据点的列表,而不是我预期的 11 个数据点。
print(y_data)
>>>>[-5.34112443e+21 -2.50395581e+28 -6.75169134e+28]
我是否误解了polyval的目的或者我做错了什么?
最佳答案
如果我将列表顺序反转为 y_data = poly.polyval(len_steps, data_fit)
,则输出有效。现在我重新阅读了这些文件,这一点实际上很清楚。我想我使用的是 np.polyval 语法,它首先需要 coefs。
关于python - 对 Polyval 的输出感到困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53206124/