簡體   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