【发布时间】:2017-08-18 09:01:35
【问题描述】:
我有两条曲线,一条是一条线,例如 y = x/4,另一条是我用线段连接的一组点(例如:x = [1, 2.5, 3.4, 5.8, 6]、y = [2, 4, 5.8, 4.3, 4],它们在形成分段线性曲线的二维平面),我应该找到这两条曲线之间的交点。我应该首先形成这条分段线性曲线,然后找到交点。幸运的是,我发现我可以使用numpy.polyfit 找到每个线段的多项式系数,如下所示:
import numpy as np
import matplotlib.pyplot as plt
x = [0, 1, 2, 4, 6] # in my primary problem i dont have just 5 points and i have approximately 200 points !
y = [0, 0, 3, -1, 2]
x = np.array(x)
y = np.array(y)
a = [np.polyfit(x[i:(i+2)], y[i:(i+2)], 1) for i in range(len(x)-1)]
plt.plot(x, y, 'o')
plt.show()
但是现在我真的很困惑如何使用这些系数来找到两个图之间的交点!? (在我的主要问题中,我不只有 5 分,我有大约 200 分!) 解决这个问题的一个想法是使用 ((solve)) 命令检查线和线段的交点,但这非常耗时,并且此命令不适用于线((segment))。
【问题讨论】: