当前位置:   article > 正文

图像处理九:拟合曲线_图像拟合曲线

图像拟合曲线

一、最小二乘法拟合曲线

  1. import numpy as np
  2. import matplotlib.pyplot as plt
  3. from scipy.optimize import curve_fit
  4. #自定义函数 e指数形式
  5. def func(x, a, b,c):
  6. return a*np.sqrt(x)*(b*np.square(x)+c)
  7. #定义x、y散点坐标
  8. x = [10,20,30,40,50,60,70,80]
  9. x = np.array(x)
  10. y = [158,455,265,152,263,813,562,126]
  11. y = np.array(y)
  12. #非线性最小二乘法拟合
  13. popt, pcov = curve_fit(func, x, y)
  14. #获取popt里面是拟合系数
  15. print(popt)
  16. a = popt[0]
  17. b = popt[1]
  18. c = popt[2]
  19. yvals = func(x,a,b,c) #拟合y值
  20. print('popt:', popt)
  21. print('系数a:', a)
  22. print('系数b:', b)
  23. print('系数c:', c)
  24. print('系数pcov:', pcov)
  25. print('系数yvals:', yvals)
  26. #绘图
  27. plot1 = plt.plot(x, y, 's',label='original values')
  28. plot2 = plt.plot(x, yvals, 'r',label='polyfit values')
  29. plt.xlabel('x')
  30. plt.ylabel('y')
  31. plt.legend(loc=4) #指定legend的位置右下角
  32. plt.title('curve_fit')
  33. plt.show()

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/264101
推荐阅读
相关标签
  

闽ICP备14008679号