主要内容

模型阵列

什么是模型数组?

在许多应用程序中,考虑多个模型对象的集合是有用的。例如,您可能希望考虑一个参数在一系列值之间变化的模型,例如

Sys1 = tf(1, [1 1]);Sys2 = tf(1, [1 1 2]);Sys3 = tf(1, [1 1 3]);

等等。模型数组是存储和分析此类集合的一种方便的方法。模型数组是多个线性模型的集合,存储为单个MATLAB中的元素®数组中。

对于在一个模型数组中收集的所有模型,下列属性必须相同:

  • 输入和输出的数量

  • 样品时间Ts

  • 时间单位TimeUnit

模型数组的使用

模型数组的使用包括:

  • 表示和分析对参数变化的敏感性

  • 针对多个工厂模型验证控制器设计

  • 表示非线性系统在几个工作点的线性化所产生的线性模型

  • 将多个系统辨识实验所得的存储模型应用于某工厂

使用模型数组,您可以将几乎所有在单个模型对象上工作的基本模型操作一次应用到整个模型集。函数按模型对数组进行操作,允许您以向量化的方式操作整个模型集合。您还可以使用诸如波德尼奎斯特,一步对数组进行建模以同时分析多个模型。您可以通过MATLAB数组索引访问集合中的各个模型。

可视化模型阵列

为了可视化模型数组的概念,考虑下面所示的5个传递函数模型。在本例中,每个模型有两个输入和两个输出。它们因单个模型组件中的参数变化而不同。

就像您可能在多维数组中收集一组2乘2矩阵一样,您可以将这组5个传递函数模型作为一个列表收集到一个模型数组中,使用一个变量名,例如,sys.模型数组的每个元素都是一个模型对象。

可视化从模型数组中选择模型

下图显示了索引如何从一维模型数组中选择模型。图中显示了一个1乘5的数组sysa两个输入,两个输出的传递函数。

下图显示了从二维模型数组中选择的模型m2d

相关的话题