getGoal

Вычислите цель настройки переменной в заданном проекте

Описание

При настройке контроллеров для нескольких условий работы, varyingGoal позволяет настроить цели настройки как функцию от точки проекта. Использовать getGoal для вычисления цели переменной в конкретной проектной точке или для конкретных значений переменных выборки.

TG = getGoal(VG,'index',k) возвращает эффективную цель настройки в kI расчетная точка. Абсолютный индекс k относится к массивам значений параметров в Parameters свойство изменяющейся цели VG. Если вы указали VG.SamplingGrid, затем k относится к сетке проекта точек в этом свойстве.

пример

TG = getGoal(VG,'index',k1,k2,...) возвращает эффективную цель настройки в проекте точке с координатами (k1,k2,...). Эти координаты являются индексами в многомерные массивы в VG.Parameters и VG.SamplingGrid. Этот синтаксис полезен, когда ваша сетка проекта включает несколько переменных планирования.

пример

TG = getGoal(VG,'value',x1,x2,...) возвращает эффективную цель настройки в точке проекта, переменные планирования которой (x1,x2,...). Используйте этот синтаксис только, если у вас есть заданные точки проекта в VG.SamplingGrid. Для примера, если VG.SamplingGrid задает сетку проекта точек (a,b), затем TG = getGoal(VG,'value',-1,3) возвращает цель настройки в проекте точке (a,b) = (-1,3). Если (x1,x2,...) не совпадает ни с одной точкой в VG.SamplingGrid, затем getGoal возвращает ближайшую точку в относительном смысле.

Примеры

свернуть все

Предположим, что для настройки контроллера вы используете следующую сетку проекта точек 5 на 5.

[alpha,V] = ndgrid(linspace(0,20,5),linspace(700,1300,5));

Создайте цель настройки переменной, которая задает коэффициент усиления и запасов по фазе при сигнале с именем 'u' которые варьируются между сеткой проекта точек.

[GM,PM] = ndgrid(linspace(7,20,5),linspace(45,70,5));
FH = @(gm,pm) TuningGoal.Margins('u',gm,pm);
VG = varyingGoal(FH,GM,PM);

Используйте сетку, чтобы задать SamplingGrid свойство VG.

VG.SamplingGrid = struct('alpha',alpha,'V',V);

Оцените эту цель проекта переменной в (alpha,V) = (5,1150). Эта точка является вторым alpha значение и четвертый V значение, чтобы вы могли индексировать в varyingGoal использование (k1,k2) = (2,4).

TGi = getGoal(VG,'index',2,4);

Потому что у вас есть конкретный (alpha,V) значения, при которых необходимо использовать цель настройки, можно использовать эти значения вместо индексации.

TGv = getGoal(VG,'value',5,1150)
TGv = 
  Margins with properties:

      GainMargin: 10.2500
     PhaseMargin: 63.7500
    ScalingOrder: 0
           Focus: [0 Inf]
        Location: {'u'}
          Models: 17
        Openings: {0x1 cell}
            Name: ''

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

свернуть все

Изменяющаяся цель настройки, заданная как a varyingGoal объект. VG захватывает изменение цели настройки по сетке проекта точек для настройки по расписанию усиления (см. tunableSurface).

Индекс в сетку расчетной точки, заданный как целое число. Можно задать один целочисленный индекс, k, или нескольких индексов k1,k2,....

Если вы предоставляете один индекс, k, затем getGoal лечит k как линейный индекс в массивы параметров VG.Parameters или структуры VG.SamplingGrid которые задают точки проекта.

  • Если VG изменяется по 1-D сетке дискретизации (одна переменная планирования), затем TG = getGoal(VG,'index',k) возвращает цель настройки для kвторая запись в VG.Parameters.

  • Если VG изменяется более чем на две или более переменных планирования, затем TG = getGoal(VG,'index',k) возвращает kзапись в этой сетке, определяемая линейной индексацией. (См. «Индексирование массивов».)

Если вы предоставляете несколько индексов, k1,k2,..., затем getGoal обрабатывает их как индексы в многомерные массивы VG.Parameters или VG.SamplingGrid.

Значение переменных в расчетной точке, заданное как скаляр. Используйте входы x1,x2,..., чтобы получить цель настройки для определенного набора значений переменных планирования. Предоставьте столько значений, сколько у вас есть переменных планирования в системе. Для примера, если рабочие условия описаны двумя переменными планирования (a,b), затем используйте (x1,x2) для задания (a,b) значение, при котором необходимо извлечь цель настройки.

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

свернуть все

Цель настройки в заданной точке проекта, возвращенная как TuningGoal объект. Если какой-либо из параметров цели настройки NaN в заданном проекте, затем TG = []. (См. varyingGoal).

См. также

|

Введенный в R2017b