getGoal

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

Описание

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

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

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

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

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

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

свернуть все

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

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

|

Введенный в R2017b