主要内容

单工作点参数变化的批量线性化模型

在这个例子中,您可以改变模型参数并在其标称运行条件下使用线性化命令。

你可以批量线性化一个模型的参数变化在一个单一的操作点来研究:

  • 植物动态变化的组成部分的容忍。

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

  • 变化控制器增益的瞬态响应。

scdcascade模型包含两个级联反馈控制回路。每个回路包括一个PI控制器。工厂模型,G1G2,是LTI模型。

对于该模型,模型的工作点表示系统的标称运行条件。因此,您不必在线性化之前修剪模型。如果应用程序包含影响模型工作点的参数变化,则必须首先批量修剪模型以应对参数变化。然后,您可以线性化模型在修剪的操作点。有关更多信息,请参见基于参数变化的多工作点批量线性化模型

为了检验改变外环控制器增益的影响,在每个增益值组合的标称工作点对模型进行线性化。

打开模型。

sys =“scdcascade”;open_system(系统)

定义线性化输入和输出点,用于计算系统的闭环输入/输出响应。

io (1) = linio (“scdcascade /选点”, 1“输入”);io (2) = linio (“scdcascade /总和”, 1“输出”);

io (1),发出信号的出口定位点块,是参考输入。io (2),发出信号的出口总和块,是系统输出。

为了从同一模型中提取出多个开环和闭环传递函数,利用矩阵对系统进行批量线性化处理slLinearizer接口。有关更多信息,请参见改变参数值,获取多个传递函数

改变外环控制器增益,Kp1Ki1,在其名义值的20%之内。

Kp1_range = linspace (Kp1 Kp1 * 0.8 * 1.2, 6);Ki1_range = linspace (Ki1 Ki1 * 0.8 * 1.2, 4);[Kp1_grid, Ki1_grid] = ndgrid (Kp1_range Ki1_range);

创建带有字段的参数结构的名字价值的名字指明在模型工作空间、MATLAB®工作空间或数据字典中要变化的变量。

参数(1)。Name =“Kp1”;参数(1)。价值= Kp1_grid; params(2).Name =“Ki1”;参数(2)。价值= Ki1_grid;

参数个数是一个6乘4的参数值网格,其中每个网格点对应一个唯一的组合Kp1Ki1值。

对于指定的参数值,获得从参考输入到设备输出的闭环传递函数。如果你不指定操作点,线性化使用当前模型工作点。

G =线性化(sys、io、params);

G是一个6乘4的线性化模型阵列。数组中的每一项都包含对中的相应参数组合的线性化参数个数.例如,G(:: 2、3)对应于通过设置的值得到的线性化Kp1Ki1参数Kp1_grid(2、3)Ki1_grid(2、3),分别。对应于模型数组中每个条目的参数值集G存储在SamplingGrid的属性G.例如,检查相应的参数值进行线性化G(:: 2、3)

G(:: 2、3)。SamplingGrid
ans = struct with fields: Kp1: 0.1386 Ki1: 0.0448

为了研究不同增益值的影响,对线性化模型进行了分析G.例如,检查所有的步骤响应Kp2价值观和第三Ki1价值。

stepplot (G (::,:, 3))

另请参阅

||

相关的话题