MATLAB 帮助中心
两个模型的串行连接
sys = series(sys1,sys2)
sys = series(sys1,sys2,out1,in2)
sys = series(sys1,sys2,"name")
sys = series(sys1,sys2) 通过将 sys1 的输出连接到 sys2 的输入,形成两个动态系统模型的串行互连,如图所示。
sys
sys1
sys2
此命令等效于直接乘法 sys = sys2*sys1。对于 MIMO 系统,sys2 的输入数目必须等于 sys1 的输出数目。得到的 sys 具有输入 u 和输出 y。
sys = sys2*sys1
u
y
示例
sys = series(sys1,sys2,out1,in2) 通过将 sys1 的输出子集连接到 sys2 的输入子集形成更普遍的串行互连,如下图所示。
out1
in2
out1 是一个向量,指定要连接的 sys1 的输出的索引。类似地,in1 指定要连接到这些输出的 sys2 的输入的索引。得到的 sys 具有输入 u 和输出 y。series 会丢弃 sys1 的未连接输出 z1 以及 sys2 的未连接输入 v2。
in1
series
z1
v2
sys = series(sys1,sys2,"name") 通过匹配模型的 OutputName 属性和 InputName 属性中定义的信号名称,将 sys1 的输出子集连接到 sys2 的输入子集。series 会丢弃 sys1 的未连接输出以及 sys2 的未连接输入。
OutputName
InputName
全部折叠
创建两个 SISO 系统,一个是状态空间模型,另一个是传递函数。
sys1 = rss(3); sys2 = tf(1,[1 1 1]);
将这两个系统串行连接起来。
sys = series(sys1,sys2); size(sys)
State-space model with 1 outputs, 1 inputs, and 5 states.
将传递函数与状态空间模型连接起来会得到另一个状态空间模型。有关组合不同模型类型的结果的详细信息,请参阅Rules That Determine Model Type。
串行互连等效于乘积 sys2*sys1。通过检查频率响应来验证这种等效性。
sys2*sys1
sysm = sys2*sys1; bodeplot(sys,'-',sysm,'--')
将两个 MIMO 系统串行连接起来。当 sys1 的输出数目等于 sys2 的输入数目时,您可以将所有 sys1 输出连接到所有 sys2 输入。
sys1 = rss(3,2,3); sys2 = rss(3,3,2); sys = series(sys1,sys2);
得到的系统的输入数目与 sys1 相同,输出数目与 sys2 相同。
size(sys)
State-space model with 3 outputs, 3 inputs, and 6 states.
您可以通过为要连接的信号分配匹配的名称来形成串行连接。从四输出、双输入系统 sys1 和双输出、三输入系统 sys2 开始,形成图中所示的串行连接。
创建这两个系统的状态空间模型,并为输入和输出信号命名。
% sys1: 4-output, 2-input sys1 = rss(4,4,2); sys1.InputName = ["in1a","in1b"]; sys1.OutputName = ["out1a","out1b","out1c","out1d"]; % sys2: 2-output, 3-input sys2 = rss(3,2,3); sys2.InputName = ["in2a","in2b","in2c"]; sys2.OutputName = ["out2a","out2b"];
在图中所示的互连中,sys1 的 out1a 和 out1c 分别连接到 in2b 和 in2c。更改信号名称,使连接信号的名称相匹配。
out1a
out1c
in2b
in2c
sys1.OutputName = ["ua","out1b","ub","out1d"]; sys2.InputName = ["in2a","ua","ub"];
通过在指定 name 标志的情况下调用 series 来形成连接。
name
sys = series(sys1,sys2,"name");
检查 sys 的维度、输入和输出,以确认连接与图中的连接一致。
State-space model with 2 outputs, 2 inputs, and 7 states.
sys.InputName
ans = 2×1 cell {'in1a'} {'in1b'}
sys.OutputName
ans = 2×1 cell {'out2a'} {'out2b'}
正如预期的那样,得到的 sys 具有两个输出和两个输入,分别对应于 sys2 的输出和 sys1 的输入。
sys 会丢弃 sys2 的未连接输入和 sys1 的未连接输出。要形成这种互连同时保留所有输入和输出,请改用 connect,指定要在得到的系统中保留的所有输入和输出。
connect
sysc = connect(sys1,sys2,["in1a","in1b","in2a"],["out2a","out2b","out1b","out1d"]); size(sysc)
State-space model with 4 outputs, 3 inputs, and 7 states.
sysc.InputName
ans = 3×1 cell {'in1a'} {'in1b'} {'in2a'}
sysc.OutputName
ans = 4×1 cell {'out2a'} {'out2b'} {'out1b'} {'out1d'}
您可以通过指定要连接的信号的索引,使用模型输入和输出的子集来形成串行互连。从四输出、双输入系统 sys1 和双输出、三输入系统 sys2 开始,形成图中所示的串行连接。
创建这两个系统的状态空间模型。
% sys1: 4-output, 2-input sys1 = rss(4,4,2); % sys2: 2-output, 3-input sys2 = rss(3,2,3);
要形成串行连接,请创建向量来指定要连接的 sys1 的输出和 sys2 的相应输入。在上图中,sys1 的第一个和第三个输出分别连接到 sys2 的第二个和第三个输入。因此,请按如下方式指定索引。
out1 = [1 3]; % out1a and out1c in2 = [2 3]; % in2b and in2c
形成连接并检查输出的大小。
sys = series(sys1,sys2,out1,in2); size(sys)
正如预期的那样,得到的 sys 具有两个输出和两个输入,分别对应于 sys2 的输出和 sys1 的输入。sys 会丢弃 sys2 的未连接输入和 sys1 的未连接输出。要形成这种互连同时保留所有输入和输出,请使用 connect。
要连接的系统,指定为 SISO 或 MIMO 动态系统模型、控制设计模块或动态系统模型数组。可以连接的模型和模块包括:
任何数值 LTI 模型对象,如 tf、zpk、ss、frd 或 pid 模型对象。
tf
zpk
ss
frd
pid
广义或不确定的 LTI 模型,如 genss、genfrd、uss (Robust Control Toolbox) 和 ufrd (Robust Control Toolbox) 模型。
genss
genfrd
uss
ufrd
表示可调或不确定的模块图元素的控制设计模块,如 tunablePID、tunableSS、tunableGain、tunableTF、tunableSurface、ultidyn (Robust Control Toolbox) 或 umargin (Robust Control Toolbox) 模块。
tunablePID
tunableSS
tunableGain
tunableTF
tunableSurface
ultidyn
umargin
表示模块图中您想提取系统响应的位置的 AnalysisPoint 模块。
AnalysisPoint
使用 sumblk 创建的求和结点。
sumblk
辨识的 LTI 模型,如 idtf (System Identification Toolbox)、idss (System Identification Toolbox) 或 idproc (System Identification Toolbox) 模型。
idtf
idss
idproc
稀疏模型,由 sparss 或 mechss 模型对象表示。
sparss
mechss
时变模型或参数变化模型,由 ltvss 或 lpvss 模型对象表示。
ltvss
lpvss
sys1 和 sys2 必须都是连续时间系统或者都是离散时间系统,且采样时间相同。
要连接的 sys1 的输出,指定为索引向量。例如,如果您想将 sys1 的第二个、第四个和第五个输出连接到 sys2 的三个输入,请设置 out1 = [2,4,5]。
out1 = [2,4,5]
要连接的 sys2 的输入,指定为索引向量。例如,如果您想将 sys1 的三个输出连接到 sys2 的第一个、第三个和第四个输入,请设置 in2 = [1,3,4]。
in2 = [1,3,4]
互连系统,以动态系统模型形式返回,互连系统的输入为 sys1 的输入,互连系统的输出为 sys2 的输出。动态系统模型的类型取决于所连接的系统 sys1 和 sys2 的类型。例如,
如果所连接的系统中的一个系统是 ss 模型,而另一个是除 frd 模型之外的数值 LTI 模型,则 sys 是 ss 模型。
如果所连接的系统中的一个系统是 frd 模型,而另一个是数值 LTI 模型,则 sys 是 frd 模型。如果两个系统都是 frd 模型,则频率向量必须匹配。
如果所连接的系统中的一个系统是辨识的 LTI 模型,则 sys 也是辨识模型。
如果所连接的系统中的一个系统是广义 LTI 模型,如 genss 或 uss 模型,则 sys 也是广义 LTI 模型。
如果所连接的系统中的一个系统是稀疏模型,则 sys 也是稀疏模型。
如果 sys1 和 sys2 是模型数组,则 sys 是相同大小的模型数组。sys 中的每个条目都是通过连接输入数组的相应条目所形成的模型。
在 R2006a 之前推出
feedback | connect | parallel | append
feedback
parallel
append
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
选择网站
选择网站以获取翻译的可用内容,以及查看当地活动和优惠。根据您的位置,我们建议您选择:。
您也可以从以下列表中选择网站:
如何获得最佳网站性能
选择中国网站(中文或英文)以获得最佳网站性能。其他 MathWorks 国家/地区网站并未针对您所在位置的访问进行优化。
美洲
欧洲
亚太
联系您当地的办事处