function fromMatrices
import Modelica;
import Modelica_LinearSystems2;
import Modelica_LinearSystems2.WorkInProgress.DiscreteStateSpace;
input Real A[:, size(A, 1)] annotation(
Dialog(group = "new_x = A*x + B*u; y = C*x + D*u; x_cont = x + B2*u"));
input Real B[size(A, 1), :] annotation(
Dialog(group = "new_x = A*x + B*u; y = C*x + D*u; x_cont = x + B2*u"));
input Real C[:, size(A, 1)] annotation(
Dialog(group = "new_x = A*x + B*u; y = C*x + D*u; x_cont = x + B2*u"));
input Real D[size(C, 1), size(B, 2)] annotation(
Dialog(group = "new_x = A*x + B*u; y = C*x + D*u; x_cont = x + B2*u"));
input Modelica.Units.SI.Time Ts = 1 "Sample time" annotation(
Dialog(group = "Data used to construct discrete from continuous system"));
input Real B2[:, :] = zeros(size(B, 1), size(B, 2));
input Modelica_LinearSystems2.Utilities.Types.Method method = Modelica_LinearSystems2.Utilities.Types.Method.Trapezoidal "Discretization methodDiscretization method" annotation(
Dialog(group = "Data used to construct discrete from continuous system"));
output DiscreteStateSpace result(redeclare Real A[size(A, 1), size(A, 2)], redeclare Real B[size(B, 1), size(B, 2)], redeclare Real C[size(C, 1), size(C, 2)], redeclare Real D[size(D, 1), size(D, 2)], redeclare Real B2[size(B2, 1), size(B2, 2)]);
end fromMatrices;