MATLAB Answers

0

What is the purpose of Gmin and Gmax value in Hinfinty controller

Asked by AYUSH MITTAL on 17 Dec 2018
Latest activity Commented on by Ayush Mittal on 19 Dec 2018
ncont = 1;
nmeas = 2;
K = ss(zeros(ncont,nmeas,3));
gamma = zeros(3,1);
for i=1:3
i
[K(:,:,i),~,gamma(i)] = hinfsyn(qcaric(:,:,i),nmeas,ncont,'GMAX',inf,'GMIN',5,'METHOD','lmi','DISPLAY','on');
end
gamma;
for this code from active suspension control eventhough i am using Gmin as 5, I am getting these values of gamma =
0.9402
0.6774
1.0306

  0 Comments

Sign in to comment.

Tags

Products


Release

R2017b

1 Answer

Answer by Aquatris
on 17 Dec 2018

From the function page you can find the information you need. I am pasting it here for convenience.
---------------
Performance range for search, specified as a vector of the form [gmin,gmax]. The hinfsyn command tests only performance levels within that range. It returns a controller with performance:
gammagmin, when gmin is achievable
gmin < gamma < gmax, when gmax is achievable and but gmin is not
gamma = Inf when gmax is not achievable. In this case, hinfsyn returns [] for K and CL.
If you know a range of feasible performance levels, specifying this range can speed up computation by reducing the number of iterations performed by hinfsyn to test different performance levels.
---------------
Basically it is not a strict constraint that the controller will results in gamma>= gmin. It is more of a suggestion for the algorithm to speed things up.

  1 Comment

Thank you for your response.
As stated above that It returns a controller with performance: gammagmin, when gmin is achievable. So, is it accurate to say that if it will always give the same value of gamma irrespective of gmin as long as this condition is satisfied.
For example:
gamma= 0.9467
gmin= 1
so now if I increase the value of gmin (e.g. 2,5,10,100), will I still get the same gamma value for all these values of gmin?

Sign in to comment.