在此示例中,您可以使用模型参数和在其标称操作条件下线性化模型线性化
命令。
您可以批量线性化用于学习的单个操作点的参数变化模型:
植物动力学,用于不同的分量公差。
控制器对植物参数变化的鲁棒性。
不同控制器收益的瞬态响应。
这Sccascade.
模型包含两个级联反馈控制循环。每个循环包括PI控制器。植物模型,G1.
和G2.
,是LTI模型。
对于此模型,模型操作点表示系统的标称操作条件。因此,在线化之前,您不必修剪模型。如果您的应用程序包含影响模型操作点的参数变体,则必须先批量修剪参数变体的模型。然后,您可以在修剪操作点处线性化模型。有关更多信息,请参阅批量线性化模型在来自参数变体的多个操作点。
为了检查改变外环控制器增益的效果,在每个增益值组合的标称操作点处线性化模型。
打开模型。
sys ='scdcascade';Open_System(SYS)
定义线性化输入和输出点,以计算系统的闭环输入/输出响应。
IO(1)= Linio('scdcascade / setpoint',1,'输入');IO(2)= Linio('scdcascade / sum',1,'输出');
IO(1)
,源自出口的信号设定点
块,是参考输入。IO(2)
,源自出口的信号和
块,是系统输出。
要从相同型号中提取多个开环和闭环传输功能,批量使用A的系统线性化SLLINESERIZER.
界面。有关更多信息,请参阅改变参数值并获得多个传输函数。
改变外环控制器收益,kp1.
和ki1.
,在其标称值的20%以内。
kp1_range = linspace(kp1 * 0.8,kp1 * 1.2,6);ki1_range = linspace(ki1 * 0.8,ki1 * 1.2,4);[kp1_grid,ki1_grid] = ndgrid(kp1_range,ki1_range);
使用字段创建参数结构姓名
和价值
。姓名
表示模型工作区,MATLAB®工作区或数据字典中变化的变量。
Params(1).name ='kp1';Params(1).value = kp1_grid;Params(2).name ='ki1';Params(2).value = ki1_grid;
参数
是6×4参数值网格,其中每个网格点对应于唯一的组合kp1.
和ki1.
价值观。
从参考输入获取闭环传输函数到指定参数值的工厂输出。如果您未指定操作点,线性化
使用当前的模型操作点。
g =线性化(SYS,IO,PARAMS);
G
是一个6×4阵列的线性化模型。阵列中的每个条目都包含相应参数组合的线性化参数
。例如,G(:,:,2,3)
对应于通过设置值获得的线性化kp1.
和ki1.
参数到kp1_grid(2,3)
和ki1_grid(2,3)
, 分别。与模型数组中的每个条目相对应的参数值集G
存储在SamplingGrid.
财产G
。例如,检查线性化的相应参数值G(:,:,2,3)
:
g(:,:,2,3).samplinggrid
ANS =带字段的结构:KP1:0.1386 ki1:0.0448
要研究不同增益值的影响,分析线性化模型G
。例如,检查所有的步骤响应kp2.
价值观和第三个ki1.
价值。
Stepplot(g(:,:,:,3)))