.Modelica_LinearSystems2.TransferFunction.'constructor'.fromZerosAndPoles

Information

This function constructs a transfer function from numerator zeros. Example:

The transfer function

   zp = (s+(2+3*j))*(s+(2-3*j))

can be expressed as

   import Complex;
   import Modelica_LinearSystems2.ZerosAndPoles;

   j = Complex.j();
   zp = ZerosAndPoles({2+3*j}, {2-3*j});

Since only transfer functions with real coefficients are supported, complex zeros must be defined as conjugate complex pairs. It is required that complex conjugate pairs must directly follow each other as above. An error occurs if this is not the case.

Interface

encapsulated function fromZerosAndPoles
  import Complex;
  import Modelica_LinearSystems2.TransferFunction;
  import Modelica_LinearSystems2.Math.Polynomial;
  input Complex z[:] = fill(Complex(0), 0) "Zeros (Complex vector of numerator zeros)";
  input Complex p[:] = fill(Complex(0), 0) "Poles (Complex vector of denominator zeros)";
  input Real k = 1.0 "Constant multiplied with transfer function";
  input String uName = "" "input name";
  input String yName = "" "output name";
  output TransferFunction tf(redeclare Real n[size(z, 1) + 1], redeclare Real d[size(p, 1) + 1]) "TransferFunction built by ZerosAndPoles object";
end fromZerosAndPoles;

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