主要内容gydF4y2Ba

tunableGaingydF4y2Ba

可调静态增益块gydF4y2Ba

语法gydF4y2Ba

blk = tunableGain(name,Ny,Nu)gydF4y2Ba
blk = tunableGain(name,G)gydF4y2Ba

描述gydF4y2Ba

用于创建可调静态增益的模型对象。gydF4y2BatunableGaingydF4y2Ba让您参数化可调静态增益参数研究或自动调优与调优命令,如gydF4y2BasystunegydF4y2Ba或gydF4y2BalooptunegydF4y2Ba.gydF4y2Ba

tunableGaingydF4y2Ba是gydF4y2Ba控制设计模块gydF4y2Ba参数模型族。其他控制设计块包括gydF4y2BatunablePIDgydF4y2Ba,gydF4y2Ba可调参数gydF4y2Ba,gydF4y2BatunableTFgydF4y2Ba.gydF4y2Ba

建设gydF4y2Ba

黑色gydF4y2Ba= tunableGain (gydF4y2Ba的名字gydF4y2Ba,gydF4y2Ba纽约gydF4y2Ba,gydF4y2BaνgydF4y2Ba)gydF4y2Ba创建名为的参数静态增益块gydF4y2Ba的名字gydF4y2Ba.这个方块有gydF4y2Ba纽约gydF4y2Ba输出和gydF4y2BaνgydF4y2Ba输入。可调参数是每一个的增益gydF4y2Ba纽约gydF4y2Ba——- - - - - -gydF4y2BaνgydF4y2BaI / O通道。gydF4y2Ba

黑色gydF4y2Ba= tunableGain (gydF4y2Ba的名字gydF4y2Ba,gydF4y2BaGgydF4y2Ba)gydF4y2Ba使用双数组gydF4y2BaGgydF4y2Ba对块进行尺寸调整并初始化可调参数。gydF4y2Ba

输入参数gydF4y2Ba

的名字gydF4y2Ba

块gydF4y2Ba的名字gydF4y2Ba,指定为字符向量,例如gydF4y2Ba“K”gydF4y2Ba或gydF4y2Ba“gain1”gydF4y2Ba.(见gydF4y2Ba属性gydF4y2Ba.)gydF4y2Ba

纽约gydF4y2Ba

非负整数,指定参数静态增益块的输出数gydF4y2Ba黑色gydF4y2Ba.gydF4y2Ba

νgydF4y2Ba

非负整数,指定参数静态增益块的输入数gydF4y2Ba黑色gydF4y2Ba.gydF4y2Ba

GgydF4y2Ba

静态增益值的双数组。的行数和列数gydF4y2BaGgydF4y2Ba确定输入和输出的数量gydF4y2Ba黑色gydF4y2Ba.条目gydF4y2BaGgydF4y2Ba是参数增益块参数的初始值。gydF4y2Ba

属性gydF4y2Ba

获得gydF4y2Ba

可调增益的参数化。gydF4y2Ba

黑色。获得gydF4y2Ba是一个gydF4y2Ba参数。连续gydF4y2Ba对象。属性的一般信息gydF4y2Ba参数。连续gydF4y2Ba(金宝appSimulink设计优化)gydF4y2Ba对象gydF4y2Ba黑色。获得gydF4y2Ba,请参阅gydF4y2Ba参数。连续gydF4y2Ba对象引用页。gydF4y2Ba

以下是gydF4y2Ba黑色。获得gydF4y2Ba在调优时使用gydF4y2Ba黑色gydF4y2Ba使用gydF4y2BahinfstructgydF4y2Ba:gydF4y2Ba

场gydF4y2Ba 描述gydF4y2Ba
价值gydF4y2Ba

增益矩阵的当前值。对于一个街区来说gydF4y2Ba纽约gydF4y2Ba输出和gydF4y2BaνgydF4y2Ba输入,gydF4y2Bablk.Gain.ValuegydF4y2Ba是一个gydF4y2Ba纽约gydF4y2Ba——- - - - - -gydF4y2BaνgydF4y2Ba矩阵。gydF4y2Ba

如果你使用gydF4y2BaGgydF4y2Ba要创建的输入参数gydF4y2Ba黑色gydF4y2Ba,gydF4y2Bablk.Gain.ValuegydF4y2Ba的值初始化gydF4y2BaGgydF4y2Ba.否则,的所有项gydF4y2Bablk.Gain.ValuegydF4y2Ba初始化为零。gydF4y2Ba

