拟合np.polyfit()
返回给我几个多项式表达式。然后我绘制多项式曲线matplotlib
:
y_fit = np.arange(min(y), max(y), .1) # use more points for a smoother plot
x_fit = p[0](y_fit)
axes.plot(x_fit, y_fit, '-', color='green')
我得到的是这个
它们实际上是通道的边界。我希望在绿色封闭多边形内看到一个封闭的蓝色多边形。使用人类智能,很清楚如何将它们相交并移除多余的部分。
我尝试过的一种简单而残酷的方法是用 求解成对耦合非线性方程fsolve()
。但是,这是非常不可行的,因为我有很多多项式曲线,因此成对求解它们太昂贵了。此外,很明显并非所有的交叉点都很重要。(有些路口甚至几乎没有意义!)
那么我有可能有效地做到这一点(只获得关键的十字路口)吗?