[英]Save while loop results as numpy array in python?
在編碼方面相當新,我正在使用 python 進行蒙特卡洛模擬。 不太確定我會如何 go 對此,最終結果將是繪制出穩態 function 的結果。
import random
import numpy as np
def steadystate():
p=0.88
Cout=4700000000
LambdaAER=0.72
Vol=44.5
Depo=0.42
Uptime=0.1
Effic=0.38
Recirc=4.3
x = random.randint(86900000,2230000000000)
conc = ((p*Cout*LambdaAER)+(x/Vol))/(LambdaAER+Depo+(Uptime*Effic*Recirc))
return conc
x = 0
while x < 10000:
result = steadystate()
print(result)
x+=1
現在我只想將 while 循環的結果保存為一個數組,以便我可以繪制它。 我試過附加它但它不會打印任何東西。
實現所需功能的最簡單方法是生成隨機整數作為數組開始,例如:
size = 10000
# generate 10000 (size) random integers as a numpy array
x = np.random.randint(86900000, 2230000000000, size=size)
p = 0.88
Cout = 4700000000
LambdaAER = 0.72
Vol = 44.5
Depo = 0.42
Uptime = 0.1
Effic = 0.38
Recirc = 4.3
result = ((p*Cout*LambdaAER)+(x/Vol))/(LambdaAER+Depo+(Uptime*Effic*Recirc))
result
object 也將是與x
大小相同的 numpy 數組。
您可以使用 numpy.append() function 到 append while 循環的結果到現有的 numpy 數組。
import numpy as np
# Initialize empty numpy array
arr = np.array([])
# While loop
i = 0
while i < 5:
# Append loop results to arr
arr = np.append(arr, [i])
i += 1
# Print resulting array
print(arr)
# Output: [0. 1. 2. 3. 4.]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.