Переменная настраивающая цель для запланированных на усиление контроллеров
Когда настройка зафиксировала или запланированные на усиление контроллеры в нескольких точках проекта (условия работы), вы можете должны быть настроить настраивающиеся цели в зависимости от условий работы, например, ослабить эффективность в некоторых областях рабочего диапазона. Использование varyingGoal
создать настраивающиеся цели, которые зависят неявно или явным образом на точке проекта.
задает различную цель с помощью шаблона и наборов целевых значений параметров. Шаблон 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
как анонимная функция.
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
имя аргумента и 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
позволяет вам исследовать настраивающуюся цель в каждой точке проекта. Для получения дополнительной информации смотрите, Подтверждают Запланированные на усиление Системы управления.
tunableSurface
| getGoal
| viewGoal
| systune
У вас есть модифицированная версия этого примера. Вы хотите открыть этот пример со своими редактированиями?
1. Если смысл перевода понятен, то лучше оставьте как есть и не придирайтесь к словам, синонимам и тому подобному. О вкусах не спорим.
2. Не дополняйте перевод комментариями “от себя”. В исправлении не должно появляться дополнительных смыслов и комментариев, отсутствующих в оригинале. Такие правки не получится интегрировать в алгоритме автоматического перевода.
3. Сохраняйте структуру оригинального текста - например, не разбивайте одно предложение на два.
4. Не имеет смысла однотипное исправление перевода какого-то термина во всех предложениях. Исправляйте только в одном месте. Когда Вашу правку одобрят, это исправление будет алгоритмически распространено и на другие части документации.
5. По иным вопросам, например если надо исправить заблокированное для перевода слово, обратитесь к редакторам через форму технической поддержки.