擅长:python、mysql、java
<p>这是一个舍入的问题。如果您尝试从intervalz中减去501,您会发现一个非常小的负数-5.68e-14;linspace只取它的整数部分,即500,并提供一个500长的列表。在</p>
<p>注意您的代码还有两个问题:</p>
<ol>
<li><code>dt</code>没有提供正确的间距,因为您没有删除首字母<code>t</code>(与<code>dz</code>相同)</li>
<li><code>Ngridt</code>和{<cd5>}在概念上是整数,而将它们初始化为浮点。只需去掉末尾的点。在</li>
</ol>
<p>我认为您的代码可以通过编写来简化(注意,<code>Ngridt</code>和{<cd5>}被初始化为501)</p>
<pre><code>#time
Ngridt = 501
tmax = 1.
t, dt = np.linspace(0.01,tmax,Ngridt,retstep=True)
#z space
Ngridz = 501
zmax = L
z, dz = np.linspace(0.01,zmax,Ngridz,retstep=True)
</code></pre>