.Modelica_LinearSystems2.WorkInProgress.ZerosAndPoles.Conversion.toTransferFunction

Information

Syntax

tf = ZerosAndPoles.Conversion.toTransferFunction(zp)

Description

Computes a TransferFunction record

           n(s)     b0 + b1*s + ... + bn*s^n
   tf = -------- = --------------------------
           d(s)     a0 + a1*s + ... + an*s^n
 
from a ZerosAndPoles record represented by first and second order numerator and denominator polynomials. The poles and zeros and the gain k are computed (zerosAndPoles) and are used as inputs in the TransferFunction constructor.

Example

   ZerosAndPoles p = Modelica_LinearSystems2.ZerosAndPoles.p();
   Modelica_LinearSystems2.ZerosAndPoles zp = 1/(p + 3)/(p + 1)


algorithm
  tf:=Modelica_LinearSystems2.ZerosAndPoles.Conversion.toTransferFunction(zp);
//  tf = 1/( s^2 + 4*s + 3 )

Interface

function toTransferFunction
  import Modelica;
  import Complex;
  import Modelica_LinearSystems2.Math.Polynomial;
  import Modelica_LinearSystems2.TransferFunction;
  import Modelica_LinearSystems2.ZerosAndPoles;
  input ZerosAndPoles zp "ZerosAndPoles transfer function of a system";
  output TransferFunction tf(redeclare Real n[2*size(zp.n2, 1) + size(zp.n1, 1) + 1], redeclare Real d[2*size(zp.d2, 1) + size(zp.d1, 1) + 1]);
end toTransferFunction;

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