Can you please provide a general explanation of how the algorithm implemented in the SSEST function works?
조회 수: 10 (최근 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
댓글 수: 0
답변 (1개)
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
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
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 Exchange에서 State-Space Models에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!