To main content

Vector Fitting


Four Matlab-based packages are available for download

  • cointains version 1.0 of vectfit3 (routine: vectfit3.m). The examples show how to fit scalars, columns and entire matrices, and how to formulate the model in the form of state-space models and pole-residue models. 

    This package ( guide contains a Matlab routine vectfit3.m, which is an implementation of FRVF (Fast Relaxed Vector Fitting). vectfit3 computes a rational approximation from tabulated data in the frequency domain. It is intended to replace the previous vectfit2.m (2005). vectfit3 offers superior speed when fitting elements with many elements due to a fast implementation of the pole identification step.  


  • The function to be fitted can be either a single frequency response, or a vector of frequency responses. In the latter case, all elements in the vector will be fitted using a common pole set. The resulting model can be expressed in either state-space form or pole-residue form. 

    • Vector Fitting (VF) [1] iteratively relocates an initial set of poles to better positions by solving a linear least squares problem. Stable poles is ensured by pole flipping. The pole identification is followed by a residue identifications step. (A single call to vectfit3 gives a single iteration).
    • A relaxed non-triviality constraint [2] is used in the pole identification step of VF for achieving faster convergence and less biasing [2].
    • The linear problem associated with the pole identification step of VF is solved in a fast way by utilizing the matrix structure [3].

    Restrictions of use:

    • Embedding the program code (vectfit3.m) in any commercial software is strictly prohibited.
    • If the code is used in a scientific work, then reference should me made to the following three publications:
  1. B.Gustavsen and A. Semlyen, "Rational approximation of frequency domain responses by Vector Fitting", IEEE Trans. Power Delivery, vol. 14, no. 3, pp. 1052 - 1061, July 1999. 
  2. B. Gustavsen, "Improving the pole relocating properties of vector fitting", IEEE Trans.Power Delivery, vol 21, no 3, pp 1587-1592, July 2006
  3. D. Deschrijver, M. Mrozowski, T. Dhaene and D. de Zutter: "Macromodeling of Multiport Systems Using a Fast Implementation of the Vector Fitting Method", IEEE Microwave and Wireless Components Letters, vol. 18, no 6, pp 383-385, June 2008

  • Matrix Fitting Toolbox contains a complete procedure for multi-port rational modeling from frequency domain data.. It is applicable to both Y-parameter and S-parameter data sets. Rational fitting and passivity enforcement is achieved by two subsequent function calls. The fitting procedure is based on vector fitting (vectfit3.m) while the passivity enforcement is based on perturbation of residue matrix eigenvalues with passivity assessment by half-size test matrices. A routine is avilable for generating netlist for ATP-EMTP.

Download: Matrix Fitting Toolbox

  • Interfacing with circuit solvers contains matlab scripts which demonstrate how to interface rational function-based models with time domain circuit solvers via a Norton equivalent. The procedure is shown for models representing Y-parameters, Z-parameters, S-parameters, and general transfer functions that do not interact with the circuit.

Download: Interfacing with circuit solvers