Набор опций для hinfsyn и mixsyn
Используйте алгоритм, основанный на LMI, чтобы вычислить -оптимальный контроллер для объекта с одним управляющим сигналом и двумя измерительными сигналами. Включите отображение, показывающее прогресс расчета. Использование 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' - Отобразите прогресс и сгенерируйте отчет'off' (по умолчанию) | 'on'Отобразите прогресс оптимизации и сгенерируйте отчет в командном окне, заданном как разделенная разделенными запятой парами, состоящая из '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') создает набор опций, который включает отображение прогресса.
'Method' - Алгоритм оптимизации'RIC' (по умолчанию) | 'LMI'Алгоритм оптимизации, который hinfsyn или mixsyn используется для оптимизации эффективности в системе с обратной связью, заданной как разделенная разделенными запятой парами, состоящая из 'Method' и одно из следующих:
'RIC' - алгоритм, основанный на Риккати. Метод Риккати самый быстрый, но не может справиться с сингулярными проблемами, не добавив сначала дополнительные нарушения порядка и ошибки. Этот процесс называется регуляризацией и выполняется автоматически hinfsyn и mixsyn если вы не задаете 'Regularize' опция для 'off'. При регуляризации этот метод хорошо работает для большинства задач.
Когда 'Method' = 'RIC'доступны дополнительные опции, перечисленные в разделе «Параметры метода Риккати».
'LMI' - алгоритм, основанный на LMI. Этот метод не требует регуляризации, но является в вычислительном отношении более интенсивным, чем метод Риккати.
Когда 'Method' = 'LMI'Доступны дополнительные опции, перечисленные в разделе Опции метода LMI.
'MAXE' - Алгоритм максимальной энтропии.
Когда 'Method' = 'MAXE'Доступны дополнительные опции, перечисленные в разделе «Параметры метода максимальной энтропии».
Для получения дополнительной информации о том, как эти алгоритмы работают, смотрите раздел Алгоритмы hinfsyn.
Пример: opts = hinfsynOptions('Mathod','LMI') создает набор опций, который задает основанный на LMI алгоритм оптимизации.
'RelTol' - Относительная точность на оптимальном H ∞ эффективностьОтносительная точность на оптимальном H ∞ эффективность, заданная как разделенная разделенными запятой парами, состоящая из 'RelTol' и положительная скалярная величина значение. Алгоритм останавливает тестирование значений γ, когда относительное различие между последним неудачным значением и последним проходящим значением меньше RelTol.
Пример: opts = hinfsynOptions('RelTol',0.05) создает набор опций, который устанавливает относительную точность 0,05.
'AbsTol' - Абсолютная точность на оптимальном H ∞ эффективностьАбсолютная точность на оптимальном H ∞ эффективность, заданная как разделенная разделенными запятой парами, состоящая из 'AbsTol' и положительная скалярная величина значение.
Пример: opts = hinfsynOptions('AbsTol',1e-4) создает набор опций, который устанавливает абсолютную точность 0,0001.
'AutoScale' - Автоматическое масштабирование объекта'on' (по умолчанию) | 'off'Автоматическое масштабирование объекта управления, заданное как разделенная разделенными запятой парами, состоящая из 'AutoScale' и одно из следующих:
'on' - Автоматическое масштабирование состояния объекта управления, а также измерений для повышения численной точности. hinfsyn всегда возвращает контроллер K в исходных немасштабированных координатах.
'off' - Не изменяет масштабирование объекта. Отключение масштабирования, когда вы знаете, что ваш объект хорошо масштабировано, может ускорить расчет.
Пример: opts = hinfsynOptions('AutoScale','off') создает набор опций, который отключает автоматическое масштабирование.
'Regularize' - Автоматическая регуляризация'on' (по умолчанию) | 'off'Автоматическая регуляризация объекта управления, заданная как разделенная разделенными запятой парами, состоящая из 'Regularize' и один из:
'on' - Автоматическое упорядочивание объекта для обеспечения соблюдения требований к P 12 и P 21 ( см.hinfsyn). Регуляризация является процессом добавления дополнительных нарушений порядка и ошибок для решения сингулярных задач.
'off' - Не регулирует работу объекта. Выключение регуляризации может ускорить расчет, когда вы знаете, что ваша задача достаточно далека от сингулярной.
Пример: opts = hinfsynOptions('Regularize','off') создает набор опций, который отключает регуляризацию.
'LimitGain' - Предел на коэффициент усиления контроллера'on' (по умолчанию) | 'off'Предел усиления контроллера, заданный как разделенная разделенными запятой парами, состоящая из 'LimitGain' и любой из них 'on' или 'off'. Для растений непрерывного времени регуляризация исходных матриц объекта D 12 или D 21 ( см.hinfsyn) может привести к контроллерам с большими коэффициентами и быстрой динамикой. Используйте эту опцию для автоматического поиска контроллера с той же эффективностью, но с меньшими коэффициентами усиления и лучшим состоянием.
'LimitRS' - Предел на норму LMI решенийПредел на норму LMI решений, заданное как разделенная разделенными запятой парами, состоящая из 'LimitRS' и скалярный коэффициент в области значений [0,1]. Увеличьте это значение, чтобы замедлить динамику контроллера, штрафуя LMI- решений с большой нормой. См. раздел [1].
'TolRS' - Допуск синтеза пониженного порядкаДопуск синтеза пониженного порядка, заданный как разделенная разделенными запятой парами, состоящая из 'TolRS' и положительная скалярная величина значение. hinfsyn вычисляет контроллер пониженного порядка при 1 <= rho(R*S) <= TolRs, где rho(A) - спектральный радиус, max(abs(eig(A))).
'S0' - Частота, на которой можно оценить энтропиюInf (по умолчанию) | действительный скалярЧастота, на которой можно оценить энтропию, заданная как действительное скалярное значение. Для получения дополнительной информации смотрите раздел Алгоритмы hinfsyn.
opts - Опции для hinfsyn и mixsynhinfsyn объект опцииОпции для 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.
У вас есть измененная версия этого примера. Вы хотите открыть этот пример с вашими правками?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.