hinfstructgydF4y2Ba(鲁棒控制工具箱)gydF4y2Ba调优所有条目gydF4y2Bablk.Gain.ValuegydF4y2Ba除了那些价值观由gydF4y2Bablk.Gain.FreegydF4y2Ba.gydF4y2Ba

默认值:零值数组gydF4y2Ba

免费的gydF4y2Ba

数组的逻辑值决定是否增益条目gydF4y2Bablk.Gain.ValuegydF4y2Ba是固定参数或自由参数。gydF4y2Ba

  • 如果gydF4y2Bablk.Gain.Free(i,j) = 1gydF4y2Ba,然后gydF4y2Bablk.Gain.Value (i, j)gydF4y2Ba是可调参数。gydF4y2Ba

  • 如果gydF4y2Bablk.Gain.Free(i,j) = 0gydF4y2Ba,然后gydF4y2Bablk.Gain.Value (i, j)gydF4y2Ba是固定的。gydF4y2Ba

默认值:数组为1 (gydF4y2Ba真正的gydF4y2Ba)值gydF4y2Ba

最低gydF4y2Ba

参数的最小值。此属性为参数的调优值设置了一个下界。例如,设置gydF4y2Bablock . gain . minimum = 1gydF4y2Ba确保增益矩阵中的所有项都有大于1的增益。gydF4y2Ba

默认值:gydF4y2Ba负gydF4y2Ba

最大gydF4y2Ba

该参数的最大值。此属性为参数的调优值设置了一个上界。例如,设置gydF4y2Bablock . gain . maximum = 100gydF4y2Ba确保增益矩阵中的所有条目的增益都小于100。gydF4y2Ba

默认值:gydF4y2Ba正gydF4y2Ba

TsgydF4y2Ba

样品时间。对于连续时间模型,gydF4y2BaTs = 0gydF4y2Ba.对于离散时间模型,gydF4y2BaTsgydF4y2Ba表示采样周期的正标量。属性指定的单位表示此值gydF4y2BaTimeUnitgydF4y2Ba模型的属性。要表示一个不指定采样时间的离散时间模型,请设置gydF4y2BaTs = -1gydF4y2Ba.gydF4y2Ba

更改此属性不会对模型进行离散化或重新采样。gydF4y2Ba

默认值:gydF4y2Ba0gydF4y2Ba(持续时间)gydF4y2Ba

TimeUnitgydF4y2Ba

时间变量的单位是采样时间gydF4y2BaTsgydF4y2Ba,以及模型中的任何时间延迟,指定为以下值之一:gydF4y2Ba

  • “纳秒”gydF4y2Ba

  • 微秒的gydF4y2Ba

  • 的毫秒gydF4y2Ba

  • “秒”gydF4y2Ba

  • “分钟”gydF4y2Ba

  • “小时”gydF4y2Ba

  • “天”gydF4y2Ba

  • “周”gydF4y2Ba

  • “月”gydF4y2Ba

  • “年”gydF4y2Ba

更改此属性不会对其他属性产生影响,因此会改变整个系统行为。使用gydF4y2BachgTimeUnitgydF4y2Ba在时间单位之间转换而不修改系统行为。gydF4y2Ba

默认值:gydF4y2Ba“秒”gydF4y2Ba

InputNamegydF4y2Ba

输入通道名称,指定为以下之一:gydF4y2Ba

  • 字符向量——例如,对于单输入模型,gydF4y2Ba“控制”gydF4y2Ba.gydF4y2Ba

  • 字符向量的单元数组-用于多输入模型。gydF4y2Ba

或者,使用自动向量展开为多输入模型分配输入名称。例如,如果gydF4y2BasysgydF4y2Ba是一个双输入模型,输入:gydF4y2Ba

sys。InputName = 'controls';gydF4y2Ba

输入名称自动展开为gydF4y2Ba{“控制(1)”,“控制”(2)}gydF4y2Ba.gydF4y2Ba

你可以用速记法gydF4y2BaugydF4y2Ba请参阅gydF4y2BaInputNamegydF4y2Ba财产。例如,gydF4y2Basys.ugydF4y2Ba等于gydF4y2Basys。InputNamegydF4y2Ba.gydF4y2Ba

