exponenta event banner

musynOptions

Описание

пример

opts = musynOptions возвращает опции по умолчанию для выполнения λ синтеза с помощью musyn команда.

пример

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

Примеры

свернуть все

Создание набора параметров для musyn который включает смешанный анализ для реальной неопределенности, ограничивает шкалы D и G для повторных ureal блоки являются диагональными и ограничивают максимальное число итераций D-K 20.

opts = musynOptions('MixedMU','on','FullDG',false,'MaxIter',20)
opts = 
  musyn with properties:

          Display: 'short'
          MaxIter: 20
       TargetPerf: 0
          TolPerf: 0.0100
          MixedMU: 'on'
           FullDG: [0 0]
         FitOrder: [5 2]
    FrequencyGrid: [0x1 double]
        AutoScale: 'on'
       Regularize: 'on'
        LimitGain: 'on'
      RandomStart: 0
      UseParallel: 0
         MinDecay: 1.0000e-07
     MaxFrequency: Inf

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

opts = musynOptions;
opts.MixedMu = 'on';
opts.FullDG  = false;
opts.MaxIter = 20;

Теперь вы можете использовать opts в качестве входного аргумента для musyn для выполнения λ синтеза с использованием указанных опций.

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

свернуть все

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

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

Пример: opts = musynOptions('MaxIter',20,'MixedMU','on') создает набор опций для musyn указать, что функция учитывает наличие реальной неопределенности и остановить процесс итерации D-K после максимум 20 итераций.
Общие параметры

свернуть все

Флаг для отображения хода итераций D-K и формирования отчета в командном окне, указанном как разделенная запятыми пара, состоящая из 'Display' и 'short', 'full', или 'off'.

  • 'short' - отображение краткой сводки после каждой итерации.

  • 'full' - пауза после каждой итерации и отображение подробных результатов, включая графики данных масштабирования D и G и частотную зависимость λ.

  • 'off' - Выключить дисплей.

Дополнительные сведения о том, как интерпретировать значение по умолчанию 'short' дисплей и 'full' см. раздел Измерение надежной производительности для синтеза Mu.

Пример: opts = musynOptions('Display','off') создает набор опций для musyn это отключает отображение.

Максимальное число итераций D-K, указанное как разделенная запятыми пара, состоящая из 'MaxIter' и положительное целое число. musyn останавливается после указанного количества итераций или при остановке допуска, указанного в 'TolPerfВариант «» достигнут, в зависимости от того, что меньше.

Пример: opts = musynOptions('MaxIter',20) создает набор опций для musyn задает максимум 20 итераций.

Целевая надежная производительность H∞, указанная как разделенная запятыми пара, состоящая из 'TargetPerf' и неотрицательный скаляр. По умолчанию musyn пытается обеспечить надежную производительность H∞ (PeakMu в отображении по умолчанию) до нуля в каждой итерации. Если установить 'TargetPerf' до ненулевого значения, то итерация D-K завершается, когда производительность надежного H∞ падает ниже этого целевого значения. Если известно, что система может допускать худшие значения этой метрики производительности, увеличение этого значения может ускорить H∞ часть итерации D-K. Дополнительные сведения об этой метрике производительности см. в разделе musynperf.

Пример: opts = musynOptions('TargetPerf',1) создает набор опций для musyn указывает целевое значение производительности H∞, равное 1.

Остановка допуска, заданного как разделенная запятыми пара, состоящая из 'TolPerf' и неотрицательный скаляр. musyn вычисление завершается, когда производительность надежного H∞ улучшается менее чем на это значение в течение двух последовательных итераций. Из-за ограниченной точности подгонки шкал D и G снижение 'TolPerf' ниже значения по умолчанию не обязательно дает более точные результаты.

Если 'TolPerf' = 0, затем musyn всегда выполняет число итераций, указанное в 'MaxIter', независимо от изменений в надежной производительности от итерации к итерации.

Пример: opts = musynOptions('TolPerf',0) создает набор опций для musyn это приводит к тому, что функция всегда выполняет число итераций, указанное в MaxIter.

Опции для шага D (мкАнализ)

свернуть все

