.Modelica_LinearSystems2.WorkInProgress.StateSpace.Internal.assignPolesMI_rob

Information

Modified KNV algorithm. Works like MATLAB's place.m

Interface

function assignPolesMI_rob
  extends Modelica.Icons.Function;
  import Modelica;
  import Modelica.ComplexMath;
  import Modelica_LinearSystems2.ComplexMathAdds;
  import Modelica_LinearSystems2.ComplexMathAdds.Internal.C_transpose;
  import Modelica_LinearSystems2.StateSpace;
  import Modelica_LinearSystems2.Math.Matrices;
  import Re = Modelica.ComplexMath.real;
  import Im = Modelica.ComplexMath.imag;
  import Modelica.Utilities.Streams.print;
  input Real A[:, size(A, 1)] "system matrix";
  input Real B[size(A, 1), :] "control input matrix";
  input Complex gamma[size(A, 1)];
  input Boolean IniX = false "Initial values of X are provided";
  input Complex Xini[size(A, 1), size(A, 1)] = fill(Complex(0), size(A, 1), size(A, 1)) "Initial values of the eigenvectors X";
  output Real K[size(B, 2), size(A, 1)] "feedback matrix";
  output Complex X[size(A, 1), size(A, 2)] = Xini "eigen vectors of the closed loop system";
end assignPolesMI_rob;

Generated at 2024-11-21T19:25:40Z by OpenModelicaOpenModelica 1.24.2 using GenerateDoc.mos