matlab Time-domain analysis 漸進式或者實時獲取仿真值
阿新 • • 發佈:2019-03-29
values 漸進 control app any for 系統 具體實現 space
首先準備一個傳遞函數sys,
然後使用lsim(sys,u,t,x0)函數(通用的時序分析的函數)
u: The input u
is an array having as many rows as time samples (length(t)
) and as many columns as system inputs.
x0:further specifies an initial condition x0
for the system states. This syntax applies only when sys
is a state-space model. x0
is a vector whose entries are the initial values of the corresponding states of sys
.
叠代使用的關鍵是使用上一步的結果,對x0進行賦值
具體實現:使用python環境,使用 control庫。
關鍵代碼片段如下:
1 #u是前文設置的系統輸入,t是時序 2 lastValue=0 3 result=[] 4 for i in range(len(t) - 1): 5 y= lsim(T1, U=u[i:i + 2], T=t[i:i + 2], X0=lastValue) 6 lastValue = y[2][1] 7 result.append(y[0][1])
註意,y是三個數組的元組形式 y=(yout, T ,xout) 。X0傳遞的是xout。
matlab Time-domain analysis 漸進式或者實時獲取仿真值