微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Python Best-Fit 曲线以最小化最大偏差

如何解决Python Best-Fit 曲线以最小化最大偏差

如何最好地拟合两组曲线(x、y 坐标)以最小化它们之间的最大偏差?可能存在用于此的功能,但我找不到任何合适的东西。我确实认为 Chebycev 是正确的方法,但是从我从 scipy 尝试过的方法来看,它并没有达到我想要的效果

#Shortened example curves
import matplotlib.pyplot as plt
    
nX = [-0.0187700,0.0311900,0.0811400,0.1311000,0.1410600,0.2309700,0.2809200,0.3308600,0.3807900,0.4307300]
nY = [-1.9880000,-1.9859500,-1.9836300,-1.9815700,-1.9757700,-1.9766800,-1.9744000,-1.9720200,-1.9693900,-1.9670100]
oX = [-0.0187100,0.0312500,0.0812100,0.1311600,0.1811100,0.2310600,0.2810100,0.3309500,0.3808900,0.4308300]
oY = [-1.9893900,-1.9873300,-1.9852100,-1.9830500,-1.9808300,-1.9785500,-1.9762300,-1.9738500,-1.9714100,-1.9689300]
        
maxDev = 0
        
for i in range(len(nX)):
   dev = ((nX[i]-oX[i])*(nX[i]-oX[i])) + ((nY[i]-oY[i])*(nY[i]-oY[i]))
      if dev > maxDev:
          maxDev = dev
          pointNo = i
        
            
print(pointNo,maxDev)
plt.figure()
plt.plot(nX,nY,'ko')
plt.plot(oX,oY,'r-')
plt.plot(oX[pointNo],oY[pointNo],'x') #best-fit so that this error gets as small as possible?
plt.show()

我希望这个例子足以解释我想要完成的事情。甚至这里根本没有合身。还有,如何检索 X-、Y-平移和旋转值?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。