exponenta event banner

hinfsynOptions

Набор опций для hinfsyn и mixsyn

Описание

пример

opts = hinfsynOptions создает набор опций по умолчанию для hinfsyn и mixsynкоманды.

пример

opts = hinfsynOptions(Name,Value) создает набор опций с опциями, заданными одним или несколькими Name,Value аргументы пары.

Примеры

свернуть все

Используйте алгоритм на основе LMI для вычисления контроллера H∞-optimal для установки с одним управляющим сигналом и двумя измерительными сигналами. Включите дисплей, показывающий ход выполнения вычислений. Использовать hinfsynOptions для задания этих параметров алгоритма.

Загрузите установку и укажите количество измерений и органов управления.

load hinfsynExData P
ncont = 1; 
nmeas = 2; 

Создание набора параметров для hinfsyn определяет алгоритм на основе LMI и включает дисплей.

opts = hinfsynOptions('Method','LMI','Display','on');

Можно также начать с набора опций по умолчанию и использовать точечную нотацию для изменения значений опций.

opts = hinfsynOptions;
opts.Method = 'LMI';
opts.Display = 'on';

Вычислите контроллер.

[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.993341
    27                   0.993341
    28                   0.949317
    29                   0.949317
    30                   0.949317
    31                   0.945765
    32                   0.944068
    33                   0.941253
    34                   0.941253
    35                   0.940613
***                 new lower bound:     0.931677

 Result:  feasible solution of required accuracy
          best objective value:     0.940613
          guaranteed absolute accuracy:  8.94e-03
          f-radius saturation:  0.404% of R =  1.00e+08 
 
 Optimal Hinf performance:  9.397e-01 

Входные аргументы

свернуть все

Аргументы пары «имя-значение»

Укажите дополнительные пары, разделенные запятыми Name,Value аргументы. Name является именем аргумента и Value - соответствующее значение. Name должен отображаться внутри кавычек. Можно указать несколько аргументов пары имен и значений в любом порядке как Name1,Value1,...,NameN,ValueN.

Пример: 'Display','on','RelTol',0.05
Общие параметры

свернуть все

Отображение хода оптимизации и создание отчета в командном окне, указанном как разделенная запятыми пара, состоящая из 'Display' и 'on' или 'off'. Содержимое дисплея зависит от значения 'Method' вариант.

Для 'Method' = 'RIC', на дисплее отображается диапазон целевых показателей производительности (gamma значения) протестированы. Для каждого gamma, на дисплее отображаются:

  • Наименьшие собственные значения нормализованных решений Риккати X = X∞/γ и Y = Y∞/γ

  • Спектральный радиус rho(XY) = max(abs(eig(XY)))

  • A Проход/сбой (p/f) флаг, указывающий, gamma значение удовлетворяет условиям X ≥ 0, Y ≥ 0 и rho(XY) < 1

  • Лучшее достигнуто gamma значение производительности

Дополнительные сведения о отображаемой информации см. в разделе Алгоритмы hinfsyn.

Для 'Method' = 'LMI', дисплей показывает наилучшие достигнутые результаты gamma значение для каждой итерации задачи оптимизации. Он также отображает отчет о наилучшем достигнутом значении и других параметрах вычислений.

Пример: opts = hinfsynOptions('Display','on') создает набор опций, который включает отображение хода выполнения.

Алгоритм оптимизации, который hinfsyn или mixsyn использует для оптимизации производительности по замкнутому циклу, определяемой как пара, разделенная запятыми, состоящая из 'Method' и одно из следующих:

  • 'RIC' - алгоритм на основе Riccati. Метод Риккати является быстрым, но не может справиться с единичными проблемами без добавления дополнительных возмущений и ошибок. Этот процесс называется регуляризацией и выполняется автоматически hinfsyn и mixsyn если вы не установили 'Regularize' опция для 'off'. При регуляризации этот метод хорошо работает для большинства проблем.

    Когда 'Method' = 'RIC', доступны дополнительные опции, перечисленные в разделе Параметры метода Riccati.

  • 'LMI' - алгоритм на основе LMI. Этот метод не требует регуляризации, но вычислительно более интенсивен, чем метод Риккати.

    Когда 'Method' = 'LMI', доступны дополнительные опции, перечисленные в разделе Опции метода LMI.

  • 'MAXE' - алгоритм максимальной энтропии.

    Когда 'Method' = 'MAXE'доступны дополнительные опции, перечисленные в разделе Опции метода максимальной энтропии (Maximum-Entropy Method Options).

Дополнительные сведения о работе этих алгоритмов см. в разделе Алгоритмы hinfsyn.

Пример: opts = hinfsynOptions('Mathod','LMI') создает набор опций, который задает алгоритм оптимизации на основе LMI.

Относительная точность при оптимальной производительности H∞, определяемая как пара, разделенная запятыми, состоящая из 'RelTol' и положительное скалярное значение. Алгоритм прекращает проверку значений γ, когда относительная разница между последним значением сбоя и последним значением прохождения меньше RelTol.

Пример: opts = hinfsynOptions('RelTol',0.05) создает набор опций, задающий относительную точность 0,05.

Параметры метода Riccati

свернуть все

Абсолютная точность при оптимальной производительности H∞, определяемая как пара, разделенная запятыми, состоящая из 'AbsTol' и положительное скалярное значение.

Пример: opts = hinfsynOptions('AbsTol',1e-4) создает набор опций, задающий абсолютную точность 0,0001.

Автоматическое масштабирование установки, указанное как разделенная запятыми пара, состоящая из 'AutoScale' и одно из следующих:

  • 'on' - автоматическое масштабирование состояний установки, средств управления и измерений для повышения числовой точности. hinfsyn всегда возвращает контроллер K в исходных не масштабированных координатах.

  • 'off' - Не изменяет масштабирование установки. Отключение масштабирования, когда вы знаете, что ваш завод хорошо масштабирован, может ускорить вычисления.

Пример: opts = hinfsynOptions('AutoScale','off') создает набор опций, отключающий автоматическое масштабирование.

Автоматическая регуляризация установки, определяемая как разделенная запятыми пара, состоящая из 'Regularize' и один из:

  • 'on' - Автоматическая регуляризация установки для выполнения требований к P12 и P21 (см. hinfsyn). Регуляризация - это процесс добавления дополнительных возмущений и ошибок для обработки единичных проблем.

  • 'off' - Не регулирует завод. Отключение регуляризации может ускорить вычисления, когда вы знаете, что ваша проблема достаточно далека от единичной.

Пример: opts = hinfsynOptions('Regularize','off') создает набор опций, который отключает регуляризацию.

Предел усиления контроллера, указанный как пара, разделенная запятыми, состоящая из 'LimitGain' и либо 'on' или 'off'. Для установок непрерывного времени регуляризация матриц прохождения через установку D12 или D21 (см. hinfsyn) может привести к контроллерам с большими коэффициентами и быстрой динамикой. Используйте эту опцию для автоматического поиска контроллера с такой же производительностью, но с более низким коэффициентом усиления и улучшенной кондиционированностью.

Параметры метода LMI

свернуть все

Предел по норме решений LMI, определяемый как разделенная запятыми пара, состоящая из 'LimitRS' и скалярный коэффициент в диапазоне [0,1]. Увеличьте это значение, чтобы замедлить динамику контроллера, наказывая решения LMI с большими нормами. См. [1].

Допуск синтеза с уменьшенным порядком, указанный как пара, разделенная запятыми, состоящая из 'TolRS' и положительное скалярное значение. hinfsyn вычисляет контроллер уменьшенного порядка, когда 1 <= rho(R*S) <= TolRs, где rho(A) - спектральный радиус, max(abs(eig(A))).

Опции метода максимальной энтропии

свернуть все

Частота, при которой вычисляется энтропия, заданная как действительное скалярное значение. Дополнительные сведения см. в разделе Алгоритмы hinfsyn.

Выходные аргументы

свернуть все

Опции для hinfsyn или mixsyn вычисление, возвращенное как hinfsyn объект options. Использовать объект в качестве входного аргумента для hinfsyn или mixsyn. Например:

[K,CL,gamma,info] = hinfsyn(P,nmeas,ncont,opts);

Ссылки

[1] Гахинет, П. и П. Апкарян. «Подход линейного матричного неравенства к H∞-control». Int J. Надежный и нелинейный контроль, том 4, № 4, 1994, стр. 421-448.

См. также

|

Представлен в R2018b