主要内容

varyingGoal

变量优化目标gain-scheduled控制器

描述

当固定或gain-scheduled控制器优化多个设计点(操作条件),您可能需要调整操作条件的优化目标函数,例如,放松性能在一些地区的操作范围。使用varyingGoal隐式或显式地构建优化目标,取决于设计点。

例子

VG= varyingGoal (跳频,票面价值1,票面价值2、……)指定一个不同的目标使用一个模板和套goal-parameter值。模板跳频指定一个函数是一个函数处理,TG =跳频(p1, p2,…)评估的TuningGoal对象。数组par1, par2,…指定的值调优目标参数p1, p2,……在每个设计点。使用VG您将使用任何TuningGoal对象在一个输入systune

例子

VG= varyingGoal (___,名称,值)配置附加属性的优化目标。

例子

全部折叠

创建一个指定的调优目标可变增益和相位的利润率在一个网格的设计点。

假设您使用以下5-by-5网格优化您的控制器的设计点。

(α,V) = ndgrid (linspace(0, 20日5),linspace (700、1300、5));

进一步假设您有5-by-5阵列目标获得的利润和利润率目标相对应的每个设计点,如以下。

(通用、PM) = ndgrid (linspace(7日20日5),linspace (70 5));

执行指定的利润率在每个设计点,首先创建一个模板的利润率目标。模板是一个函数,并返回一个增益和相位裕度值TuningGoal.Margins对象与利润。

跳频= @(通用、pm) TuningGoal.Margins (“u”、通用、点);

使用模板和保证金数组创建不同的目标。

VG = varyingGoal (FH、通用、点);

更容易跟踪目标适用于设计点,使用SamplingGrid属性附加设计点信息VG

VG。年代一个mplingGrid = struct(“α”α,“V”,V);

使用VGsystune当你会使用其他的调优目标。使用viewGoal可视化优化目标和确定设计点,不能满足目标利润率。

创建一个指定了一个循环的优化目标的形状随一个调度变量,一个

假设您想要指定一个循环交叉频率,不同的形状2 *三个设计点。执行这个要求,首先创建一个模板loop-shape目标。模板是一个函数,它接受一个数字标量输入参数,并返回一个TuningGoal.LoopShape对象。必须标量函数的输入,所以函数构造线性时不变模型代表循环的形状。

一个= (5、10、15);s =特遣部队(“年代”);跳频= @ (A) TuningGoal.LoopShape (“u”,2 * A / s);

在这里,“u”是一个分析的系统,你想要的位置施加loop-shape需求。

使用模板和数组来创建不同的目标。

VG = varyingGoal(跳频);

附上设计点信息VG

VG。年代一个mplingGrid = struct(“一个”,);

现在每个值一个与一个优化目标,执行相应的循环的形状。例如,确认第三项一个,= 15,与第三环形状,30 /秒

LS3 = getGoal (VG,“指数”3);特遣部队(LS3.LoopGain)
ans = 30年代连续时间传递函数。

创建一个指定的调优目标可变增益和相位的利润率在一个网格的设计点。配置调优的目标是评估一个循环打开位置“罗”和之间的频率范围仅适用于1和100 rad / s。

指定设计的网格点和相应的目标网格获得利润和利润阶段。同时,创建的模板函数不同的利润目标。

(α,V) = ndgrid (linspace(0, 20日5),linspace (700、1300、5));(通用、PM) = ndgrid (linspace(7日20日5),linspace (70 5));跳频= @(通用、pm) TuningGoal.Margins (“u”、通用、点);

使用模板函数和边际数组创建不同的目标。此外,使用名称,值对指定:

  • 的位置打开循环评估调优目标(开口属性)。

  • 适用的频率范围不同的目标(焦点属性)。

您指定的属性名和值存储在底层的优化目标设置属性的不同目标。

VG = varyingGoal (FH、通用点,“开口”,“罗”,“焦点”[1100])
VG = varyingGoal属性:模板:@(通用、pm) TuningGoal.Margins (“u”,通用、pm)参数:{[5 x5双][5 x5双]}设置:{“空缺”“LO”“焦点”[100]}SamplingGrid: [1 x1 struct]的名字:“变量优化的目标代理的5 x5网格(通用、pm)值。

更容易跟踪目标适用于设计点,使用SamplingGrid属性附加设计点信息VG

VG。年代一个mplingGrid = struct(“α”α,“V”,V);

输入参数

全部折叠

模板不同目标,指定为一个函数处理。跳频指定一个或多个参数的函数的一个评估TuningGoal对象。例如,假设你想限制从一个输入阶跃响应的超调r一个输出y在你的系统,你想让约束不同不同的设计点。作为一个函数,返回一个指定模板TuningGoal.Overshoot对象。例如,您可以指定跳频作为一个匿名函数

