Переменная настраивающая цель для запланированных на усиление контроллеров
Когда настройка зафиксировала или запланированные на усиление контроллеры в нескольких точках проекта (условия работы), вы можете должны быть настроить настраивающиеся цели как функцию условий работы, например, ослабить производительность в некоторых областях рабочего диапазона. Используйте varyingGoal
, чтобы создать настраивающиеся цели, которые зависят неявно или явным образом на точке проекта.
VG = varyingGoal(FH,par1,par2,...)
VG = varyingGoal(___,Name,Value)
задает переменную цель с помощью шаблона и наборов целевых значений параметров. Шаблон VG
= varyingGoal(FH
,par
1,par
2,...)FH
является указателем на функцию, который задает функцию, TG = FH(p1,p2,...)
, который оценивает к одному из объектов TuningGoal
. Массивы par1,par2,...
задают значения целевых настройкой параметров p1,p2,...
в каждой точке проекта. Используйте VG
, как вы использовали бы любой объект TuningGoal
во входе к systune
.
конфигурирует дополнительные свойства настраивающейся цели.VG
= varyingGoal(___,Name,Value
)
Создайте настраивающуюся цель, которая задает переменные запасы по амплитуде и фазе через сетку точек проекта.
Предположим, что вы используете следующую сетку 5 на 5 точек проекта, чтобы настроить ваш контроллер.
[alpha,V] = ndgrid(linspace(0,20,5),linspace(700,1300,5));
Предположим далее, что вы имеете массивы 5 на 5 целевых полей усиления и предназначаетесь для полей фазы, соответствующих каждой из точек проекта, таких как следующее.
[GM,PM] = ndgrid(linspace(7,20,5),linspace(45,70,5));
Чтобы осуществить заданные поля в каждой точке проекта, сначала создайте шаблон для цели полей. Шаблон является функцией, которая принимает значения запаса по амплитуде и фазе и возвращает объект TuningGoal.Margins
с теми полями.
FH = @(gm,pm) TuningGoal.Margins('u',gm,pm);
Используйте шаблон и граничные массивы, чтобы создать переменную цель.
VG = varyingGoal(FH,GM,PM);
Чтобы облегчить прослеживать, к которому применяется цель который точка проекта, используйте свойство SamplingGrid
присоединить информацию о точке проекта к VG
.
VG.SamplingGrid = struct('alpha',alpha,'V',V);
Используйте VG
с systune
, как вы использовали бы любую другую настраивающую цель. Используйте viewGoal
, чтобы визуализировать настраивающуюся цель и идентифицировать, что проект указывает что сбой, чтобы соответствовать целевым полям.
Создайте настраивающуюся цель, которая задает форму цикла, которая меняется в зависимости от одной переменной планирования, a
.
Предположим, что вы хотите задать форму цикла с перекрестной частотой, которая отличается как 2*a
более чем три точки проекта. Чтобы осуществить это требование, сначала создайте шаблон для цели формы цикла. Шаблон является функцией, которая берет входной параметр числового скаляра и возвращает объект TuningGoal.LoopShape
. Входной параметр функции должен быть скаляром, таким образом, функция создает модели LTI, представляющие формы цикла.
a = [5;10;15]; s = tf('s'); FH = @(A) TuningGoal.LoopShape('u',2*A/s);
Здесь, 'u'
является Аналитической Точкой в системе, местоположении, в котором вы хотите наложить требования формы цикла.
Используйте шаблон и массив, чтобы создать переменную цель.
VG = varyingGoal(FH,a);
Присоедините информацию о точке проекта к VG
.
VG.SamplingGrid = struct('a',a);
Теперь каждое значение a
сопоставлено с настраивающейся целью, которая осуществляет соответствующую форму цикла. Например, подтвердите, что третья запись в a
, a = 15
, сопоставлена с третьей формой цикла, 30/s
.
LS3 = getGoal(VG,'index',3);
tf(LS3.LoopGain)
ans = 30 -- s Continuous-time transfer function.
Создайте настраивающуюся цель, которая задает переменные запасы по амплитуде и фазе через сетку точек проекта. Сконфигурируйте настраивающуюся цель, которая будет оценена с циклом, открывающимся в местоположении 'LO'
, и будет применяться только в частотном диапазоне между 1 и 100 рад/с.
Задайте сетку точек проекта и соответствующую сетку целевых полей усиления и полей фазы. Кроме того, создайте функцию шаблона для переменной цели полей.
[alpha,V] = ndgrid(linspace(0,20,5),linspace(700,1300,5));
[GM,PM] = ndgrid(linspace(7,20,5),linspace(45,70,5));
FH = @(gm,pm) TuningGoal.Margins('u',gm,pm);
Используйте функцию шаблона и граничные массивы, чтобы создать переменную цель. Кроме того, используйте пары Name,Value
, чтобы задать:
Местоположение, в котором цикл открыт для оценки настраивающейся цели (свойство Openings
).
Частотный диапазон, в котором переменная цель применяется (свойство Focus
).
Имена свойства и значения, которые вы задаете для базовой настраивающей цели, хранятся в свойстве Settings
переменной цели.
VG = varyingGoal(FH,GM,PM,'Openings','LO','Focus',[1,100])
VG = varyingGoal with properties: Template: @(gm,pm)TuningGoal.Margins('u',gm,pm) Parameters: {[5x5 double] [5x5 double]} Settings: {'Openings' 'LO' 'Focus' [1 100]} SamplingGrid: [1x1 struct] Name: '' Variable tuning goal acting over a 5x5 grid of (gm,pm) values.
Чтобы облегчить прослеживать, к которому применяется цель который точка проекта, используйте свойство SamplingGrid
присоединить информацию о точке проекта к VG
.
VG.SamplingGrid = struct('alpha',alpha,'V',V);
Fh
Обработайте по шаблону для переменной целиОбработайте по шаблону для переменной цели, заданной как указатель на функцию. FH
задает функцию одного или нескольких параметров, которая оценивает к одному из объектов TuningGoal
. Например, предположите, что вы хотите ограничить перерегулирование в переходном процессе от входа r
до вывода y
в вашей системе, и вы хотите позволить ограничению отличаться через различные точки проекта. Задайте шаблон как функцию, которая возвращает объект TuningGoal.Overshoot
. Например, можно задать FH
как анонимную функцию (MATLAB).
FH = @(os) TuningGoal.Overshoot('r','y',os);
Поскольку TuningGoal.Overshoot
имеет только один параметр помимо сигналов ввода и вывода, FH
является указателем на функцию одного аргумента. Для других настраивающих целей используйте больше аргументов. Например, TuningGoal.Margins
имеет два параметра, поле усиления и поле фазы. Поэтому для переменной граничной цели, FH
имеет два аргумента.
FH = @(gm,pm) TuningGoal.Margins('u',gm,pm);
Функция шаблона позволяет большую гибкость в построении целей проекта. Например, можно записать функцию, goalspec(a,b)
, который создает настраивающуюся целевую спецификацию как нетривиальную функцию параметров (a,b)
, и сохраняют функцию в файле MATLAB®. Ваша функция шаблона затем вызывает goalspec
можно следующим образом.
FH = @(a,b) TuningGoal.Margins('u',goalspec(a,b));
Точно так же, если целевые настройкой параметры не помещаются в числовые массивы, можно использовать индекс точки проекта, как введено для FH
. Например, предположите, что данные о запасе по амплитуде и фазе хранятся в массиве структур, S
, с полями GM
и PM
, можно использовать следующее.
FH = @(idx) TuningGoal.Margins('u',S(idx).GM,S(idx).PM);
idx
является абсолютным индексом в сетку точек проекта.
par
— Настройка целевых параметровПри настройке целевых параметров заданных как числовой массив с теми же размерностями, когда, образцовый массив используется для запланированной на усиление настройки. Обеспечьте массив для каждого параметра в настраивающейся цели, где каждая запись в массиве является значением параметров, вы хотите обратиться к соответствующей точке проекта. Например, цель TuningGoal.Overshoot
имеет только один параметр, максимальное перерегулирование. Поэтому задайте параметры можно следующим образом.
par = osvals;
osvals
является массивом значений перерегулирования, чтобы осуществить в каждой точке проекта.
Цель TuningGoal.Margins
имеет два параметра, поле усиления и поле фазы. Поэтому для переменной граничной цели, задайте параметры можно следующим образом:
par1 = GM; par2 = PM;
Здесь, GM
является массивом граничных усилением значений, и PM
является массивом граничных фазой значений, чтобы осуществить в каждой точке проекта.
Чтобы сделать переменную настраивающую цель неактивной в конкретной точке проекта, установите соответствующую запись массива par
(или массивов) к NaN
.
Укажите необязательные аргументы в виде пар ""имя, значение"", разделенных запятыми.
Имя (Name) — это имя аргумента, а значение (Value) — соответствующее значение.
Name
должен появиться в кавычках. Вы можете задать несколько аргументов в виде пар имен и значений в любом порядке, например: Name1, Value1, ..., NameN, ValueN.
Используйте пары Name,Value
, чтобы задать свойства базовой настраивающей цели. Например, предположите, что вы хотите создать переменную цель усиления, которая задает переменный профиль усиления между точками 'L'
и 'V'
. Вы также хотите осуществить цель усиления только в диапазоне частот, который [0 pi/Ts]
, с циклом, открывающимся в аналитической точке, маркировал OuterLoop
. Вы используете пары Name,Value
, чтобы задать эти свойства для цели усиления.
FH = @(w) TuningGoal.Gain('F','V',tf(w,[1 w])); VG = varyingGoal(FH,wdata,'Focus',[0 pi/Ts],'Openings','OuterLoop');
Какие свойства, которые можно установить, зависят, на каком из TuningGoal
возражает, что функциональный FH
оценивает к. Например, для самых переменных настраивающих целей, можно установить свойства, такие как Openings
, Models
и Focus
. Для цели переменной TuningGoal.Gain
можно также использовать пары Name,Value
, чтобы установить свойства, такие как Stabilize
, InputScaling
и OutputScaling
. Смотрите отдельные страницы ссылки на объект TuningGoal
для списка свойств каждой настраивающей цели.
VG
— Переменная настраивающая цельvaryingGoal
Переменная настраивающая цель, возвращенная как объект varyingGoal
. Этот объект получает настраивающуюся цель и ее изменение через точки проекта в переменной MATLAB. Используйте VG
во входном параметре к systune
, как вы использовали бы любой объект TuningGoal
.
VG
имеет следующие свойства.
Свойство | Описание |
---|---|
Template | Обработайте по шаблону для переменной цели, сохраненной как указатель на функцию к функции одного или нескольких параметров, значения которых переключают рабочий диапазон для настройки. Начальное значение этого свойства установлено входным параметром |
Parameters | Настройка целевых параметров в каждой точке проекта, сохраненной как массив ячеек. Каждая запись в массиве ячеек является числовым массивом, содержащим значения параметров в каждой точке проекта. Например, для переменной цели полей с шаблоном FG = FH = @(gm,pm) TuningGoal.Margins('u',gm,pm); {GM,PM} , где GM и PM являются массивами, содержащими желаемые запасы по амплитуде и фазе в каждой точке проекта. Начальное значение этого свойства установлено входными параметрами |
Settings |
Имена свойства и значения, которые будут применены к каждому целевому экземпляру в переменной цели, сохраненной как массив ячеек. Значение по умолчанию: |
SamplingGrid | Разработайте точки, сохраненные как структура, содержащая массив значений для каждой переменной выборки. Точки проекта не должны лежать на прямоугольной сетке и могут быть рассеяны в рабочем диапазоне. Размеры массивов в свойствах Для получения дополнительной информации о выборке сеток, см. описание свойства Значение по умолчанию: |
Name | Назовите для переменной цели. Установите Значение по умолчанию: |
Используйте viewGoal
, чтобы визуализировать настраивающиеся цели. Для переменных настраивающих целей целевой настройкой график, сгенерированный viewGoal
, позволяет вам исследовать настраивающуюся цель в каждой точке проекта. Для получения дополнительной информации смотрите, Подтверждают Запланированные на усиление Системы управления.
getGoal
| systune
| tunableSurface
| viewGoal
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.