how to set nominal values in model predictive controller using scripts?

5 views (last 30 days)
Hello,
so i have this code, and i need to set nominal values for manipulated variables, however i am keep getting an error,
% Set the nominal values in the controller.
x = [25; 50; 0];
u = [-10; 0; -5];
nlobj.Model.Nominal = ('X',x,'U',u); % the error is for this one;
if i add only the first two lines, will the controller take as nominal values for inputs and states?;
nlobj = nlmpc(3,2,'MV',[1 2 3],'MD',[4 5]);

Answers (1)

Charu
Charu on 3 Feb 2025
Edited: Charu on 3 Feb 2025
Hello Jana,
According to my understanding, you are attempting to set nominal values for the states and manipulated variables of a nonlinear model predictive control- “nlmpc” object in MATLAB. The error encountered is due to the fact that “Nominal” field within “Model” Structure does not exist, assuming you are using MATLAB R2024b.
The fields for “nlobj.Model” are :
nlobj = nlmpc(3,2,'MV',[1 2 3],'MD',[4 5]);
Simply defining the object with these parameters will automatically set nominal values for states or inputs.
Here is the documentation link of the “nlmpc” function for further information:
Hope this helps.

Categories

Find more on Model Predictive Control Toolbox in Help Center and File Exchange

Products


Release

R2024a

Community Treasure Hunt

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

Start Hunting!