输入通道名有几种用途,包括:gydF4y2Ba

  • 识别模型显示和图上的通道gydF4y2Ba

  • 提取MIMO系统的子系统gydF4y2Ba

  • 在连接模型时指定连接点gydF4y2Ba

默认值:gydF4y2Ba''gydF4y2Ba对于所有输入通道gydF4y2Ba

InputUnitgydF4y2Ba

输入通道单位,指定为下列之一:gydF4y2Ba

  • 字符向量——例如,对于单输入模型,gydF4y2Ba“秒”gydF4y2Ba.gydF4y2Ba

  • 字符向量的单元数组-用于多输入模型。gydF4y2Ba

使用gydF4y2BaInputUnitgydF4y2Ba跟踪输入信号单位。gydF4y2BaInputUnitgydF4y2Ba对系统行为没有影响。gydF4y2Ba

默认值:gydF4y2Ba''gydF4y2Ba对于所有输入通道gydF4y2Ba

InputGroupgydF4y2Ba

输入通道组。的gydF4y2BaInputGroupgydF4y2Ba属性允许您将MIMO系统的输入通道分配到组中,并通过名称引用每个组。将输入组指定为结构。在这个结构中,字段名是组名,字段值是属于每个组的输入通道。例如:gydF4y2Ba

sys.InputGroup.controls = [1 2];sys.InputGroup.noise = [3 5];gydF4y2Ba

创建命名为gydF4y2Ba控制gydF4y2Ba而且gydF4y2Ba噪音gydF4y2Ba分别包括输入通道1、2和3、5。然后,您可以从gydF4y2Ba控制gydF4y2Ba输入到所有输出使用:gydF4y2Ba

sys(:,“控制”)gydF4y2Ba

默认值:gydF4y2Ba结构,不带字段gydF4y2Ba

OutputNamegydF4y2Ba

输出通道名称,指定为以下之一:gydF4y2Ba

  • 字符矢量-用于单输出模型。例如,gydF4y2Ba“测量”gydF4y2Ba.gydF4y2Ba

  • 字符向量的单元数组-用于多输出模型。gydF4y2Ba

或者,使用自动向量展开为多输出模型分配输出名称。例如,如果gydF4y2BasysgydF4y2Ba是一个双输出模型,输入:gydF4y2Ba

sys。OutputName = 'measurements';gydF4y2Ba

输出名称自动展开为gydF4y2Ba{“测量(1)”,“测量”(2)}gydF4y2Ba.gydF4y2Ba

你可以用速记法gydF4y2BaygydF4y2Ba请参阅gydF4y2BaOutputNamegydF4y2Ba财产。例如,gydF4y2Basys.ygydF4y2Ba等于gydF4y2Basys。OutputNamegydF4y2Ba.gydF4y2Ba

输出通道名有几种用途,包括:gydF4y2Ba

  • 识别模型显示和图上的通道gydF4y2Ba

  • 提取MIMO系统的子系统gydF4y2Ba

  • 在连接模型时指定连接点gydF4y2Ba

默认值:gydF4y2Ba''gydF4y2Ba对于所有输出通道gydF4y2Ba

OutputUnitgydF4y2Ba

输出通道单位,指定为下列之一:gydF4y2Ba

  • 字符矢量-用于单输出模型。例如,gydF4y2Ba“秒”gydF4y2Ba.gydF4y2Ba

  • 字符向量的单元数组-用于多输出模型。gydF4y2Ba

使用gydF4y2BaOutputUnitgydF4y2Ba跟踪输出信号单元。gydF4y2BaOutputUnitgydF4y2Ba对系统行为没有影响。gydF4y2Ba

默认值:gydF4y2Ba''gydF4y2Ba对于所有输出通道gydF4y2Ba

OutputGroupgydF4y2Ba

输出通道组。的gydF4y2BaOutputGroupgydF4y2Ba属性允许您将MIMO系统的输出通道分配到组中,并通过名称引用每个组。将输出组指定为结构。在这个结构中,字段名是组名,字段值是属于每个组的输出通道。例如:gydF4y2Ba

sys.OutputGroup.temperature = [1];sys.InputGroup.measurement = [3 5];gydF4y2Ba

创建命名为gydF4y2Ba温度gydF4y2Ba而且gydF4y2Ba测量gydF4y2Ba分别包括输出通道1、3,5。的所有输入中提取子系统gydF4y2Ba测量gydF4y2Ba输出使用:gydF4y2Ba

