.Modelica_LinearSystems2.DiscreteZerosAndPoles.'constructor'.fromFactorization

Information

Syntax

dzp = 'constructor'.fromFactorization(n1, n2, d1, d2, k, Ts, method)
dzp = 'constructor'.fromFactorization(n1, n2, d1, d2, k, Ts, method, uName, yName)

Description

This function constructs a DiscreteZerosAndPoles transfer function from the real first and scond order polynomials of the numerator and the denominator, respectively.

Example

              (q + 0.1)
dzp = 4 * -----------------
          (q + 1)*(q - 0.1)

is defined as

  import Complex;
  import Modelica_LinearSystems2.DiscreteZerosAndPoles;

  dzp = DiscreteZerosAndPoles(n1={0.1},n2=fill(0,0,2), d1={1,-0.1}, d2=fill(0,0,2), k=4);

which is equal to

  dzp = DiscreteZerosAndPoles(n1={0.1},n2=fill(0,0,2), d1=fill(0,0), d2=[0.9, -0.1], k=4);

Interface

encapsulated function fromFactorization
  import Modelica;
  import Modelica_LinearSystems2;
  import Modelica_LinearSystems2.DiscreteZerosAndPoles;
  input Real n1[:] = fill(0, 0) "[p^0] coefficients of 1st order numerator polynomials" annotation(
    Dialog(group = "y = k*(product(p+n1[i]) * product(p^2+n2[i,1]*p+n2[i,2])) / (product(p+d1[i])*product(p^2+d2[i,1]*p+d2[i,2])) *u"));
  input Real n2[:, 2] = fill(0, 0, 2) "[p,p^0] coefficients of 2nd order numerator polynomials" annotation(
    Dialog(group = "y = k*(product(p+n1[i]) * product(p^2+n2[i,1]*p+n2[i,2])) / (product(p+d1[i])*product(p^2+d2[i,1]*p+d2[i,2])) *u"));
  input Real d1[:] = fill(0, 0) "[p^0] coefficients of 1st order denominator polynomials" annotation(
    Dialog(group = "y = k*(product(p+n1[i]) * product(p^2+n2[i,1]*p+n2[i,2])) / (product(p+d1[i])*product(p^2+d2[i,1]*p+d2[i,2])) *u"));
  input Real d2[:, 2] = fill(0, 0, 2) "[p,p^0] coefficients of 2nd order denominator polynomials" annotation(
    Dialog(group = "y = k*(product(p+n1[i]) * product(p^2+n2[i,1]*p+n2[i,2])) / (product(p+d1[i])*product(p^2+d2[i,1]*p+d2[i,2])) *u"));
  input Real k = 1.0 "Multiplicative factor of transfer function" annotation(
    Dialog(group = "y = k*(product(p+n1[i]) * product(p^2+n2[i,1]*p+n2[i,2])) / (product(p+d1[i])*product(p^2+d2[i,1]*p+d2[i,2])) *u"));
  input Modelica.Units.SI.Time Ts = 1 "Sample time";
  input Modelica_LinearSystems2.Utilities.Types.Method method = Modelica_LinearSystems2.Utilities.Types.Method.Trapezoidal "Discretization method";
  input String uName = "" "input name";
  input String yName = "" "output name";
  output DiscreteZerosAndPoles dzp(redeclare Real n1[size(n1, 1)], redeclare Real n2[size(n2, 1), 2], redeclare Real d1[size(d1, 1)], redeclare Real d2[size(d2, 1), 2]) "ZerosAndPoles transfer function";
end fromFactorization;

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