# hinffi
全信息 H∞ 综合
函数库: TyRobustControl
# 语法
K,CL,Gamma = hinffi(P,Ncon)
K,CL,Gamma = hinffi(P,Ncon,GammaTry)
K,CL,Gamma = hinffi(P,Ncon,GammaRange)
K,CL,Gamma = hinffi(___,Opts)
# 说明
全信息综合假设控制器可以访问状态向量
K, CL, Gamma = hinffi(P,Ncon) 计算出 H∞ 的最优控制律:
对于系统
其中,
代表扰动输入; 代表被控输出。
Ncon 是控制输入信号
K, CL, Gamma = hinffi(P,Ncon,GammaTry) 计算目标性能水平 GammaTry 的增益矩阵。当可实现的最佳性能优于您的应用程序所需时,指定 GammaTry 会非常有用。在这种情况下,非最优解决方案可能具有较小的增益,并且在数值上更符合条件。如果GammaTry无法实现,hinffi对于K和CL返回[ ],对于Gamma返回Inf。
K, CL, Gamma = hinffi(P,Ncon,GammaRange) 在 GammaRange 范围内搜索控制器的最佳性能水平。GammaRange 指定为 [gmin, gmax] 形式的向量。限制搜索范围可以通过减少为测试不同性能级别而执行的选代次数来加快计算速度。
K, CL, Gamma = hinffi(___,Opts) 指定额外的计算选项。要创建选项,请使用 hinfsynOptions。在所有其他输入参数之后指定选项。
# 输入参数
P - 受控系统
线性时不变(LTI)模型
Ncon - 控制输入信号个数
正整数
系统控制输入信号的数量,指定为正整数。hinffi将系统的最后 Ncon 个输入作为控制
数据类型: Integer
GammaTry - 目标性能水平
正标量
目标 H∞ 性能水平,指定为正标量。
hinffi 试图生成一个增益矩阵,使闭环系统 H∞ 性能水平不超过 GammaTry。如果可以达到这一性能水平,则返回 Gamma ≤ GammaTry的增益矩阵。如果 GammaTry 无法达到,则 hinffi 返回一个空矩阵。
数据类型: Real
GammaRange - 目标性能水平的搜寻范围
[0,Inf](默认) | 双元素向量
Opts - 选项
HinfSynOptions 类型对象
计算的附加选项,指定为 HinfSynOptions 类型。可用选项包括:
- 在命令行显示算法进度;
- 关闭自动缩放和正则化;
- 指定优化方法。
数据类型: HinfSynOptions
# 输出参数
K - 增益矩阵
矩阵
增益矩阵,作为矩阵对象返回。增益矩阵的维度是Ncon-by-
如果您指定了 GammaTry 或 GammaRange,但指定的性能值无法实现,那么 K = [ ] 。
数据类型: Matrix
CL - 系统闭环传递函数
状态空间模型
闭环传递函数,以状态空间模型对象的形式返回。
返回的性能水平 Gamma 即
如果您指定了 GammaTry 或 GammaRange,但指定的性能水平无法达到,那么 CL = P。
数据类型: StateSpace
Gamma - 闭环性能
非负实数标量
闭环的性能水平,以非负实数标量值或 Inf 的形式返回。该值是H∞ 范数 CL。如果您未指定性能级别来使用 GammaTry 或 GammaRange 进行测试,那么 Gamma 就是可达到的最佳性能水平。
如果您指定了 GammaTry 或 GammaRange,那么 Gamma 就是增益矩阵达到的实际性能水平,是根据 hinffc 尝试的最佳通过性能级别计算得出的。如果无法达到 GammaTry 或 GammaRange 代表的性能水平,则 Gamma = Inf。
数据类型: Real
# 参考文献
[1]. Doyle, J.C., K. Glover, P. Khargonekar, and B. Francis. "State-space solutions to standard H2 and H∞ control problems." IEEE Transactions on Automatic Control, Vol 34, Number 8, , August 1989, pp. 831–847.