Cross-Coupled System Identification
4 ビュー (過去 30 日間)
古いコメントを表示
Hi everyone, I aim to build a model of my system using real-time data. My system is a MIMO (Multiple Input Multiple Output) system, where the inputs are RPM and rudder angle, and the outputs are linear velocity and angular velocity. Also the system is cross-coupled, so both inputs effect both outputs and I think that there is nonlinear model. I want to implemented system identification model. I collected data for train and validation. Then, I implemented filter and prepared for system identification. I tried different models such as TF, State Space and Nonlinear models. I see that best models estimated by Nonlinear ARX model. But I don't know how can I find the best model fit because there are many options in Nonlinear ARX model window. For example there are many options in Nonlinear Function bar such as Wavelet, Sigmoid, Neural, Gaussian etc... So how can i find best model fit. Do I need to write code about grid search may be it finds best possible trying different conditions? Do you have any recommendation?
0 件のコメント
採用された回答
Star Strider
2025 年 8 月 25 日
I am not entirely certain that I understand what you want to do.
If you have the input and output data, you have a system model you trust that can be coded as a system of differential equations of the sort that ode15s can integrate, and you want to estimate the parameters of the system. the approach in Parameter Estimation for a System of Differential Equations could work. I also have code that uses the ga (genetic algorithm) function that would make searching the global parameter space easier and more reliable. I will post it if this is the direction you want to proceed.
2 件のコメント
Star Strider
2025 年 8 月 25 日
As always, my pleasure!
I am assuming that you have the input and output data sampled at the same time instants, you have identified an appropriate state space model of it using the idss function (or more likely the idnlarx function), and that you want to estimate the parameters of your system.
Most of the identification functions graphically depict specific inputs to specific outputs. The idnlarx function does not, at lkeast according to the documentation. The documentation on Using Nonlinear ARX Models suggests uding the predict and compare functions with your model. Those might give you the information you want for it.
Otherwise, I would hold all the other inputs constant (with an appropriate value) and vary only the RPM inputs you are interested in, one at a time, to see what the resulting output is, using one of those functions.
My answer assumes that you have the structure of the system that you want to model, expressed as a system of differential equations (the 'A' matrix) and only need to estimate its parameters using a representative set of inputs and outputs with the appropriate other matrices ('B', 'C', and possibly 'D').
.
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Nonlinear ARX Models についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!