<p>只需对答案进行一点扩展(添加为答案,因为它太长,无法发表评论)。在Julia中,您有以下内容:</p>
<pre><code>julia> t = collect(range(0, stop=10, length=10))
10-element Array{Float64,1}:
0.0
1.1111111111111112
2.2222222222222223
3.3333333333333335
4.444444444444445
5.555555555555555
6.666666666666667
7.777777777777778
8.88888888888889
10.0
julia> t .- [10*i / 9 for i in 0:9]
10-element Array{Float64,1}:
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
</code></pre>
<p>使用Python时:</p>
<pre><code>>>> t = np.linspace(0,10,10)
>>> t - [10*i/9 for i in range(10)]
array([0.0000000e+00, 0.0000000e+00, 0.0000000e+00, 0.0000000e+00,
0.0000000e+00, 0.0000000e+00, 0.0000000e+00, 8.8817842e-16,
0.0000000e+00, 0.0000000e+00])
</code></pre>
<p>您可以看到Python中的第8个数字是<code>70/9</code>的不准确近似值,而在Julia中,在本例中,您使用<code>Float64</code>得到了<code>10*i/9</code>的最接近近似值序列</p>
<p>因此,似乎因为原始序列与您不同,其余的序列遵循@Jakob Nissen的评论</p>
<p>然而事情并不是那么简单。因为Julia和Python中的<code>exp</code>函数在生成什么方面有点不同。请参见Python:</p>
<pre><code>>>> from math import exp
>>> from mpmath import mp
>>> mp.dps = 1000
>>> float(mp.exp((20/3)**2) - exp((20/3)**2))
-1957.096392544307
</code></pre>
<p>在朱莉娅期间:</p>
<pre><code>julia> setprecision(1000)
1000
julia> Float64(exp(big((20/3)^2)) - exp((20/3)^2))
2138.903607455693
julia> Float64(exp(big((20/3)^2)) - nextfloat(exp((20/3)^2)))
-1957.096392544307
</code></pre>
<p>(您可以检查<code>(20/3)^2</code>在Julia和Python中是否是相同的<code>Float64</code>)</p>
<p>因此,在本例中,使用<code>exp</code>Python比Julia更精确。因此,即使修复<code>t</code>(使用Python中的理解而不是<code>linspace</code>很容易),也不会使ACF相等</p>
<p>总之,结论是@Jakob Nissen对如此大的值所评论的,结果将受到数值误差的强烈影响</p>