zp = ZerosAndPoles'constructor'.fromFactorization(n1, n2, d1, d2, k, uName, yName)
This function constructs a ZerosAndPoles record zp from first and second order polynomials.
encapsulated function fromFactorization import Modelica; import Modelica_LinearSystems2.ZerosAndPoles; 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 String uName = "" "Input name"; input String yName = "" "Output name"; output ZerosAndPoles zp(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;