获得调度H无限控制

时间:2017-11-01 18:57:51

标签: matlab control-theory

我正在使用hinfgs进行增益调度H无限远控制设计,内置于鲁棒控制工具箱中。

当我向hinfgs函数提供多面体模型时,我收到以下错误:

  

使用hinfgs时出错(第46行)
  E矩阵变化时不可用。

即使它不适用于非常简单的参数相关系统,如质量弹簧系统 MATLAB代码如下:

c = 5;
k = 300;
m = [2 8];
Ws=tf([10],[1 10]);
Wk=tf([5],[1 5]);
for i = 1:length(m)
    GP_pollist=[];
    A = [0 1; -k/m(i), -c/m(i)];
    B = [0; -1/m(i)];
    C = [1 0];
    sys(i)= ss(A,B,C,0);
    [ap,bp,cp,dp]=linmod('G_P_mass_spring');
    GP_all_lti{i}=ltisys(ap,bp,cp,dp);
    GP_all{i}=[ap bp;cp dp];
    GP_all_ss{i}=ss(ap,bp,cp,dp);
    GP_pollist=[GP_pollist,GP_all_lti{i}];
end
GP_pol=psys(GP_pollist);
r=[1 1];
[gopt,K_all_hinf,R,S] = hinfgs(GP_pol,r,0,1e-2,1e-2);

如果有人能帮助我,我将非常感激。

0 个答案:

没有答案