主要内容

parallel

两个模型的并行连接

    说明

    sys = parallel(sys1,sys2) 通过将相同输入信号连接到 sys1sys2 并对输出求和,形成两个动态系统模型的并行互连,如图所示。

    此命令等效于直接乘法 sys = sys1 + sys2。对于 MIMO 系统,sys2sys2 必须具有相同数目的输入和输出。

    示例

    sys = parallel(sys1,sys2,in1,in2,out1,out2) 形成下图所示的更常见的并行互连。

    向量 in11n2 包含 sys1sys2 中接收输入 u 的输入索引。同样,out1out2 是指定 sys1sys2 中求和以形成输出 y 的输出向量。生成的 sys 的输入为 [v1,u,v2],其中 v1v2in11n2 中未指定的输入。同样,sys 的输出为 [z1,y,z2],其中 z1z2out1out2 中未指定的输出。

    示例

    sys = parallel(sys1,sys2,"name") 通过匹配模型的 OutputNameInputName 属性中定义的信号名称,连接 sys1sys2。具有匹配名称的输入被相连,具有匹配名称的输出被求和。

    示例

    示例

    全部折叠

    创建两个 SISO 系统,一个是状态空间模型,另一个是传递函数。

    sys1 = rss(3);
    sys2 = tf(1,[1 1 1]);

    形成两个系统的并行互连并检查生成的模型。

    sys = parallel(sys1,sys2);
    size(sys)
    State-space model with 1 outputs, 1 inputs, and 5 states.
    

    将传递函数与状态空间模型连接起来会得到另一个状态空间模型。有关组合不同模型类型的结果的详细信息,请参阅Rules That Determine Model Type

    并行互连等效于两个模型的算术和。通过检查频率响应来验证这种等效性。

    sysa = sys1 + sys2;
    bodeplot(sys,'-',sysa,'--')

    MATLAB figure

    并行连接两个 MIMO 系统。当两个系统具有相同的输入-输出维度时,您可以连接所有输入和输出。例如,创建两个 3 输出 2 输入系统并形成此类互连。

    sys1 = rss(4,3,2);
    sys2 = rss(4,3,2);
    sys = parallel(sys1,sys2);

    生成的模型具有相同的输入-输出维度。

    size(sys)
    State-space model with 3 outputs, 2 inputs, and 8 states.
    

    您可以通过为要连接的信号分配匹配的名称来形成并行连接。从 3 输出 4 输入系统 sys1 和 2 输出 3 输入系统 sys2 开始,形成图中所示的并行连接。

    创建这两个系统的状态空间模型,并为输入和输出信号命名。

    % sys1: 3-output, 4-input
    sys1 = rss(4,3,4);
    sys1.InputName = ["in1a","in1b","in1c","in1d"];
    sys1.OutputName = ["out1a","out1b","out1c"];
    % sys2: 2-output, 3-input
    sys2 = rss(3,2,3);
    sys2.InputName = ["in2a","in2b","in2c"];
    sys2.OutputName = ["out2a","out2b"];

    在图中所示的互连中,sys1 的输入 2 和 3 分别连接 sys2 的输入 1 和 2。此图还显示,sys1 的第二个输出与 sys2 的第一个输出求和。更改信号名称,使连接信号的名称相匹配。

    sys1.InputName = ["in1a","u1","u2","in1d"];
    sys1.OutputName = ["out1a","y1","out1c"];
    sys2.InputName = ["u1","u2","in2c"];
    sys2.OutputName = ["y1","out2b"];

    使用 name 标志形成连接。

    sys = parallel(sys1,sys2,"name");

    检查 sys 的维度、输入和输出,以确认连接与图中的连接一致。

    size(sys)
    State-space model with 4 outputs, 5 inputs, and 7 states.
    
    sys.InputName
    ans = 5×1 cell
        {'in1a'}
        {'in1d'}
        {'u1'  }
        {'u2'  }
        {'in2c'}
    
    
    sys.OutputName
    ans = 4×1 cell
        {'out1a'}
        {'out1c'}
        {'y1'   }
        {'out2b'}
    
    

    您可以通过指定要连接的信号的索引,使用模型输入和输出的子集来形成并行互连。从 3 输出 4 输入系统 sys1 和 2 输出 3 输入系统 sys2 开始,形成图中所示的并行连接。

    创建这两个系统的状态空间模型。

    % sys1: 3-output, 4-input
    sys1 = rss(4,3,4);
    % sys2: 2-output, 3-input
    sys2 = rss(3,2,3);

    要形成互连,请创建向量来指定每个模型中要连接的输入和输出。例如,如图示中所示,sys1 的输入 2 和 3 分别连接 sys2 的输入 1 和 2。因此,按如下方式指定输入索引。

    inp1 = [2 3];  % indices of in1b and in1c
    inp2 = [1 2];  % indices of in2a and in2b

    此图还显示,sys1 的第二个输出与 sys2 的第一个输出求和。

    out1 = [2];  % index of out1b
    out2 = [1];  % index of out2a

    使用这些值形成并行互连。

    sys = parallel(sys1,sys2,inp1,inp2,out1,out2);

    生成的模型如预期的那样具有 4 个输出和 5 个输入。

    size(sys)
    State-space model with 4 outputs, 5 inputs, and 7 states.
    

    输入参数

    全部折叠

    要连接的系统,指定为 SISO 或 MIMO 动态系统模型、控制设计模块或动态系统模型数组。可以连接的模型和模块包括:

    • 任何数值 LTI 模型对象,如 tfzpkssfrdpid 模型对象。

    • 广义或不确定的 LTI 模型,如 genssgenfrduss (Robust Control Toolbox)ufrd (Robust Control Toolbox) 模型。

    • 表示可调或不确定的模块图元素的控制设计模块,如 tunablePIDtunableSStunableGaintunableTFtunableSurfaceultidyn (Robust Control Toolbox)umargin (Robust Control Toolbox) 模块。

    • 表示模块图中您想提取系统响应的位置的 AnalysisPoint 模块。

    • 使用 sumblk 创建的求和结点。

    • 辨识的 LTI 模型,如 idtf (System Identification Toolbox)idss (System Identification Toolbox)idproc (System Identification Toolbox) 模型。

    • 稀疏模型,由 sparssmechss 模型对象表示。

    • 时变模型或参数变化模型,由 ltvsslpvss 模型对象表示。

    sys1sys2 必须都是连续时间系统或者都是离散时间系统,且采样时间相同。

    要连接的 sys1sys2 的输入,指定为索引向量。例如,如果要将相同的输入发送到 sys1 的第一个输入与 sys2 的第二个输入、sys1 的第二个输入与 sys2 的第三个输入、sys1 的第三个输入与 sys2 的第五个输入,需设置 in2 = [1,2,3]in2 = [2,3,5]

    要求和的 sys1sys2 的输出,指定为索引向量。例如,如果要对 sys1 的第一个输出与 sys2 的第二个输出、sys1 的第二个输出与 sys2 的第三个输出、sys1 的第三个输出与 sys2 的第五个输出分别求和,需设置 in2 = [1,2,3]in2 = [2,3,5]

    输出参量

    全部折叠

    互连系统,以动态系统模型形式返回。动态系统模型的类型取决于所连接的系统 sys1sys2 的类型。例如,

    • 如果所连接的系统中的一个系统是 ss 模型,而另一个是除 frd 模型之外的数值 LTI 模型,则 sysss 模型。

    • 如果所连接的系统中的一个系统是 frd 模型,而另一个是数值 LTI 模型,则 sysfrd 模型。如果两个系统都是 frd 模型,则频率向量必须匹配。

    • 如果所连接的系统中的一个系统是辨识的 LTI 模型,则 sys 也是辨识模型。

    • 如果所连接的系统中的一个系统是广义 LTI 模型,如 genssuss 模型,则 sys 也是广义 LTI 模型。

    • 如果所连接的系统中的一个系统是稀疏模型,则 sys 也是稀疏模型。

    如果 sys1sys2 是模型数组,则 sys 是相同大小的模型数组。sys 中的每个条目都是通过连接输入数组的相应条目所形成的模型。

    版本历史记录

    在 R2006a 之前推出

    另请参阅

    | | |