.Modelica_LinearSystems2.StateSpace.'+'

Information

Syntax

ss = StateSpace.'+'(ss1, ss2)

Description

This operator function computes the addition of two state space systems connected in parallel, i.e. the inputs are the same and the outputs of the two systems are added. Therefore, the systems must have the same number of inputs and outputs but not the same number of states. The resulting system has an order of system_order1 + system_order2.

The operator is used by writing just the following command:

ss3 := ss1 + ss2;

Example

  StateSpace ss1 = StateSpace(A=[-1, 0; 0, -2], B=[1; 2], C=[0, 1], D=[0]);
  StateSpace ss2 = StateSpace(A=[-3, 0; 0, -4], B=[3; 4], C=[0, 2], D=[0.2]);

  StateSpace ss3;

algorithm
  ss3 := ss1 - ss2;
// ss.A = [-1, 0, 0, 0; 0, -2, 0, 0; 0, 0, -3, 0; 0, 0, 0, -4],
// ss.B = [1; 2; 3; 4],
// ss.C = [0, 1, 0, 2],

// ss.D = [0.2],

Interface

encapsulated operator function '+'
  import Modelica_LinearSystems2.StateSpace;
  input StateSpace ss1 "State space system 1";
  input StateSpace ss2 "State space system 2 is added in parallel to system 1";
  output StateSpace result(redeclare Real A[size(ss1.A, 1) + size(ss2.A, 1), size(ss1.A, 2) + size(ss2.A, 2)], redeclare Real B[size(ss1.B, 1) + size(ss2.B, 1), size(ss1.B, 2)], redeclare Real C[size(ss1.C, 1), size(ss1.C, 2) + size(ss2.C, 2)], redeclare Real D[size(ss1.D, 1), size(ss1.D, 2)]) "= ss1 + ss2";
end '+';

Generated at 2020-11-28T01:58:38Z by OpenModelicaOpenModelica 1.17.0~dev-197-g6cf0e30 using GenerateDoc.mos