varyingGoal
变量优化目标gain-scheduled控制器
描述
当固定或gain-scheduled控制器优化多个设计点(操作条件),您可能需要调整操作条件的优化目标函数,例如,放松性能在一些地区的操作范围。使用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);
使用VG
与systune
当你会使用其他的调优目标。使用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
对象引用页面每个调优目标的属性的列表。
输出参数
VG
——变量优化目标
varyingGoal
对象
变量优化目标,作为一个返回varyingGoal
对象。这个对象捕捉的调优目标及其变化在设计点一个MATLAB函数。使用VG
在一个输入参数systune
就像使用任何TuningGoal
对象。
VG
具有以下特性。
财产 | 描述 |
---|---|
模板 |
不同目标模板,存储为一个函数处理函数的一个或多个参数值变化的操作范围调优。设置此属性的初始值 |
参数 |
优化目标参数在每个设计点,存储单元阵列。单元阵列中的每个条目是一个数值数组包含在每个设计点参数值。例如,对于一个变量的利润率目标模板 FG = FH = @(通用、pm) TuningGoal.Margins (“u”、通用、点);
{通用点} ,在那里通用汽车 和点 是数组包含所需的增益和相位在每个设计点利润。这个属性的初始值设定的输入参数 |
设置 |
属性名称和值适用于不同目标,每个目标实例的存储单元阵列。 默认值: |
SamplingGrid |
设计点,存储为一个结构,其中包含每个样本变量的值的数组。设计点不需要躺在一个矩形网格,可以分散在整个操作范围。数组的大小 关于采样网格的更多信息,请参阅 默认值: |
的名字 |
变量的名称的目标。集 默认值: |
提示
使用
viewGoal
可视化优化目标。对不同优化目标,产生的调优目标的阴谋viewGoal
让你检查每个设计点的优化目标。有关更多信息,请参见验证Gain-Scheduled控制系统。
版本历史
介绍了R2017b
Abrir比如
这种版本modificada德埃斯特比如。害怕Desea abrir埃斯特比如con sus modificaciones吗?
第一de MATLAB
Ha事实clic en联合国围绕此时一个埃斯特第一de MATLAB:
Ejecute el第一introduciendolo en la ventana de第一de MATLAB。洛杉矶navegadores网络没有admiten第一de MATLAB。
你也可以从下面的列表中选择一个网站:
表现最好的网站怎么走吗
选择中国网站(中文或英文)最佳站点的性能。其他MathWorks国家网站不优化的访问你的位置。