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