hinfsynOptions
Option set for hinfsyn and
      mixsyn
Description
Examples
Use the LMI-based algorithm to compute an -optimal controller for a plant with one control signal and two measurement signals. Turn on the display that shows the progress of the computation. Use hinfsynOptions to specify these algorithm options. 
Load the plant and specify the numbers of measurements and controls.
load hinfsynExData P ncont = 1; nmeas = 2;
Create an options set for hinfsyn that specifies the LMI-based algorithm and turns on the display.
opts = hinfsynOptions('Method','LMI','Display','on');
Alternatively, start with the default options set, and use dot notation to change option values.
opts = hinfsynOptions; opts.Method = 'LMI'; opts.Display = 'on';
Compute the controller.
[K,CL,gamma] = hinfsyn(P,nmeas,ncont,opts);
 Minimization of gamma:
 Solver for linear objective minimization under LMI constraints 
 Iterations   :    Best objective value so far 
 
     1
     2                 223.728733
     3                 138.078240
     4                 138.078240
     5                  74.644885
     6                  48.270221
     7                  48.270221
     8                  48.270221
     9                  19.665676
    10                  19.665676
    11                  11.607238
    12                  11.607238
    13                  11.607238
    14                   4.067958
    15                   4.067958
    16                   4.067958
    17                   2.154349
    18                   2.154349
    19                   2.154349
    20                   1.579564
    21                   1.579564
    22                   1.579564
    23                   1.236726
    24                   1.236726
    25                   1.236726
    26                   0.993342
    27                   0.993342
    28                   0.949318
    29                   0.949318
    30                   0.949318
    31                   0.945762
    32                   0.944063
    33                   0.941246
    34                   0.941246
    35                   0.940604
***                 new lower bound:     0.931668
 Result:  feasible solution of required accuracy
          best objective value:     0.940604
          guaranteed absolute accuracy:  8.94e-03
          f-radius saturation:  0.404% of R =  1.00e+08 
 
 Optimal Hinf performance:  9.397e-01 
Name-Value Arguments
Specify optional pairs of arguments as
      Name1=Value1,...,NameN=ValueN, where Name is
      the argument name and Value is the corresponding value.
      Name-value arguments must appear after other arguments, but the order of the
      pairs does not matter.
    
      Before R2021a, use commas to separate each name and value, and enclose 
      Name in quotes.
    
Example: 'Display','on','RelTol',0.05
General Options
Display optimization progress and generate report in the command window, specified
              as the comma-separated pair consisting of 'Display' and
                'on' or 'off'. The contents of the display
              depend on the value of the 'Method' option.
For 'Method' = 'RIC', the display shows the range of
              performance targets (gamma values) tested. For each
                gamma, the display shows:
- The smallest eigenvalues of the normalized Riccati solutions X = X∞/γ and Y = Y∞/γ 
- The spectral radius - rho(XY) = max(abs(eig(XY)))
- A pass/fail ( - p/f) flag indicating whether that- gammavalue satisfies the conditions X ≥ 0, Y ≥ 0, and- rho(XY)< 1
- The best achieved - gammaperformance value
For more information about the displayed information, see the Algorithms section
              of hinfsyn.
For 'Method' = 'LMI', the display shows the best achieved
                gamma value for each iteration of the optimization problem. It
              also displays a report of the best achieved value and other parameters of the
              computation.
Example: opts = hinfsynOptions('Display','on') creates an option
              set that turns the progress display on.
Optimization algorithm that hinfsyn or
                mixsyn uses to optimize closed-loop performance, specified as
              the comma-separated pair consisting of 'Method' and one of the
              following:
