Mixsyn returns empty controller without error

8 views (last 30 days)
Hey friends, I already asked this question in a similar thread but nobody seemed to notice it. My problem is that the mixsyn method of the robust control toolbox won't return any results, while at the same time not showing any error messages. I have a system matrix G with a lot of zero-entries and the non-zero entries all of the form
G(i,j) = +-k/s^2
or
G(i,j) = +-k/s^4.
The system is observable and controllable. I shift the 0-poles by -.001 in order to fulfill the necessary conditions to use the mixsyn function. This works fine if I try it for single transfer functions (I just pick one from my transfer matrix). But as soon as I plug in my whole transfer matrix G, the code will run and afterwards return an empty controller
K = []
without any explanation or error message. What am I doing wrong? Here's some code that reproduces the problem:
s = tf('s');
% Weighting Functions
W1= 0.1 * (s+100)/(100*s+1) .* eye(6);
W2 = 10 * eye(4);
W3 = [];
% Actual System
G0 = [0,318.3/s^2,0,0;0,0,318.3/s^2,0;0,0,0,848.8/s^2;0,0,-3270/s^4,0;0,3270/s^4,0,0;-10/s^2,0,0,0];
% Tweaked System
G = [0,318.3/(s^2+0.002*s+1e-06),0,0;0,0,318.3/(s^2+0.002*s+1e-06),0;0,0,0,848.8/(s^2+0.002*s+1e-06);0,0,-3270/(s^4 + 0.004*s^3 + 6e-06*s^2 + 4e-09*s + 1e-12),0;0,3270/(s^4 + 0.004*s^3 + 6e-06*s^2 + 4e-09*s + 1e-12),0,0;-10/(s^2+0.002*s+1e-06),0,0,0];
% Mixed Sensitivity
[K,CL,GAM,INFO] = mixsyn(G, W1, W2, W3)
I'm pretty sure that I'm missing something here, but I'm out of ideas. I've tried a lot of weighting functions, but none of them work. Any help would be greatly appreciated!

Answers (1)

Mümtazcan
Mümtazcan on 19 Jul 2016
Hello, I am having the same problem; have you ever solved it?
  1 Comment
Usman Kabir
Usman Kabir on 29 Apr 2018
Dimensions of your matrices are not correct. Use edit function and troubleshoot the function file

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!