.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_LinearSystems2;
  import Modelica_LinearSystems2.StateSpace;
  import Modelica_LinearSystems2.Math.Matrices;
  import Modelica_LinearSystems2.Math.Complex;
  import matMul = Modelica_LinearSystems2.Math.Complex.Matrices.matMatMul;
  import Modelica_LinearSystems2.Math.Complex.Matrices.matVecMul;
  import Modelica_LinearSystems2.Math.Complex.Internal.C_transpose;
  import Re = Modelica_LinearSystems2.Math.Complex.real;
  import Im = Modelica_LinearSystems2.Math.Complex.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-04-28T18:16:21Z by OpenModelicaOpenModelica 1.22.3 using GenerateDoc.mos