擅长:python、mysql、java
<p>由于你要插值的数据不是一个函数,我想用插值法来解决你的问题是很困难的。但是你可以看到如果你把连续的值乘以x,所有值的符号都是(+),除了在最近的点上x=0会有符号变化(-)。通过使用:</p>
<pre><code>vals=[testdata[j] for j in range(len(testy)-1) if np.sign(testy[j]*testy[j+1])==-1]
</code></pre>
<p>我得到<code>[1.5231964381041423, 4.696522350821105]</code>。您可以使用<code>j</code>或<code>j+1</code>覆盖<code>testdata[j]</code>因为网格是一致的,两种近似都会有相同的错误量。希望有帮助。你知道吗</p>