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' display, см. Robust Performance Measure for Mu-Synthesis.

Пример: 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 возвращает контроллер с большей эффективностью.

Для получения дополнительной информации см. «Улучшение результатов Mu-Synthesis».

Пример: 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 масштабирования, см., Robust Performance Measure for Mu-Synthesis.

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

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

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

Чтобы увидеть, нужно ли увеличить максимальный порядок, исследуйте musyn отображение в командной строке для грубой индикации качества подгонки. The 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'. Для растений непрерывного времени регуляризация исходных матриц объекта D 12 или D 21 ( см.hinfsyn) может привести к контроллерам с большими коэффициентами и быстрой динамикой. Используйте эту опцию для автоматического поиска контроллера с той же эффективностью, но с меньшими коэффициентами усиления и лучшим состоянием.

Опции для K-шага со структурированным контроллером (hinfstruct Проектирование контроллера)

свернуть все

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

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

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

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

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

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

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

  • Если Вы выбираете Automatically create a parallel pool в Ваших настройках Parallel Computing Toolbox (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 объект опции. Используйте объект как входной параметр для musyn. Для примера:

[K,CLperf,info] = musyn(P,nmeas,ncont,opts);
Введенный в R2019b