Main Content

FrequencyResponseFittingOptions

Options for model order reduction with frequency response fitting

Since R2025a

    Description

    This object contains model order reduction options of frequency response fitting and is contained in the Options property of a FrequencyResponseFitting object R created using reducespec. To configure these options, use dot notation, for example, R.Options.AbsTol = 0.05.

    Properties

    expand all

    Frequencies for evaluating the frequency response of the original model, specified as a vector. Frequency values must be real, and can be positive or negative. This option is required for parametric models.

    Specify a frequency grid that adequately captures gain and phase variations of the original model. In principle, stability is encoded in the frequency response. If the specified frequency grid is too sparse, the software may produce unstable fits. Therefore, you must provide a grid dense enough to accurately capture the system dynamics. For an example on how the choice of grid affects the fit quality, see Enforcing Stability in Fitted Reduced Models.

    The software ignores this option for frd models.

    Feedthrough value of the fitted model, specified as a scalar, vector, or matrix compatible with model input-output size. When you specify a feedthrough value, the rational fit interpolates this value at s = Inf or z = Inf.

    The software uses the following barycentric forms to fit the data to a rational approximation:

    • Standard form with scalar weights — R(s)=fw+j=1mfjwjszjw+j=1mwjszj=N(s)D(s)

      Here, f is the feedthrough value and w is the additional scalar-valued weight entry in the vector w for the feedthrough interpolation point. Additionally, zj are the interpolation points, fj are the corresponding values for f(zj), and wj are the scalar-valued weights.

    • MIMO form with matrix weights — R(s)=(FW+j=1mFjWjszj)(W+j=1mWjszj)1=N(s)D(s)1

      Here, F is the feedthrough value, W is the additional matrix-valued weight entry in the vector W for the feedthrough interpolation point, and Wj are square matrices of size s. This software uses this form when R.Options.Algorithm is set to "blockAAA" when fitting a MIMO model of size r-by-s.

    Fitting algorithm, specified as either "blockAAA" or "AAA".

    For MIMO models, "blockAAA" uses matrix-valued weights while "AAA" uses scalar weights. "blockAAA" tends to yield lower-order models but is computationally more intensive. For SISO models, the algorithms are equivalent.

    • For "AAA", the software uses the barycentric form ([1]):

      R(s)=fw+j=1mfjwjszjw+j=1mwjszj=N(s)D(s)

      Here, zj are the interpolation points, fj are the corresponding values for f(zj), wj are the scalar-valued weights, and f is the feedthrough value (if specified).

    • For "blockAAA", the software uses the barycentric form ([2]):

      R(s)=(FW+j=1mFjWjszj)(W+j=1mWjszj)1=N(s)D(s)1

      Here, Wj are square matrices of size s for MIMO models with size r-by-s.

    Absolute error tolerance, specified as a nonnegative scalar.

    For the specified frequencies w, the software ensures the fit error does not exceed AbsTol+RelTol×norm(F), where F is the frequency response at w.

    The fit error is the maximum value of the normalized error Ek over the data points (zk, Fk), where Ek is:

    Ek=FkFit(zk)F(AbsTol+RelTol×FkF)

    The algorithm achieves the desired accuracy when this worst-case ratio drops below 1.

    Relative error tolerance, specified as a nonnegative scalar.

    For the specified frequencies w, the software ensures the fit error does not exceed AbsTol+RelTol×norm(F), where F is the frequency response at w.

    The fit error is the maximum value of the normalized error Ek over the data points (zk, Fk), where Ek is:

    Ek=FkFit(zk)F(AbsTol+RelTol×FkF)

    The algorithm achieves the desired accuracy when this worst-case ratio drops below 1.

    Show or hide progress report, specified as either "off" or "on".

    References

    [1] Nakatsukasa, Yuji, Olivier Sète, and Lloyd N. Trefethen. “The AAA Algorithm for Rational Approximation.” SIAM Journal on Scientific Computing 40, no. 3 (January 2018): A1494–1522. https://doi.org/10.1137/16M1106122.

    [2] Gosea, Ion Victor, and Stefan Güttel. “Algorithms for the Rational Approximation of Matrix-Valued Functions.” SIAM Journal on Scientific Computing 43, no. 5 (January 2021): A3033–54. https://doi.org/10.1137/20M1324727.

    Version History

    Introduced in R2025a