擅长:python、mysql、java
<p>我相信这只是一个插错东西的问题。您在<code>slope</code>中测试的点是<code>(0, y[0])</code>==<code>(0, 360.0)</code>和<code>(lenOfx, y[lenOfy - 1])</code>=<code>(50, 440.0)</code><strong>这些点不在<code>y=m*x+c</code></strong>定义的线上。我相信您希望拉动线段的两个端点:</p>
<pre><code>>>> slope(x[0], y[0], x[-1], y[-1]) # (360.0, 360.0, 440.0, 440.0)
1.0
</code></pre>
<p>计算角度的类似问题;您希望使用<code>y</code>中的更改和<code>x</code>中的更改:</p>
<pre><code>>>> np.rad2deg(np.arctan2(y[-1] - y[0], x[-1] - x[0]))
45.0
</code></pre>
<p>坐标数(<code>len</code>)不应与坡度计算相关</p>
<p>注意<code>x</code>和<code>y</code>是相同的(<code>x == y</code>返回<code>True</code>的向量)</p>