- 'RIC'— Riccati-based algorithm. The Riccati method is fastest, but cannot handle singular problems without first adding extra disturbances and errors. This process is called regularization, and is performed automatically by- hinfsynand- mixsynunless you set the- 'Regularize'option to- 'off'. With regularization, this method works well for most problems.- When - 'Method' = 'RIC', the additional options listed under Riccati Method Options are available.
- 'LMI'— LMI-based algorithm. This method requires no regularization, but is computationally more intensive than the Riccati method.- When - 'Method' = 'LMI', the additional options listed under LMI Method Options are available.
- 'MAXE'— Maximum-entropy algorithm.- When - 'Method' = 'MAXE', the additional options listed under Maximum-Entropy Method Options are available.
For more information about how these algorithms work, see the Algorithms section
              of hinfsyn.
Example: opts = hinfsynOptions('Mathod','LMI') creates an option
              set that specifies the LMI-based optimization algorithm.
Relative accuracy on the optimal H∞
              performance, specified as the comma-separated pair consisting of
                'RelTol' and a positive scalar value. The algorithm stops testing
                γ values when the relative difference between the last failing
              value and last passing value is less than RelTol.
Example: opts = hinfsynOptions('RelTol',0.05) creates an option
              set that sets the relative accuracy to 0.05.
Riccati Method Options
Absolute accuracy on the optimal H∞
              performance, specified as the comma-separated pair consisting of
                'AbsTol' and a positive scalar value.  
Example: opts = hinfsynOptions('AbsTol',1e-4) creates an option
              set that sets the absolute accuracy to 0.0001.
Automatic plant scaling, specified as the comma-separated pair consisting of
                'AutoScale' and one of the following: 
- 'on'— Automatically scales the plant states, controls, and measurements to improve numerical accuracy.- hinfsynalways returns the controller- Kin the original unscaled coordinates.
- 'off'— Does not change the plant scaling. Turning off scaling when you know your plant is well scaled can speed up the computation.
Example: opts = hinfsynOptions('AutoScale','off') creates an
              option set that turns off automatic scaling.
Automatic regularization of the plant, specified as the comma-separated pair
              consisting of 'Regularize' and one of: 
- 'on'— Automatically regularizes the plant to enforce requirements on P12 and P21 (see- hinfsyn). Regularization is a process of adding extra disturbances and errors to handle singular problems.
- 'off'— Does not regularize the plant. Turning off regularization can speed up the computation when you know your problem is far enough from singular.
Example: opts = hinfsynOptions('Regularize','off') creates an
              option set that turns off regularization.
Limit on controller gains, specified as the comma-separated pair consisting of
                'LimitGain' and either 'on' or
                'off'.  For continuous-time plants, regularization of plant
              feedthrough matrices D12 or
                D21 (see hinfsyn) can result in controllers with large coefficients and fast
              dynamics. Use this option to automatically seek a controller with the same performance
              but lower gains and better conditioning. 
LMI Method Options
Limit on norm of LMI solutions, specified as the comma-separated pair consisting
              of 'LimitRS' and a scalar factor in the range [0,1]. Increase this
              value to slow the controller dynamics by penalizing large-norm LMI solutions. See
                [1].
Reduced-order synthesis tolerance, specified as the comma-separated pair
              consisting of 'TolRS' and a positive scalar value.
                hinfsyn computes a reduced-order controller when 1
                <= rho(R*S) <= TolRs, where rho(A) is the
              spectral radius, max(abs(eig(A))).
Maximum-Entropy Method Options
Frequency at which to evaluate entropy, specified as a real scalar value. For more
              information, see the Algorithms section of hinfsyn.
Output Arguments
Options for the hinfsyn or mixsyn
            computation, returned as an hinfsyn options object. Use the object
            as an input argument to hinfsyn or mixsyn. For
            example:
[K,CL,gamma,info] = hinfsyn(P,nmeas,ncont,opts);
References
[1] Gahinet, P., and P. Apkarian. "A linear matrix inequality approach to H∞-control." Int J. Robust and Nonlinear Control, Vol. 4, No. 4, 1994, pp. 421–448.
Version History
Introduced in R2018b
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)