<p>我不能为您提供一个工作的python代码,因为直到现在我还没有编写一行python代码。但我可以给你一个解决问题的办法。你知道吗</p>
<hr/>
<p><strong>假设:</strong></p>
<pre><code>N : Number of Moves
P : Number of Particles
</code></pre>
<p><strong>第1步:</strong><br/>
创建一个生成数组/列表并返回它的方法。所以你可以重复使用它,避免复制你的代码。你知道吗</p>
<pre><code>def createParticleMotion(N, p, l):
x1=[]
x1.append(0)
for i in range(1, N):
step = -l if random() < p else l
X1 = x1[i-l] + step
x1.append(X1)
return x1
</code></pre>
<p><strong>第2步:</strong><br/>
创建一个列表列表,我们称之为<code>particleMotions</code>。它自己的列表有你的移动列表。通过从第一步开始调用方法,在for循环中填充粒子数列表,并通过返回的列表/数组附加列表<code>paticleMotions</code>。你知道吗</p>
<p><em>可能是<a href="https://stackoverflow.com/a/11487104/5893316">Python: list of lists</a>的答案,它将帮助您创建这个。</em></p>
<p><strong>第3步:</strong><br/>
创建并填充<code>particleMotions</code>之后,在double for循环中使用此列表,计算平均值并将其存储在平均值列表中。你知道吗</p>
<pre><code>mean=[]
for n in range (0,N):
sum=0
for p in range (0,P):
sum = sum + particleMotions[p][n]
mean.append(sum/P)
</code></pre>
<p>现在可以使用next for循环来绘制结果。你知道吗</p>
<pre><code>for particle in range (0,P):
plt.plot(particleMotions[particle])
</code></pre>
<hr/>
<p>所以不要因为语法错误而责怪我。我不是植物学家。我只想给你一个解决问题的方法。你知道吗</p>