2017-05-03 39 views
1

我有以下曲线作为x和y位置的两个数组。使用NumPy插入曲线本身使用NumPy

curve

试想一下,如果你要画垂直线通过每个点去,并在曲线上添加点的地方,这些线相交的曲线。这就是我要的。

我试着用np.interp(x, x, y),但我结束了以下混乱:

mess

我怎样才能做到这一点?是否可以用np.interp

这可能是一个应该在另一个问题中提出的问题,但我也希望在曲线交叉的地方添加点。

+0

您将需要添加另一列来描述x和y与另一个维度的关系。例如,如果图上的每个点都可以引用一段时间,则可以尝试使用3项非线性最小平方法或径向基函数。这些功能都可以在SciPy中找到。如果您可以发布生成图表的代码,那么也许我可以告诉您如何使用这些方法。 – DougR

回答

0

根据docs X值的数组应该排序(或周期性),否则“结果是无稽之谈”。您可以尝试将曲线分成多个部分,然后将每个部分插入其他部分。您可以通过查看np.diff(x)更改符号的位置找到正确的拆分位置。