Method of mdss.
Append multiple mdss models block-diagonally,
without connecting them.
Source: src/model/@mdss/append.m
sysOut = append(sys1, sys2, ..., sysN)
sysOut = sys1.append(sys2, ..., sysN)append stacks the component models into a single
mdss whose structure and parameter matrices are the
block-diagonal composition of the inputs. No signals are connected — the
combined model simply carries every state, input, algebraic and binary
signal of its parts, with the index vectors, names, units and input-role
sets shifted and concatenated accordingly.
All models must share the same timeStepSize.
Appending is the first step of an index-based connect: once the
sub-models sit in one object, their signals can be wired together by
index. (The name-based / multi-argument forms of connect
call append for you.)
| Argument | Description |
|---|---|
sys1 … sysN |
mdss models to append. All must have equal
timeStepSize. |
| Output | Description |
|---|---|
sysOut |
The block-diagonal composition of the inputs, with all signals carried over and indices shifted/concatenated. No signals connected. |
room = stringParser.symbolicToMdss("0 = -m*xp1 + u1 + u2", 0, ...
["xp","x","u","y","z"], "m", 1200);
loss = stringParser.symbolicToMdss("y1 = k*(u1 - u2)", 0, ...
["xp","x","u","y","z"], "k", 3);
sys = append(room, loss);
% sys now has room's + loss's states, inputs and algebraic variables,
% with the indices of loss shifted after those of room.connect · mdss · symbolicToMdss
MyToolbox Documentation | Generated automatically by CI/CD pipeline