getGoal

Оцените переменную настраивающую цель в заданной точке проекта

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

Синтаксис

TG = getGoal(VG,'index',k)
TG = getGoal(VG,'index',k1,k2,...)
TG = getGoal(VG,'value',x1,x2,...)

Описание

TG = getGoal(VG,'index',k) возвращает эффективную настраивающую цель в k th точка проекта. Абсолютный индекс 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: ''

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

свернуть все

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

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

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

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

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

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

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

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

свернуть все

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

Смотрите также

|

Введенный в R2017b