繁体   English   中英

多次运行一个函数的循环

[英]Running a loop of a function multiple times

我有代码来绘制粒子轨迹,直到 3D 矩阵的一部分中的所有空间都被填充。 这是基于粒子的最终位置。 对穿过身体的辐射束中粒子的简化模拟。

我能够使用 for 循环将一大堆粒子轨迹绘制在一起,并获得填充所有空间所需的数量。 我是这样做的,'''

n = 100
for n in range(particles):
    Path(ax,body)
    if body==[[[0 for k in range(10)] for j in range(10)] for i in range(10)]:
        print('Tumor destroyed after particle number', n)
        break
plt.show()

'''

我得到粒子数(n)。 但我想循环多次,然后得到填充矩阵中所有空间(摧毁肿瘤)所需的数字 (n) 的平均值。 我试着做'''

trials=10
for i in range(trials): 
    for n in range(particles):
        Path(ax,body)
        if body==[[[0 for k in range(10)] for j in range(10)] for i in range(10)]:
            print('Tumor destroyed after particle number', n)
            break

''' 但我只从代码的第一部分得到相同的 n 值 10 次。 我如何让它每次都执行新代码的第一位并获得不同的 n 值来平均它们。

编辑数字应该都不同,因为我使用随机数进行计算。 计算是在 Path 函数内完成的。 我只想多次运行第一段代码,但不确定如何执行它。 我可以添加完整的代码,但它很长。

您的模拟是否使用一些随机初始条件? 如果是这样,您可能需要在每次试验期间使用 random.seed()。 如果您的模拟是完全确定性的,那么对于相同的初始条件,您应该每次都期望得到相同的结果。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM