我正在使用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);
如果有人能帮助我,我将非常感激。