擅长:python、mysql、java
<p>你是对的,你需要为最大值的差异定义一个公差。我标出了需要澄清的要点。这里的想法是首先从值的最大值<code>max(sol[:, 0])</code>得到差值。然后可以使用NumPy数组的索引,使用1e-4的公差。<code>[abs(diff) < 1e-4]</code>返回此条件为真的索引。现在你最多得5分。你可以对它们做任何你想做的处理。公差的选择还取决于网格点的数量(本例中为10001)。它需要一些玩耍。也可以编写一些函数来巧妙地检查这一点。你知道吗</p>
<pre><code>diff = sol[:, 0] - max(sol[:, 0])
plt.plot(sol[:, 0], sol[:, 2])
plt.plot(sol[:, 0][abs(diff) < 1e-4], sol[:, 2][abs(diff) < 1e-4], 'kx')
</code></pre>
<p><a href="https://i.stack.imgur.com/GZqXI.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/GZqXI.png" alt="enter image description here"/></a></p>