系统(“测量”,:)gydF4y2Ba

默认值:gydF4y2Ba结构,不带字段gydF4y2Ba

的名字gydF4y2Ba

系统名称,指定为字符向量。例如,gydF4y2Ba“system_1”gydF4y2Ba.gydF4y2Ba

默认值:gydF4y2Ba''gydF4y2Ba

笔记gydF4y2Ba

希望与系统关联的任何文本,存储为字符串或字符向量的单元格数组。属性存储您提供的任何数据类型。例如,如果gydF4y2Basys1gydF4y2Ba而且gydF4y2Basys2gydF4y2Ba系统模型都是动态的,你可以自己设置吗gydF4y2Ba笔记gydF4y2Ba属性如下:gydF4y2Ba

sys1。笔记=sys1有一个字符串。gydF4y2Ba;sys2。笔记=sys2有一个字符向量gydF4y2Ba;sys1。笔记sys2。笔记gydF4y2Ba
Ans = "sys1有一个字符串" Ans = " sys2有一个字符向量"gydF4y2Ba

默认值:gydF4y2Ba(0×1的字符串)gydF4y2Ba

用户数据gydF4y2Ba

您希望与系统关联的任何类型的数据,指定为任何MATLABgydF4y2Ba®gydF4y2Ba数据类型。gydF4y2Ba

默认值:gydF4y2Ba[]gydF4y2Ba

例子gydF4y2Ba

创建表单的2 × 2参数增益块gydF4y2Ba

[gydF4y2Ba ggydF4y2Ba 1gydF4y2Ba 0gydF4y2Ba 0gydF4y2Ba ggydF4y2Ba 2gydF4y2Ba ]gydF4y2Ba

在哪里gydF4y2BaggydF4y2Ba1gydF4y2Ba而且gydF4y2BaggydF4y2Ba2gydF4y2Ba为可调参数,非对角线元素被固定为零。gydF4y2Ba

blk = tunableGain('gainblock',2,2);% 2输出,2输入空白。gain . free = [10 0;0 1];将非对角线的项固定为零gydF4y2Ba

所有条目gydF4y2Bablk.Gain.ValuegydF4y2Ba初始化为零。将对角线的值初始化为1,如下所示。gydF4y2Ba

blk.Gain.Value = eye(2);%设置对角线为1gydF4y2Ba

创建一个两输入三输出参数增益块,并将所有参数值初始化为1。gydF4y2Ba

为此,创建一个矩阵来对参数增益块进行维数并初始化参数值。gydF4y2Ba

G = ones(3,2);blk = tunableGain('gainblock',G);gydF4y2Ba

创建一个2 × 2参数增益块,并为输入分配名称。gydF4y2Ba

blk = tunableGain('gainblock',2,2) % 2输出,2输入blk。InputName = {'Xerror','Yerror'} %分配输入名称gydF4y2Ba

提示gydF4y2Ba

  • 使用gydF4y2Bablk.Gain.FreegydF4y2Ba领域的gydF4y2Ba黑色gydF4y2Ba指定额外的结构或修复块中特定项的值。来固定输入的增益值gydF4y2Ba我gydF4y2Ba输出gydF4y2BajgydF4y2Ba,设置gydF4y2Bablk.Gain.Free(i,j) = 0gydF4y2Ba.允许gydF4y2BahinfstructgydF4y2Ba若要调优此增益值,请设置gydF4y2Bablk.Gain.Free(i,j) = 1gydF4y2Ba.gydF4y2Ba

  • 要转换gydF4y2BatunableGaingydF4y2Ba参数化模型到数值(不可调)模型对象,使用模型命令,如gydF4y2Ba特遣部队gydF4y2Ba,gydF4y2BazpkgydF4y2Ba,或gydF4y2Ba党卫军gydF4y2Ba.gydF4y2Ba

兼容性的考虑gydF4y2Ba

全部展开gydF4y2Ba

R2016a的行为发生了变化gydF4y2Ba

另请参阅gydF4y2Ba

|gydF4y2Ba|gydF4y2Ba|gydF4y2Ba|gydF4y2Ba|gydF4y2Ba|gydF4y2Ba|gydF4y2Ba(鲁棒控制工具箱)gydF4y2Ba

在R2016a中引入gydF4y2Ba