[英]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.