Limit on the change rate of the variable in fmincon function

10 views (last 30 days)
Hi,
In fmincon function, how can I put lower and upper bounds on the change rate of a signal, i.e., ?
Thanks
  1 Comment
Matt J
Matt J on 13 Nov 2019
What are the unknown variables in this problem and how is related to them?

Sign in to comment.

Accepted Answer

Matt J
Matt J on 12 Nov 2019
Edited: Matt J on 12 Nov 2019
You would build linear inequality matrices like the following.
E=diff(eye(numel(u)));
A=[E;-E]; b=[ub(:);-lb(:)]; %linear inequality matrices
  21 Comments
Matt J
Matt J on 14 Nov 2019
Edited: Matt J on 14 Nov 2019
It sounds like you're saying that at time u(t), the values of u(t-1) are already known. Then the bounds can be rewritten
lbnew <= u(t) <= ubnew
where lbnew and ubnew are the known bound vectors
ubnew=ub+u(t-1);
lbnew=lb+u(t-1);
They are known since u(t-1) is known. So, you now have plain ordinary bounds on u(t) and there is nothing special about the way you set up the problem.
But I need to emphasize that, if you have an objective f(t,u(t)) at each time t, the approach you are pursuing will not give you the minimum of if that was your goal in all this. There is no way to do that by solving an independent problem at each t.

Sign in to comment.

More Answers (1)

Walter Roberson
Walter Roberson on 13 Nov 2019

Tags

Community Treasure Hunt

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

Start Hunting!