主要内容

单个操作点参数变化的批次线性化模型

在此示例中,您可以使用模型参数和在其标称操作条件下线性化模型线性化命令。

您可以批量线性化用于学习的单个操作点的参数变化模型:

  • 植物动力学,用于不同的分量公差。

  • 控制器对植物参数变化的鲁棒性。

  • 不同控制器收益的瞬态响应。

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)))

也可以看看

||

相关话题