- Are you looking for a single controller that stabilizes all your plants?
- Are you familiar with lqr from the control systems toolbox?
- Are you trying to solve an optimal control problem?
how to design LQR controller with time-variable parameters ?
12 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
shayan taherian
am 8 Feb. 2016
Kommentiert: Thinh Do
am 4 Jun. 2020
hi, i am trying to design LQR controller for a system but one variable for matrix A is changing with time (it is a vector of 10001x1)so the error in matlab is matrix dimension and i heard that interpreted matlab function could be useful but still i have doubts. can anyone help me with this problem?thanks
1 Kommentar
Michael Hubatka
am 10 Feb. 2016
Please state your question more precisely.
Akzeptierte Antwort
Sebastian Castro
am 11 Feb. 2016
Yes, a MATLAB Function block would indeed do the trick. Suppose you make a function:
function output = myLQR(error,param)
Where param is the the value of that one element of A (let's say, A(5,5)) passed in as a time-varying signal to the MATLAB function. So, in the function, you can say something like:
A(5,5) = param;
Then, the command to design an LQR contoller given A and B matrices, and Q/R/N noise covariance matrices, is as follows (or look at the lqr documentation for other ways to call it).
K = lqr(A,B,Q,R,N)
Finally, you want to multiply the resulting K matrix with your error signal, and that's your control law!
output = K*error;
- Sebastian
1 Kommentar
Thinh Do
am 4 Jun. 2020
No it does not, when I use the block, it appears that the function lqr() is not supported in the MATLAB Function block.
Weitere Antworten (0)
Siehe auch
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!