![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1726056/image.png)
Can we change the Constraints in MPC ?
34 views (last 30 days)
Show older comments
Hello,
I'm using the Online feature of mpc block .i.e varying the MV constraints with simulation time.
Is it posible to change the inequality of the constraints in mpc block in matlab/simulink?
For example:
If ECR values (V) is 0 and scale factor is 1, then
default constraint is : u_min <= u <= u_max
and I would like to change to : u_min < u < u_max
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1726006/image.png)
0 Comments
Answers (1)
Sam Chak
on 2 Jul 2024 at 10:52
Hi @Kripanshu
If you wish to define the bounds on the manipulated variable, u, such that
, can you accept the following workaround?
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1726056/image.png)
umin = -1; % lower bound
umax = 1; % upper bound
delta = 0.0001; % user-defined, ideally should be eps(1) for double precision
MV = struct(Min = umin+delta, Max = umax-delta)
4 Comments
Sam Chak
on 3 Jul 2024 at 6:21
Hi @Kripanshu
I'm not familiar with the specifics of your MPC implementation. When you mentioned performing iterations on the delta to get an optimum value according to the system model and adding other blocks like switches to make it work, this sounds more like an optimization problem rather than a generic MPC problem.
See Also
Categories
Find more on Controller Creation in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!