主要内容

组件的数组

关于组件的数组

组件阵列提供了一种直观的方法来对具有任意数量的同质组件(如分段管道、电池组或传输线)的复合组件建模。

使用一个循环来声明成员组件数组:

for i=1:array_size components (ExternalAccess=none) member_comp(i) = compX;结束结束

数组大小可以声明为复合组件的可调参数,以便块用户可以修改此值。

array_size = 10;%成员组件数量结束

将指定数组大小的参数声明为无单元整数,因为循环迭代器必须是一个无单元整数。

与常规复合组件类似,如果您希望底层成员组件的某些参数可以通过复合组件接口进行调整,请将它们包含在成员声明中。这个例子建立了参数之间的关系parX成员分量的compX和顶级参数top_level_parX复合组件的:

array_size = 10;%成员组件数top_level_parX = {1, 'm'};% i=1时成员组件的可修改参数:array_size components (ExternalAccess=none) member_comp(i) = compX(parX = top_level_parX);结束结束

使用循环来指定成员组件之间的连接。它们的迭代器范围循环取决于数组大小和连接类型。例如,当你连接N在并行成员中,迭代器范围等于数组大小:

for i=1:N个连接。,一个);连接(compX(我)。B, B);结束结束

然而,如果你连接N序列中的成员,迭代器的范围是from1(n - 1),因为您正在连接端口B除最后一个要端口的成员外的所有成员一个下一位成员:

for i=1:(N-1)连接连接(compX(i))。B, compX (i + 1)。);结束结束

在这种情况下,不要忘记将链的两端连接到复合组件的外部端口:

连接连接(compX(1)。,一个);连接(compX (N)。B, B);结束

你也可以用compX(结束)指示组件数组的最后一个成员。例如,这个语法等价于前一个语法,用于将链的两端连接到复合组件的外部端口:

连接连接(compX(1)。,一个);连接(compX(结束)。B, B);结束

您可以使用嵌套的循环创建组件的多维数组。

语法规则和限制

以下规则和限制适用于Simscape™语言中的数组:

  • 数组仅应用于组件类成员。

  • 组件数组必须是同构的,也就是说,它们的成员必须都属于同一个类。但是,成员可以有不同的参数值。

  • 数组大小可以是参数,也可以是参数表达式。控制数组大小的参数可以有它们的ExternalAccess属性设置为修改,它允许块用户更改数组的大小。

  • 数组成员必须具有ExternalAccess属性设置为没有一个观察

  • 不支持空数组。万博1manbetx

您可以使用循环来声明组件数组并将数组的成员相互连接。循环的语法和在MATLAB®.以下规则和限制适用于Simscape语言中的循环:

  • 循环只能包含组件连接

  • 循环迭代器必须是一个无单元整数。

  • 循环可以嵌套。使用嵌套循环创建组件的多维数组。

  • 在嵌套在循环中,嵌套循环中的迭代器不能指向它上面的循环中的迭代器。例如,这个语法是无效的:

    for i=1:N for j=1:i…结束结束
  • 组件声明使用循环必须包含循环迭代器作为一个裸标识符,例如,管(我).不能使用表达式或数字来代替迭代器。嵌套内声明的组件Loop必须列出所有迭代器,例如:

    for i=1:N for j=1:M components (ExternalAccess=none) resistor(i,j) = foundation.electric .elements. .电阻器(R = R);结束结束结束
  • 不能在内部包含条件节(用于定义组件变量)循环。但是,你可以包括条件段内的循环。

相关的话题