For a Non linear Model predictive control toolbox, how can I give it a mathematical model, which is a subsystem defined in Simulink?
1 回表示 (過去 30 日間)
古いコメントを表示
afaq ahmad
2023 年 10 月 24 日
回答済み: Emmanouil Tzorakoleftherakis
2023 年 10 月 27 日
I am trying to solve a non-linear model predictive control problem using the NMPC block in Simulink. However, the mathematical model of a dynamical system, which is used by MPC for prediction, is a subsystem in Simulink. Moreover, the subsystem further contains some Matlab function blocks and NARX models, as shown in the following figure.
I am attempting to design NMPC from the workspace, and the first step is to define the nlobj as follows:
nx = 1; % no of states
ny = 1; % no of outputs
nu = 2; % no of inputs
nlobj = nlmpc(nx, ny, nu);
However, I dont know how to initialise the following commands, which tell the nlobj about the mathematical model, which in my case is a subsytem in Simulink:
nlobj.Model.OutputFcn = ''; % I tried giving the name of Simulink file, but this doesn't workout
nlobj.Model.StateFcn = '';
0 件のコメント
採用された回答
Emmanouil Tzorakoleftherakis
2023 年 10 月 27 日
Unfortunately, this is currently not supported but our development team is aware of this request. If you don't have an analytical model of the dynamics, a workaround (although more involved) would be to use a data-driven model to approximate the subsystem of interest. This example shows what this would look like.
0 件のコメント
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Model Predictive Control Toolbox についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!