nlarx model initial conditions

3 ビュー (過去 30 日間)
Yannik
Yannik 2020 年 8 月 10 日
コメント済み: liu ke 2022 年 3 月 18 日
Hello
i want to use a nlarx model with focus on simulation to model a system. The results i get with the nlarx command are good but the command sets the initial conditions automatically such that the first samples are perfectly matched as i read here: https://de.mathworks.com/matlabcentral/answers/51708-problem-with-system-identification-toolbox-and-sim-command. If i use the compare command with zero as initial condition the results are horrible. Is it possible to tell the nlarx function to use zero as initial condition before it estimates a model? It seems to be possible for the linear arx.
Thanks!

採用された回答

Rajiv Singh
Rajiv Singh 2020 年 8 月 10 日
You can prefix estimation data (both input and output signals) with nd zeros, where nd = maximum lag in the model. Initial conditions are more critical for nonlinear models since there is no guarantee that their effect will be transient. Wrong initial conditions may even lead the solution to a different invariant of the state-space than where the data was collected. Using the data samples themselves as initial conditions (for both estimation and validation) is probably the least risky thing to do. But check out FINDSTATES, FINDOP, DATA2STATES commands in System Identification Toolbox that give you different ways of finding and handling initial conditions for Nonlinear ARX models.
  1 件のコメント
liu ke
liu ke 2022 年 3 月 18 日
Hi rajiv
Add ND 0 to the estimated data (both input and output signals), where ND = the maximum lag in the model. Do I just add zero to this one? Again, add the initial state value calculated with finop or data2State.
I added Max (na,nk) zeros to the training data u and y, which didn't work very well
thanks

サインインしてコメントする。

その他の回答 (1 件)

liu ke
liu ke 2022 年 3 月 17 日
Hi rajiv
Add ND 0 to the estimated data (both input and output signals), where ND = the maximum lag in the model. Do I just add zero to this one? Again, add the initial state value calculated with finop or data2State.
I added Max (na,nk) zeros to the training data u and y, which didn't work very well
thanks

カテゴリ

Help Center および File ExchangeNonlinear ARX Models についてさらに検索

製品


リリース

R2020a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by