主要内容

getgoal

评估指定设计点的可变调整目标

描述

在为多个操作条件调整控制器时,变化的目标使您可以根据设计点的函数调整调整目标。采用getgoal评估特定设计点或采样变量的特定值的变量目标。

TG= getgoal(VG,'指数',k返回有效的调整目标k设计点。绝对索引k相对于参数值的数组参数不同目标的财产VG。如果您已指定VG.SmplingGrid, 然后k相对于该属性中设计点的网格。

例子

TG= getgoal(VG,'指数',k1,k2,...))返回与坐标的设计点处的有效调整目标(K1,K2,...)。这些坐标是多维阵列中的索引VG.参数VG.SmplingGrid。当您的设计网格包含多个调度变量时,此语法很有用。

例子

TG= getgoal(VG,'价值',X1,X2,...))返回在设计点的有效调整目标,该设计点的调度可变值为(x1,x2,...)。仅当您在VG.SmplingGrid。例如,如果VG.SmplingGrid指定设计点网格(a,b), 然后tg = getGoal(VG,'value',-1,3)在设计点返回调整目标(a,b)=(-1,3)。如果(x1,x2,...)不匹配任何点VG.SmplingGrid, 然后getgoal从相对意义上返回最近点。

例子

全部收缩

假设您使用以下5 x 5秒的设计点来调整控制器。

[alpha,v] = ndgrid(linspace(0,20,5),linspace(700,1300,5));

创建一个可变的调整目标,该目标指定点数的增益和相位边距'U'在设计点的网格上有所不同。

[gm,pm] = ndgrid(linspace(7,20,5),linspace(45,70,5));fh = @(gm,pm)tuninggoal.margins('U',GM,PM);VG = VaryingGoal(FH,GM,PM);

使用网格指定采样格里德财产的VG

vg.samplinggrid = struct(struct('α',α,'v',v);

评估此变量设计目标(alpha,v)=(5,1150)。这一点是第二点α价值和第四v价值,因此您可以将变化的目标使用(K1,K2)=(2,4)

tgi = getGoal(VG,'指数',2,4);

因为你有特定的(Alpha,V)您想要调整目标的值,您可以使用这些值而不是索引。

tgv = getgoal(VG,'价值',5,1150)
TGV =带有属性的边距:Gainmargin:10.2500 Phasemargin:63.7500 Scalingorder:0焦点:[0 INF]位置:{'U'}型号:17开口:{0x1 Cell}名称:'''''

输入参数

全部收缩

不同的调整目标,指定为变化的目标目的。VG捕获调谐目标在设计点网格上的变化,以进行增益安排的调整(请参阅TunablesUrface)。

索引到设计点网格,指定为整数。您可以提供一个整数索引,k或多个索引K1,K2,...

如果您提供一个索引,k, 然后getgoal零食k作为直线索引到参数阵列的VG.参数或结构VG.SmplingGrid指定设计点。

  • 如果VG在1D采样网格(一个调度变量)上不同,然后tg = getGoal(VG,'索引',k)返回调整目标k进入VG.参数

  • 如果VG在两个或多个调度变量上有所不同,然后tg = getGoal(VG,'索引',k)返回k在该网格中进入,由线性索引确定。(看数组索引

如果您提供多个索引,K1,K2,..., 然后getgoal将它们视为索引中的多维阵列VG.参数或者VG.SmplingGrid

设计点的可变值,指定为标量。使用输入x1,x2,...,为特定的一组调度变量值获得调整目标。提供与系统中的计划变量一样多的值。例如,如果操作条件由两个调度变量描述(a,b),然后使用(x1,x2)指定(a,b)您要提取调整目标的价值。

输出参数

全部收缩

在指定的设计点进行调整目标,返回Tuninggoal目的。如果任何调谐目标参数是在指定的设计点,然后tg = []。(看变化的目标)。

在R2017b中引入