Can you please provide a general explanation of how the algorithm implemented in the SSEST function works?

3 ビュー (過去 30 日間)
Hello,
I am using the MATLAB function called SSEST for performing system identification of dynamical systems. More specifically, I am interested in understanding more deeply how the algorithm behind this function works. However, when consulting the MATLAB help center (https://ch.mathworks.com/help/ident/ref/ssest.html), the explanations reported in "Algorithms" is quite vague and the bibliography reported in "References" is too general. Therefore, I have the following two questions.
1. Can you please provide a general explanation of how the algorithm implemented in the SSEST function works?
2. Can you please provide additional and more detailed references on the algorithm implemented in the SSEST function?
Many thanks for your help,
Sefika Ipek Lok

回答 (1 件)

Rajiv Singh
Rajiv Singh 2022 年 5 月 31 日
ssest contains multiple algorithms for fitting time- and frequency domain data. Roughtly speaking the time-domain identification is based on initializing the model parameters using a subspace approach (n4sid) followed by iteratve refinements to minimize a weighted norm of the prediction errors. There are several branches to handle fixed entries, estimation of initial states (x0), handling the disturbance component (K), and the feedthrough term (D).
The frequency domain identification is based on a rational fitting approach, and a subspace approach. For the rational fitting approach, a good reference is:
It will be hard to document all the underlying routines. You will need to be more specific regarding the behavior you are trying to understand.
  2 件のコメント
Sefika ipek Lök
Sefika ipek Lök 2022 年 6 月 10 日
Thank you for your response. I used the SSEST function for time-domain data. Could you explain the specific differences from the N4SID approach? And which iterative refinement is used for the SSEST function?
Best wishes.
Rajiv Singh
Rajiv Singh 2022 年 8 月 9 日
The ssest algorithm takes the result of n4sid and uses it as initial guess in a nonlinear least squares optimization problem that tries to further reduce the prediction errors. The numerical optimization algorithm choice is dictated by the ssestOptions->SearchMethod choice. By default, a combination of line-search methods (Gauss-Newton, Levenberg–Marquardt, Gradient Descent) is used. You can also pick the solvers provided by the Optimization Toolbox such as 'lsqnonlin', 'fmincon'.

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

カテゴリ

Help Center および File ExchangeLinear Model Identification についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by