hinfsynOptions

Опция установлена для hinfsyn

Синтаксис

opts = hinfsynOptions
opts = hinfsynOptions(Name,Value)

Описание

пример

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

пример

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

Примеры

свернуть все

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

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

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.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) — соответствующее значение. Name должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.

Пример: 'Display','on','RelTol',0.05

Общие опции

свернуть все

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

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

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

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

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

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

Для получения дополнительной информации об отображенной информации, смотрите раздел Algorithms hinfsyn.

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

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

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

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

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

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

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

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

    Когда 'Method' = 'MAXE', дополнительные опции, перечисленные в соответствии с Максимально-энтропийными Опциями Метода, доступен.

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

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

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

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

Опции метода Riccati

свернуть все

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

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

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

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

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

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

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

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

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

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

Ограничьте на усилениях контроллера, заданных как пара, разделенная запятой, состоящая из '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))).

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

свернуть все

Частота, на которой можно оценить энтропию, заданную как действительное скалярное значение. Для получения дополнительной информации смотрите раздел Algorithms hinfsyn.

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

свернуть все

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

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

Ссылки

[1] Gahinet, P. и П. Апкэриэн. "Линейный матричный подход неравенства к -управлению H". Int J. Устойчивое и Нелинейное Управление, Издание 4, № 4, 1994, стр 421–448.

Смотрите также

Введенный в R2018b