hinfsynOptions

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

Описание

пример

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

пример

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

Примеры

свернуть все

Используйте алгоритм, основанный на LMI, чтобы вычислить H-оптимальный контроллер для объекта с одним управляющим сигналом и двумя измерительными сигналами. Включите отображение, показывающее прогресс расчета. Использование 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отображение показывает:

  • Самые маленькие собственные значения нормализованных решений Riccati X = <reservedrangesplaceholder4>  / γ и Y = <reservedrangesplaceholder1>  / γ

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

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

  • Лучшие достигнутые gamma значение эффективности

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

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

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

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

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

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

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

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

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

    Когда 'Method' = 'MAXE'Доступны дополнительные опции, перечисленные в разделе «Параметры метода максимальной энтропии».

Для получения дополнительной информации о том, как эти алгоритмы работают, смотрите раздел Алгоритмы hinfsyn.

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

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

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

Опции метода Риккати

свернуть все

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

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

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

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

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

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

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

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

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

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

Предел усиления контроллера, заданный как разделенная разделенными запятой парами, состоящая из 'LimitGain' и любой из них 'on' или 'off'. Для растений непрерывного времени регуляризация исходных матриц объекта D 12 или D 21 ( см.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 объект опции. Используйте объект как входной параметр для hinfsyn или mixsyn. Для примера:

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

Ссылки

[1] Gahinet, P., and P. Apkarian. Подход линейного матричного неравенства к H∞-control. Int J. Robust and Nonlinear Control, Vol. 4, No4, 1994, pp. 421-448.

См. также

|

Введенный в R2018b