hinfstructOptions

Установите опции для hinfstruct

Синтаксис

options = hinfstructOptions
options = hinfstructOptions(Name,Value)

Описание

options = hinfstructOptions возвращает набор опций по умолчанию для hinfstruct команда.

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

Входные параметры

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

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

hinfstructOptions принимает следующие Name аргументы:

'Display'

Определяет объем информации для отображения во время hinfstruct оптимизация выполняется.

Display принимает следующие значения:

  • 'off'hinfstruct выполняется в режиме silent, не отображая никакой информации во время или после запуска.

  • 'iter' - Отображать прогресс оптимизации после каждой итерации. Отображение включает значение нормы H ∞ системе с обратной связью после каждой итерации. Это отображение также включает в себя Progress значение, указывающее процент изменения нормы H ∞ от предыдущей итерации.

  • 'final' - отображение сводки в одну строку в конце каждого запуска оптимизации. Отображение включает минимизированное значение нормы H ∞ системе с обратной связью и количество итераций для каждого запуска.

По умолчанию: 'final'

'MaxIter'

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

По умолчанию: 300

'RandomStart'

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

Если   RandomStart = 0, hinfstruct выполняет один запуск оптимизации, начиная с начальных значений настраиваемых параметров. Настройка     RandomStart = N > 0 запускает N дополнительные оптимизации, начиная с N случайным образом сгенерированных значений параметров.

hinfstruct находит локальный минимум задачи минимизации усиления. Чтобы увеличить вероятность нахождения значений параметров, соответствующих вашим проектам требованиям, установите   RandomStart > 0. Затем можно использовать лучший проект, который является результатом нескольких запусков оптимизации.

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

По умолчанию: 0

'UseParallel'

Флаг параллельной обработки.

Установите значение true разрешить параллельную обработку путем распределения рандомизированных запусков среди работников в параллельном пуле. Если существует доступный параллельный пул, программное обеспечение выполняет независимую оптимизацию запусков одновременно среди работников этого пула. Если параллельный пул недоступен, происходит одно из следующих действий:

  • Если Automatically create a parallel pool отобран в Ваших настройках Parallel Computing Toolbox (Parallel Computing Toolbox), то программное обеспечение начинает параллельный бассейн, используя параметры настройки в тех настройках.

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

Если Automatically create a parallel pool не выбран в настройках, можно вручную запустить параллельный пул с помощью parpool (Parallel Computing Toolbox) перед запуском команды настройки.

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

По умолчанию: false

'TargetGain'

Целевая H ∞ норма.

hinfstruct оптимизация останавливается, когда H ∞ norm (пиковое усиление в системе с обратной связью) падает ниже заданного TargetGain значение.

Задайте   TargetGain = 0 оптимизировать эффективность контроллера путем минимизации пикового усиления в системе с обратной связью. Задайте   TargetGain = Inf чтобы просто стабилизировать систему с обратной связью.

По умолчанию: 0

'TolGain'

Относительная погрешность для завершения. Оптимизация прекращается, когда H нормы ∞ уменьшается менее чем на TolGain более 10 последовательных итераций. Увеличение TolGain ускоряет завершение и уменьшает TolGain приводит к более жестким конечным значениям.

По умолчанию: 0.001

'MaxFrequency'

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

Настройка MaxFrequency ограничивает полюса с обратной связью, чтобы удовлетворить   |p| < MaxFrequency.

Позволять hinfstruct автоматически выберите полюса с обратной связью на основе динамики разомкнутого контура, установите   MaxFrequency = Inf. Чтобы предотвратить нежелательную быструю динамику или управление с высоким усилением, установите MaxFrequency к конечному значению.

Задайте MaxFrequency в модули 1/ TimeUnit, относительно TimeUnit свойство системы, которую вы настраиваете.

По умолчанию: Inf

'MinDecay'

Минимальная скорость распада для полюсов с обратной связью

Ограничивает полюса с обратной связью, чтобы удовлетворить   Re(p) < -MinDecay. Увеличьте это значение, чтобы улучшить стабильность полюсов с обратной связью, которые не влияют на усиление с обратной связью из-за гашения полюса/нуля.

Задайте MinDecay в модули 1/ TimeUnit, относительно TimeUnit свойство системы, которую вы настраиваете.

По умолчанию: 1e-7

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

options

Набор опций, содержащий указанные опции для hinfstruct команда.

Примеры

свернуть все

Создайте набор опций для hinfstruct запуск с использованием трех случайных перезапусков и смещения устойчивости 0,001. Кроме того, сконфигурируйте hinfstruct остановиться, как только коэффициент усиления в системе с обратной связью будет меньше 1.

 options = hinfstructOptions('TargetGain',1,...
                          'RandomStart',3,'StableOffset',1e-3);

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

options = hinfstructOptions;
options.TargetGain = 1;
options.RandomStart = 3;
options.StableOffset = 1e-3;

Сконфигурируйте набор опций для hinfstruct запуск с использованием 20 случайных перезапусков. Выполните эти независимые запуски оптимизации одновременно на нескольких рабочих местах в параллельном пуле.

Если у вас установлено программное обеспечение Parallel Computing Toolbox, можно использовать параллельные вычисления, чтобы ускорить hinfstruct настройка систем управления с фиксированной структурой. Когда вы запускаете несколько рандомизированных hinfstruct начинается оптимизация, параллельные вычисления ускоряют настройку путем распределения запусков оптимизации среди рабочих.

Если Automatically create a parallel pool не отобран в Ваших настройках Parallel Computing Toolbox (Parallel Computing Toolbox), вручную начните параллельное использование бассейна parpool (Parallel Computing Toolbox). Для примера:

parpool;

Если Automatically create a parallel pool выбран в настройках, не нужно вручную запускать пул.

Создайте hinfstructOptions набор, который задает 20 случайных перезапусков для параллельного запуска.

options = hinfstructOptions('RandomStart',20,'UseParallel',true);

Настройка UseParallel на true позволяет параллельную обработку путем распределения рандомизированных запусков между доступными работниками в параллельном пуле.

Используйте hinfstructOptions устанавливать при вызове hinfstruct. Например, предположим, что вы уже создали настраиваемую модель замкнутого цикла CL0. В этом случае следующая команда использует параллельные вычисления для настройки CL0.

[CL,gamma,info] = hinfstruct(CL0,options);

См. также

Введенный в R2010b