如何从Xfit创建一个严格单调子集的新数组,然后将曲线拟合到该子集上?
比如:Xfit = np.hstack(((-1,-1,0,1,1),np.arange(1,10),(-7,9,10,10)))
len_mono = 0
Xfit_mono = zeros(Xfit.size)
Xfit_mono_ind = zeros(Xfit.size)
Xfit_mono[len_mono] = Xfit[0]
for(iX, x) in enumerate(Xfit):
if iX > 0:
if x > Xfit_mono[len_mono]:
len_mono = len_mono + 1
Xfit_mono[len_mono] = x
Xfit_mono_ind[len_mono] = iX
Xfit_mono_ind = Xfit_mono_ind[:len_mono+1]
Xfit_mono = Xfit_mono[:len_mono+1]
print(Xfit_mono_ind)
print(Xfit_mono)
然后,可以在曲线拟合中使用Xfit_mono,如果要选择关联的y值,可以使用Xfit_mono_ind的值作为y的索引
更新替换:
^{pr2}$
有:
^{3}$
对于弱增长的老办法有效。然而,旧的结果给出了错误的答案,如果它一直在减少。在这两种情况下,此更新都会产生所需的结果。在