Опция для задания вещественного или сложного, заданного как разделенная запятыми пара, состоящая из 'MixedMU' и 'off' или 'on'. По умолчанию musyn рассматривает все неопределенности как сложные, что может привести к чрезмерно консервативным оценкам для верхней границы на λ. Если у вашего завода есть реальные неопределенные параметры, попробуйте установить 'MixedMu' кому 'on' чтобы увидеть, если musyn возвращает контроллер с более высокой производительностью.

Дополнительные сведения см. в разделе Улучшение результатов синтеза мю.

Пример: opts = musynOptions('MixedMU','on') создает набор опций для musyn это заставляет функцию учитывать наличие реальной неопределенности.

Структура шкал D и G, определяемая как разделенная запятыми пара, состоящая из 'FullDG' и true, false, [true false], или [false true].

По умолчанию musyn использует полное масштабирование для неопределенных блоков, которые появляются несколько раз в системе управления. Матрицы полного масштабирования могут иметь зависящие от частоты записи как на диагонали, так и вне ее. Альтернатива, диагональное масштабирование, эквивалентна обработке каждого повторяющегося блока как независимого экземпляра неопределенного параметра. Поэтому полное масштабирование является менее консервативным, чем диагональное масштабирование, и может обеспечить лучшую надежную производительность.

Однако, когда блоки повторяются более примерно четыре или пять раз, полное масштабирование может быть нецелесообразным, что приводит к длительным вычислениям, нежелательно контроллерам высокого порядка или и тем, и другим. В таких случаях ограничение масштабирования диагональю может улучшить результаты. Для этого установите 'FullDG' кому:

  • false для ограничения масштаба D и G диагональю.

  • [true false] для использования полного D-масштабирования, но диагонального G-масштабирования. Этот параметр полезен, так как установка полных шкал G с большей вероятностью вызовет контроллеры высокого порядка, чем полное масштабирование D.

  • [false true] для использования полного G-масштабирования, но диагонального D-масштабирования. Этот параметр полезен, если требуется полное масштабирование G, чтобы получить хорошее вписывание, но обратите внимание, что полное масштабирование D не улучшается musyn результаты.

Для получения подробной информации о том, как musyn алгоритм использует масштабирование D и G, см. Надежный показатель производительности для синтеза Mu.

Пример: opts = musynOptions('FullDG',false) создает набор опций для musyn это заставляет функцию использовать диагональные шкалы как для D, так и для G.

Максимальный порядок подгонки данных масштабирования D и G, указанный как пара, разделенная запятыми, состоящая из 'FitOrder' и вектор из двух положительных целых чисел. Целые числа определяют максимальные порядки подгонки для шкал D и G соответственно. (Для получения подробной информации о том, как musyn алгоритм использует и подходит для масштабирования, см. Надежный показатель производительности для синтеза Mu.)

Для каждой итерации musyn подгоняет каждую запись в матрицах масштабирования D и G рациональной функцией, порядок которой выбирается автоматически. По умолчанию максимальный порядок равен 5 для D-масштабирования и 2 для G-масштабирования. (G-масштабирование для динамики в дополнение к динамике, необходимой для фиксации изменений знака, поэтому окончательный порядок G-посадки может быть выше.) В общем, чем выше порядок этих функций, тем выше порядок результирующего контроллера.

Чтобы узнать, нужно ли увеличивать максимальный порядок, проверьте musyn отображение командной строки для грубой индикации качества посадки. Peak MU и DG Fit столбцы дисплея обеспечивают наилучшую полученную надежную производительность до и после установки, соответственно. Если значение любой заданной итерации резко увеличивается после подгонки, можно получить лучшие результаты, увеличив максимальный порядок.

И наоборот, если максимальный порядок масштабирования по умолчанию дает хороший результат, можно попытаться уменьшить максимальный порядок, чтобы увидеть, musyn возвращает контроллер более низкого порядка с аналогичной производительностью.

Пример: opts = musynOptions('FitOrder',[3 2]) создает набор опций для musyn это уменьшает максимальный порядок подгонки до 3 для D-масштабирования и 2 для G-масштабирования.

Частотная сетка, используемая для мканализа, заданная как разделенная запятыми пара, состоящая из 'FrequencyGrid' и пустой вектор или вектор частот в радианах в секунду. По умолчанию musyn вычисляет соответствующую частотную сетку на основе динамики системы и частотной зависимости данных масштабирования D и G. Это значение по умолчанию обычно дает лучшие результаты, чем пользовательская частотная сетка, которая ограничивает вычисления заданными частотами независимо от фактической частотной зависимости данных масштабирования. Поэтому указывать частоты не рекомендуется, если не известен диапазон частот, в котором изменяются D и G.

