2026a

# 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)

# 说明

全信息综合假设控制器可以访问状态向量和干扰信号。hinffi综合是hinffc所包含的全控制问题的对偶问题。对于只有输出测量可用的更一般的输出反馈情况,请使用hinfsyn

K, CL, Gamma = hinffi(P,Ncon) 计算出 H∞ 的最优控制律:

对于系统,由状态空间方程描述:

其中,

  • 代表扰动输入;
  • 代表被控输出。

Ncon 是控制输入信号 的个数,它必须是系统的最后一个输出。增益矩阵使从干扰信号到误差信号的闭环传递函数CL的H∞范数最小。


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)模型

受控系统,指定为LTI模型(例如状态空间模型)。如果是具有不确定或可调控制设计块的广义状态空间模型,则hinffi使用这些元素的标称值或当前值。
构造,使它具有分割的形式

  • 代表扰动输入;
  • 代表被控输出;
  • ncon控制输入是最后的输入。

有关施加在系统矩阵上的条件以及软件如何处理这些条件的信息,请参阅hinfsyn

数据类型: LTISystem

Ncon - 控制输入信号个数
正整数

系统控制输入信号的数量,指定为正整数。hinffi将系统的最后 Ncon 个输入作为控制 ,返回的增益矩阵 有 Ncon 个输出。

数据类型: Integer

GammaTry - 目标性能水平
正标量

目标 H∞ 性能水平,指定为正标量。

hinffi 试图生成一个增益矩阵,使闭环系统 H∞ 性能水平不超过 GammaTry。如果可以达到这一性能水平,则返回 Gamma ≤ GammaTry的增益矩阵。如果 GammaTry 无法达到,则 hinffi 返回一个空矩阵。

数据类型: Real

GammaRange - 目标性能水平的搜寻范围
[0,Inf](默认) | 双元素向量

目标性能水平的搜寻范围,指定为 [gmin, gmax] 形式的双元素向量。hinffi 仅测试该范围内的性能水平,返回的增益矩阵可分为以下三种情况:

  • gamma ≤ gmin(gmin 可以达到);
  • gmin < gamma < gmax(gmax 可以达到而 gmin 达不到);
  • gamma = Inf (gmax 无法达到)。在这种情况下,hinffiKCL 返回[ ]。

如果您知道可行的性能水平范围,那么指定该范围可以减少 hinffi 为测试不同性能级别而执行的迭代次数,从而加快计算速度。

数据类型: Vector

Opts - 选项
HinfSynOptions 类型对象

计算的附加选项,指定为 HinfSynOptions 类型。可用选项包括:

  • 在命令行显示算法进度;
  • 关闭自动缩放和正则化;
  • 指定优化方法。

数据类型: HinfSynOptions

# 输出参数

K - 增益矩阵
矩阵

增益矩阵,作为矩阵对象返回。增益矩阵的维度是Ncon-by-,其中是状态数加上的扰动输入数(不包括在Ncon中的输出)。

如果您指定了 GammaTryGammaRange,但指定的性能值无法实现,那么 K = [ ]

数据类型: Matrix

CL - 系统闭环传递函数
状态空间模型

闭环传递函数,以状态空间模型对象的形式返回。

返回的性能水平 Gamma 即 的 H∞ 范数。

如果您指定了 GammaTry 或 GammaRange,但指定的性能水平无法达到,那么 CL = P

数据类型: StateSpace

Gamma - 闭环性能
非负实数标量

闭环的性能水平,以非负实数标量值或 Inf 的形式返回。该值是H∞ 范数 CL。如果您未指定性能级别来使用 GammaTryGammaRange 进行测试,那么 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.

# 另请参阅

hinfsyn |hinffc