本文实例讲述了Python图像处理之直线和曲线的拟合与绘制。分享给大家供大家参考,具体如下:
在数据处理和绘图中,我们通常会遇到直线或曲线的拟合问题,python中模块的子模块中提供了一个专门用于曲线拟合的函数<代码> curve_fit() 代码>。
下面通过示例来说明一下如何使用<代码> curve_fit() 代码>进行直线和曲线的拟合与绘制。
代码如下:
# - * -编码:utf - 8 - * 进口numpy np 进口matplotlib。pyplot作为plt 从scipy导入优化 #直线方程函数 def f (x) A、B): 返回一个* x + B #二次曲线方程 def?(x, A, B, C): 返回一个* * x + B * x + C #三次曲线方程 def f_3 (x, A, B, C, D): 返回一个* * * x + B * x * x + C * x + D def plot_test (): plt.figure () #拟合点 x0=[1、2、3、4、5) y0=[36] 1、3、8、18日 #绘制散点 plt。散射(x0 [:], y0[:], 25岁的“红色”) #直线拟合与绘制 A1, B1=优化。curve_fit (f, x0, y0) [0] x1=np。不等(0.01 0 6) 日元=A1 * x1 + B1 plt。情节(x1, y1,“蓝色”) #二次曲线拟合与绘制 A2、B2, C2=优化。curve_fit (?x0, y0) [0] x2=np。不等(0.01 0 6) y2=A2 * x2 * x2 + B2 * x2 + C2 plt。情节(x2, y2,“绿色”) #三次曲线拟合与绘制 A3, B3, C3, D3=优化。curve_fit (f_3 x0, y0) [0] x3=np。不等(0.01 0 6) y3=A3 * x3 * x3 * x3 + B3 * x3 * x3 + C3 * x3 + D3 plt。情节(x3, y3,“紫色”) plt.title (" www.jb51.net测试”) plt.xlabel(“x”) plt.ylabel (y) plt.show () 返回 plot_test () >之前拟合和绘制解果如下:
def f_gauss (x, A, B, C,σ): 返回一个* np.exp(-(取向)* * 2/(2 *σ* * 2))+ C >之前
http://tools.jb51.net/jisuanqi/create_fun
http://tools.jb51.net/jisuanqi/fun_draw
更多关于Python相关内容感兴趣的读者可查看本站专题:《Python数学运算技巧总结》,《Python数据结构与算法教程》、《Python函数使用技巧总结》,《Python字符串操作技巧汇总》及《Python入门与进阶经典教程》
希望本文所述对大家Python程序设计有所帮助。
Python图像处理之直线和曲线的拟合与绘制【curve_fit()应用】