[英]Converting time-series values into a python list
我正在使用odeint function 檢索時間序列值。 它解決了一個微分方程組。
measurement_times = np.arange(0, 12,.1)
init = [.1,.1,.1,.1,.1]
def tar(y, measurement_times):
T, U, V,W,I = y
dT = 0.9*I*10.24 - T*0.0012
dU = V*T*0.0154 - U*1*0.81
dV = W*0.1*0.12 + U*1*0.81 - V*1.64 - V*T*0.015
dW= V*1.64 + 0.7*1*0.47 - W*0.1*0.12 - W*U*1591.5*1
dI= T*0.0012 + 0.8*U*1410.79*1- 0.9*I*10.24 - I*1*1934.77*1
return dT, dU, dV, dW, dI
targetmodel= sp.integrate.odeint(tar, init, measurement_times)
如果我打印dU的值,它會給我一些如下所述的值。
for g in targetmodel:
print(str(g[1]));
--------------------------------
0.1
0.09223727996210558
0.0850835704105759
0.07849011448256649
我想要的是將值轉換為列表並將該列表分配給變量data 。 目前,我通過復制值並分配給變量數據來手動完成
Manual way
data = [0.1,0.09223727996210558,0.0850835704105759,0.078490114482]
我想找到一種自動執行此操作的方法,而無需手動將值分配給可變數據。 謝謝
希望對你有幫助
data = []
for g in targetmodel:
data.append(g[1])
在targetmodel
之后添加以下代碼:
因為tagetmodel
是ndarray
,你可以使用基本的numpy切片告訴它select索引1處的所有行和列。(索引從0
開始)
print(targetmodel[:,1].tolist())
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.