我的Simulink模型将包含(很多) n
个相同的子系统,每个子系统由大约30个不同的预定参数定义。目前,每次复制一个子系统时,我都需要修改每个块的属性,因此工作量很大,容易出错。所以我的想法是将相应的参数存储在向量中,如下所示:
parametersA = (parameterA1 , parameterA2 , ... , parameterAn);
...
parametersZ = (parameterZ1 , parameterZ2 , ... , parameterZn);
然后,块属性中的值将被定义为子系统#2的parametersA(2)
和第n个子系统的parametersA(n)
。或者想象每个子系统都包含一个PID控制器,并且需要定义比例增益KP
。因此,第一个子系统将调用KP(1)
和第n个KP(n)
。
因此我的基本问题是:如何在每个子系统中声明我的索引变量n
,因此每个块都知道要调用哪个参数向量元素?
另一个问题是:是否真的有必要复制我的子系统,或者一切都可以在一个子系统中完成?这会影响模拟时间吗?
答案 0 :(得分:3)
您是否考虑过屏蔽子系统并使用掩码中的一个结构对其进行参数化(请参阅文档中的Masking)?然后,掩模下面的所有块都将使用该结构的字段进行参数化。然后,您可以拥有一个结构的单元格数组,用于参数化子系统的每个实例。实际上,掩码可能需要的唯一参数是单元数组中的索引,该索引在基础工作区中定义。