当调整的增益调度的控制系统中,有时是有用的执行在设计网格的不同点不同的设计需求。例如,您可能希望:
指定显式或隐式地依赖于设计点的具有可变调谐目标。
在设计点的子集强制执行调整的目标,但在其他设计要点忽略它。
从一个特定的运行排除一个设计点systune
,但保留其分析或其他调整操作。
消除设计和分析的各个阶段的设计要点。
有几种方法来定义整个设计点变化的调整目标。
该varyingGoal
命令,可以构建一个或明或暗地取决于设计点调整目标。
例如,创建一个调整目标跨越的设计要点网格指定可变增益和相位裕度。假设你使用的设计要点如下5×5格来调整你的控制器。
[α,V] = ndgrid(linspace(0,20,5),linspace(700,1300,5));
进一步假设有5×5对应于每个设计点的目标增益裕量和目标相位裕度阵列,如以下内容。
[GM,PM] = ndgrid(linspace(7,20,5),linspace(45,70,5));
要强制在每一个设计点的指定页边距,首先创建利润目标的模板。模板是一个函数,它的增益和相位裕度值,并返回一个TuningGoal.Margins
与这些边缘对象。
FH = @(GM,PM)TuningGoal.Margins('U',GM,PM);
使用模板和保证金阵列创建变的目标。
VG = varyingGoal(FH,GM,PM);
为了便于跟踪其目标所适用的设计上来看,使用SamplingGrid
属性附加设计点信息VG
。
VG.SamplingGrid =结构('α',α,'V',V);
用VG
同systune
就像使用其他任何调整的目标。用viewGoal
以可视化的调整目标,并确定设计点,未能达到目标利润。对于不同的调整目标,viewGoal
情节包括,让您检查特定的设计点的目标和系统性能的滑块。看到验证增益调度控制系统。
模板功能允许在构建设计目标很大的灵活性。例如,您可以编写一个函数,goalspec(A,B)
即构建目标过冲的参数的非平凡函数(A,B)
,并保存在MATLAB功能®文件。然后,您的模板函数调用goalspec
:
FH = @(A,B)TuningGoal.Overshoot('R',Y”,goalspec(A,B));
有关配置变目标的更多信息,请参阅varyingGoal
参考页。
执行与设计点而变化的要求的另一方法是创建的每个设计点的要求一个单独的实例。当你有只适用于少数的机型设计阵列中的一个目标,这种方法可能是有用的。例如,假设你想执行一个1 /小号环形状上的前五个设计仅分,以取决于所述调度变量的交越频率。同时假设你已经创建了一个载体,厕所
,包含每个设计点的目标带宽。然后你就可以构建一个TuningGoal.LoopShape
要求每一个设计点。每个关联TuningGoal.LoopShape
与使用相应的设计点的要求楷模
的需求属性。
对于CT = 1:长度(WC)R(CT)= TuningGoal.LoopShape('U',WC(CT));R(CT)。型号= CT;结束
如果厕所
盖在网格中的所有设计要点,这种做法等同于使用varyingGoal
宾语。这是一种有用的替代varyingGoal
当你只想限制了一些设计点。
而不是创建不同的要求,可以合并的需求变化部到控制系统的闭环模型。这种方法是目标正常化的一种形式,使得它可以覆盖所有的设计点与单个统一的目标。
例如,假设您想限制从增益d
至ÿ
到取决于调度变量的数量。假设T0
在每个设计点的闭环系统的模型的阵列。进一步假设你已经创建了一个表,GMAX
,对于每个设计点的最大增益值,σ。然后,您可以添加其他输出YS
=Y / GMAX
到闭环模型,如下所述。
%创建的标量增益1阵列/ GMAXyScaling =重塑(1./gmax,[1种1尺寸(GMAX)]);yScaling = SS(yScaling,'InputName','Y','OutputName',“伊苏”);%连接这些收益串联T0的Y输出T0 =连接(T0,yScaling,T0.InputName,[T0.OutputName; {“伊苏”}]);
最大增益在每个设计点根据表改变GMAX
。然后,您可以使用一个要求,即限制1从增益d
到经缩放的输出YS
。
R = TuningGoal.Gain('d',“伊苏”,1);
的需求,例如有效正常化从要求对象移动的要求可变性,[R
到闭环模式,T0
。
在Si万博1manbetxmulink®,可以通过一个增益块馈送相关的模型的输入和输出使用类似的方法。然后,当你线性模型,改变与操作条件块的增益值。例如,设置的增益以一个MATLAB变量,并使用参数
物业slLinearizer
来改变与每个线性化条件的变量的值。
您可以使用限制的调整目标应用程序的模型子集设计网格楷模
的调整目标财产。由模型阵列在它们的线性索引指定的模型。举例来说,假设你有一个调整的目标,所需物品
。配置所需物品
适用于第一个和最后一个车型在3×3设计网格。
Req.Models = [1,9]。
你打电话时systune
同所需物品
作为硬或软目标,systune
强制实施所需物品
这些模型并忽略它网格的其余部分。
systune
跑您可以排除调整一个或多个设计点,而从阵列中删除相应的模型或重新配置调整目标。这样做可能是有用的,例如,当调整在整个设计网格不能满足您的设计要求,以确定有问题的设计要点。当有你想从一个特定的调整运行排除设计点,这也可能是有用的,但保留了性能分析或进一步调整。
该SkipModels
的选择systuneOptions
允许您指定设计网格模型从调整中排除。由模型阵列在它们的线性索引指定的模型。例如,配置systuneOptions
跳过第一个和最后的模型在3×3设计网格。
选择= systuneOptions;opt.SkipModels = [1,9]。
你打电话时systune
同选择
,调整算法忽略这些模型。
作为替代方案,可以消除从整个模型网格设计要点,使他们不参与调整或分析的任何阶段。要做到这一点,利用voidModel
,它取代指定的模型在模型阵列为NaN
。当你的扫描网格包括代表不相关的或是非物理的设计要点点此选项很有用。运用voidModel
让你设计过的设计要点,这几乎是普通的网格。
systuneOptions
|varyingGoal
|viewGoal