改变需求与操作条件
调优gain-scheduled控制系统时,它有时候是有用执行不同的设计需求在不同的点设计网格中。例如,您可能会想:
指定一个变量优化目标,显式或隐式地取决于设计点。
执行调优目标在设计点的子集,但是忽略它在其他的设计点。
排除特定运行的设计点
systune
,但保留分析或其他调优操作。消除设计各阶段的设计和分析。
定义变量的调优目标
有几种方法可以定义一个优化目标,在设计点变化。
创建不同的目标
的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。SamplingGrid =结构(“α”α,“V”,V);
使用VG
与systune
当你会使用其他的调优目标。使用viewGoal
可视化优化目标和确定设计点,不能满足目标利润率。对于不同的优化目标,viewGoal
情节包括滑块,让你检查特定的目标和系统性能的设计点。看到验证Gain-Scheduled控制系统。
模板函数在构造设计目标提供了很大的灵活性。例如,您可以编写一个函数,goalspec (a, b)
,构造目标过度作为一个重要的参数的函数(a, b)
,并保存在MATLAB函数®文件。你的模板函数调用goalspec
:
跳频= @ (a, b) TuningGoal.Overshoot (“r”y ', goalspec (a, b));
关于配置不同目标的更多信息,请参阅varyingGoal
参考页面。
创建单独的每个设计点要求
另一种强制要求随设计的目的是创建一个单独的实例为每个设计点的要求。这种方法可能是有用的,当你有一个目标,只适用于少数的模型在设计数组。例如,假设您想要执行一个1 /年代环形状的前五个设计点,的交叉频率取决于调度变量。还假设您已经创建了一个向量,wc
,包含目标为每个设计点带宽。然后你可以构造一个TuningGoal.LoopShape
每个设计点要求。将每一TuningGoal.LoopShape
要求使用相应的设计点模型
房地产的需求。
为ct = 1:长度(wc) R (ct) = TuningGoal.LoopShape (“u”、wc (ct));R (ct)。模型= ct;结束
如果wc
覆盖所有的设计在你的网格点,相当于使用这种方法varyingGoal
对象。这是一个有用的替代varyingGoal
当你只是想限制几个设计要点。
构建变化模型
而不是创建不同的需求,你可以把不同的部分要求进入闭环控制系统的模型。这种方法是一种目标归一化,以使得它可以覆盖所有设计点用一个统一的目标。
例如,假设你想限制收益d
来y
的数量取决于调度变量。假设T0
是一个数组的每个设计的闭环系统模型。进一步假设您已经创建了一个表,gmax
最大增益值的每个设计点,σ。然后您可以添加另一个输出y
=y / gmax
闭环模型,如下所示。
% 1 / gmax创建一系列标量收益yScaling =重塑(1。/ gmax 1大小(gmax) [1]);yScaling = ss (yScaling,“InputName”,“y”,“OutputName”,“y”);%连接这些收益在y系列T0的输出T0 =连接(T0、yScaling T0.InputName, [T0。OutputName;{“y”}));
最大增益的变化在每个设计点根据表gmax
。然后您可以使用一个要求限制1获得d
按比例缩小的输出y
。
R = TuningGoal.Gain (' d ',“y”1);
这样有效的标准化需求移动需求的可变性需求对象,R
闭环模型,T0
。
在仿真金宝app软件®,你可以使用类似的方法通过喂养相关模型输入和输出通过一个块。然后,当你线性化模型,改变物体的增益值与操作条件。例如,将获得一个MATLAB变量,并使用参数
财产slLinearizer
改变变量值与每个线性化条件。
在设计点的子集执行调优目标
你可以限制应用程序调优目标模型的一个子集设计网格使用模型
属性的优化目标。指定模型的线性指数模型中的数组。例如,假设您有一个优化目标,要求的事情
。配置要求的事情
适用于第一个和最后一个3×3的设计模型在一个网格。
要求的事情。模型= [1,9];
当你打电话systune
与要求的事情
作为一个硬或软目标,systune
执行要求的事情
对这些模型并忽略它的网格。
排除设计分systune
运行
你可以从优化排除一个或多个设计点没有从数组中删除相应的模型或重新配置你的调优目标。这样做可能是有用的,例如,确定有问题的设计点优化在整个设计在电网无法满足您的设计要求。时它还可以有用有设计点,你想从一个特定的优化运行,排除但保护性能分析或进一步调优。
的SkipModels
选择systuneOptions
允许您指定模型从优化设计网格中排除。指定模型的线性指数模型中的数组。例如,配置systuneOptions
跳过第一个和最后一个3×3的设计模型在一个网格。
选择= systuneOptions;opt.SkipModels = [1, 9];
当你打电话systune
与选择
,调优算法忽略了这些模型。
作为一种替代方法,您可以完全消除模型网格的设计点,这样他们不会导致任何调优阶段或分析。为此,使用voidModel
,替换模型中的模型指定数组南
。这个选项是有用的,当你采样网格包括点代表无关的或非物质的设计点。使用voidModel
让你设计的网格设计点,几乎是正常的。
另请参阅
viewGoal
|varyingGoal
|systuneOptions