Параметры шага K с неструктурированным контроллером (hinfsyn Конструкция контроллера)

свернуть все

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

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

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

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

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

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

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

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

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

Опции для K Step со структурированным контроллером (hinfstruct Конструкция контроллера)

свернуть все

Количество дополнительных оптимизаций начинается с рандомизированных значений перестраиваемых параметров контроллера, определяемых как пара, разделенная запятыми, состоящая из 'RandomStart' и 0 или положительное целое число.

По умолчанию андерлаинг hinfstruct вычисление выполняет один прогон оптимизации, начиная с начальных значений перестраиваемых параметров. hinfstruct находит локальный минимум проблемы минимизации усиления. Чтобы уменьшить риск преждевременного прекращения из-за локального минимума, который не является лучшим контроллером, можно выполнить несколько независимых итераций D-K, инициализированных из различных значений параметров контроллера. Настройка RandomStart = N > 0 запускает N дополнительных musyn оптимизации, начиная с N случайным образом сформированных значений параметров.

Рандомизация влияет только на инициализацию всего прогона итерации D-K. Это не влияет на каждый вызов hinfstruct в прогоне итерации D-K.

После завершения всех прогонов musyn использует наилучшую конструкцию, которая является результатом нескольких трасс.

Использовать с 'UseParallel' = true для распределения независимых прогонов оптимизации среди работников MATLAB ® (требуется программное обеспечение Parallel Computing Toolbox™).

Пример: opts = musynOptions('RandomStart',5) создает набор опций для musyn который запускает нижележащий hinfstruct вычисление в общей сложности шесть раз, используя рандомизированные начальные значения для настраиваемых параметров.

Опция для включения параллельных вычислений, заданная как разделенная запятыми пара, состоящая из 'UseParallel' и false или true. При использовании musyn чтобы настроить структурированный контроллер, установите для этой опции значение true для распределения независимых прогонов оптимизации среди работников MATLAB в параллельном пуле. Если имеется доступный параллельный пул, программное обеспечение выполняет независимую оптимизацию одновременно среди работников этого пула. Если параллельный пул недоступен, происходит одно из следующих действий:

  • Если выбрать параметр Автоматически создавать параллельный пул в настройках панели инструментов параллельных вычислений (Parallel Computing Toolbox), программа запустит параллельный пул, используя настройки в этих настройках.

  • Если в настройках не выбран параметр Автоматически создавать параллельный пул (Automatically create a parallel pool), программа выполняет оптимизацию последовательно, без параллельной обработки.

Для использования параллельных вычислений требуется программное обеспечение Parallel Computing Toolbox.

Пример: opts = musynOptions('UseParallel',true) создает набор опций для musyn который включает параллельные вычисления для базового hinfstruct вычисления.

Минимальная скорость затухания для полюсов с замкнутым контуром, указанная как пара, разделенная запятыми, состоящая из 'MinDecay' и положительное скалярное значение. Полюса замкнутой системы ограничены для удовлетворения Re(p) < -MinDecay. Увеличьте это значение, чтобы улучшить стабильность полюсов замкнутого контура, которые не влияют на усиление замкнутого контура из-за гашения нулевого полюса.

Определить MinDecay в единицах 1/TimeUnit, относительно TimeUnit свойства настраиваемой системы.

Максимальная собственная частота замкнутого контура, заданная как разделенная запятыми пара, состоящая из 'MaxFrequency' и Inf или положительное скалярное значение. Настройка MaxFrequency ограничивает полюса замкнутого контура для удовлетворения |p| < MaxFrequency. Позволять musyn выбрать полюса замкнутого контура без такого ограничения, установить MaxFrequency = Inf. Для предотвращения нежелательной быстрой динамики или управления с высоким коэффициентом усиления установите MaxFrequency до конечного значения.

Определить MaxFrequency в единицах 1/TimeUnit, относительно TimeUnit свойства настраиваемой системы.

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

свернуть все

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

[K,CLperf,info] = musyn(P,nmeas,ncont,opts);
Представлен в R2019b