跳频= @ (os) TuningGoal.Overshoot (“r”,“y”、操作系统);

因为TuningGoal.Overshoot只有一个参数除了输入和输出信号,跳频是一个处理函数的一个参数。对于其他调优目标,使用多个参数。例如,TuningGoal.Margins有两个参数,增益裕度和相位。因此,对于一个变量利润目标,跳频有两个参数。

跳频= @(通用、pm) TuningGoal.Margins (“u”、通用、点);

模板函数在构造设计目标提供了很大的灵活性。例如,您可以编写一个函数,goalspec (a, b),构造优化目标的规范作为一个重要的参数的函数(a, b),并保存在MATLAB函数®文件。你的模板函数调用goalspec如下。

跳频= @ (a, b) TuningGoal.Margins (“u”goalspec (a, b));

同样,如果调优目标参数不适合数字数组,您可以使用设计点指数作为输入跳频。例如,假设增益和相位裕度的数据存储在一个结构体数组,年代,与字段通用汽车,你可以使用以下。

跳频= @ (idx) TuningGoal.Margins (“u”,(idx) .GM年代”(idx) . pm);

idx是一个绝对指数设计的网格点。

调优目标参数,指定为一个数值数组相同的维度模型数组用于gain-scheduled调优。提供一个数组中的每个参数调优目标,在数组中的每一项都是你想要的参数值应用到相应的设计点。例如,TuningGoal.Overshoot目标只有一个参数,最大超调。因此,指定参数如下。

= osvals相当;

osvals是一个过度数组值在每个设计点执行。

TuningGoal.Margins目标有两个参数,增益裕度和相位。因此,对于一个变量利润目标,指定的参数如下:

par1 =通用;par2 =点;

在这里,通用汽车是一个增益裕度值和数组是一个数组允许相位失真值在每个设计点执行。

使变量调优目标活动在一个特定的设计点,设置相应的条目票面价值数组(或数组)

名称-值参数

指定可选的双参数作为Name1 = Value1,…,以=家,在那里的名字参数名称和吗价值相应的价值。名称-值参数必须出现在其他参数,但对的顺序无关紧要。

R2021a之前,用逗号来分隔每一个名称和值,并附上的名字在报价。

使用名称,值对指定属性的优化目标。例如,假设您希望创建一个不同的增益目标指定一个变量增益点之间“L”“V”。你还想执行目标只有在频带[0π/ Ts],一个循环打开一个分析点标记远核圈。你使用名称,值对指定这些属性的获得目标。

跳频= @ (w) TuningGoal.Gain (“F”,“V”特遣部队(w w [1]));wdata VG = varyingGoal(跳频,“焦点”[0π/ Ts],“开口”,“远核圈”);

哪些属性可以设置取决于哪的TuningGoal你的函数对象跳频评估。例如,对于大多数不同优化目标,您可以设置属性等开口,模型,焦点。为一个变量TuningGoal.Gain目标,你也可以使用名称,值双等设置属性稳定,InputScaling,OutputScaling。看个人TuningGoal对象引用页面每个调优目标的属性的列表。

输出参数

全部折叠

变量优化目标,作为一个返回varyingGoal对象。这个对象捕捉的调优目标及其变化在设计点一个MATLAB函数。使用VG在一个输入参数systune就像使用任何TuningGoal对象。

VG具有以下特性。

财产 描述
模板

不同目标模板,存储为一个函数处理函数的一个或多个参数值变化的操作范围调优。设置此属性的初始值跳频输入参数。

参数

优化目标参数在每个设计点,存储单元阵列。单元阵列中的每个条目是一个数值数组包含在每个设计点参数值。例如,对于一个变量的利润率目标模板

FG = FH = @(通用、pm) TuningGoal.Margins (“u”、通用、点);
此属性的值{通用点},在那里通用汽车是数组包含所需的增益和相位在每个设计点利润。

这个属性的初始值设定的输入参数par1, par2,…

设置

属性名称和值适用于不同目标,每个目标实例的存储单元阵列。

默认值:{}

SamplingGrid

设计点,存储为一个结构,其中包含每个样本变量的值的数组。设计点不需要躺在一个矩形网格,可以分散在整个操作范围。数组的大小SamplingGrid参数属性必须匹配。

关于采样网格的更多信息,请参阅SamplingGrid属性描述的党卫军参考页面。

默认值:结构体没有字段

的名字

变量的名称的目标。集的名字一个字符串标签的目标。

默认值:

提示

  • 使用viewGoal可视化优化目标。对不同优化目标,产生的调优目标的阴谋viewGoal让你检查每个设计点的优化目标。有关更多信息,请参见验证Gain-Scheduled控制系统

版本历史

介绍了R2017b