exponenta event banner

чувствительность

Расчет значения показателя производительности и его чувствительности к диагональным весам

Описание

пример

[J,sens] = sensitivity(MPCobj,PerfFunc,PerfWeights,Ns,r,v,SimOptions,utarget) вычисляет скалярную метрику производительности, Jи его чувствительность к диагональным весам sens, для контроллера, определенного объектом контроллера MPC MPCobj.

Примеры

свернуть все

Определите модель завода третьего порядка с тремя управляемыми переменными и двумя управляемыми выходами.

plant = rss(3,2,3);
plant.D = 0;

Создайте контроллер MPC для завода.

MPCobj = mpc(plant,1);
-->The "PredictionHorizon" property of "mpc" object is empty. Trying PredictionHorizon = 10.
-->The "ControlHorizon" property of the "mpc" object is empty. Assuming 2.
-->The "Weights.ManipulatedVariables" property of "mpc" object is empty. Assuming default 0.00000.
-->The "Weights.ManipulatedVariablesRate" property of "mpc" object is empty. Assuming default 0.10000.
-->The "Weights.OutputVariables" property of "mpc" object is empty. Assuming default 1.00000.

Укажите интегральную функцию абсолютной ошибки и задайте веса производительности.

PerfFunc = 'IAE';
PerfWts.OutputVariables = [1 0.5];
PerfWts.ManipulatedVariables = zeros(1,3);
PerfWts.ManipulatedVariablesRate = zeros(1,3);

Определение 20 второй сценарий моделирования с единичным шагом в уставке выхода 1 и уставкой нуля для выхода 2.

Tstop = 20;
r = [1 0];

Определите номинальные значения манипулируемых переменных как нули.

utarget = zeros(1,3);

Вычислите метрику производительности, Jи чувствительности, sens, для указанного контроллера и сценария моделирования.

[J,sens] = sensitivity(MPCobj,PerfFunc,PerfWts,Tstop,r,[],[],utarget);
-->Converting model to discrete time.
-->Assuming output disturbance added to measured output channel #1 is integrated white noise.
-->Assuming output disturbance added to measured output channel #2 is integrated white noise.
-->The "Model.Noise" property of the "mpc" object is empty. Assuming white noise on each measured output channel.

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

свернуть все

Контроллер прогнозирования модели, указанный как объект контроллера MPC. Для создания контроллера MPC используйте mpc.

PerfFunc должен быть одним из следующих:

'ISE' (интегральная квадратичная ошибка), для которой метрика производительности

J=∑i=1Ns (∑j=1ny (wjyeyij) 2+∑j=1nu [(wjueuij) 2 + (wjΔuΔuij) 2])

'IAE' (интегральная абсолютная ошибка), для которой метрика производительности

J=∑i=1Ns (∑j=1ny'wjyeyij|+∑j=1nu (| wjueuij | + | wjΔuΔuij |))

'ITSE' (интеграл взвешенной по времени квадратной ошибки), для которой метрика производительности

J=∑i=1NsiΔt (∑j=1ny (wjyeyij) 2+∑j=1nu [(wjueuij) 2 + (wjΔuΔuij) 2])

'ITAE' (интеграл взвешенной по времени абсолютной ошибки), для которой метрика производительности

J=∑i=1NsiΔt (∑j=1ny'wjyeyij|+∑j=1nu (| wjueuij | + | wjΔuΔuij |))

В вышеприведенных выражениях ny - количество управляемых выходов, а nu - количество манипулируемых переменных. eyij - разность между выходом j и его уставкой (или опорным) значением на временном интервале i euij - разность между манипулируемой переменной j и ее целью на временном интервале i.

Параметры w являются неотрицательными весами производительности, определяемыми структурой PerfWeights

Пример: «ITAEA»;

Параметры w являются неотрицательными весами производительности, определяемыми структурой PerfWeights, который содержит следующие поля:

  • OutputVariables - вектор строки элемента ny, содержащий значения wjy

  • ManipulatedVariables - вектор строки элемента nu, содержащий значения wju

  • ManipulatedVariablesRate - вектор строки элемента nu, содержащий значения wjΔu

Если PerfWeights не указан, по умолчанию используется соответствующий вес в MPCobj. В целом, однако, рабочие веса и веса, используемые в контроллере, имеют разные цели и должны быть определены соответствующим образом.

Число шагов моделирования, указанное как положительное целое число.

Если опустить Ns, значением по умолчанию является размер строки любого из следующих массивов с наибольшим размером строки:

  • Входной аргумент r

  • Входной аргумент v

  • UnmeasuredDisturbance имущество SimOptions, если указано

  • OutputNoise имущество SimOptions, если указано

Пример: 100

Опорный сигнал, заданный как массив. Этот массив имеет ny столбцы, где ny - количество выходов установки. r может иметь от 1 до Ns строк. Если число строк меньше Nsотсутствующие строки устанавливаются равными последней строке.

Пример: ones(100,1)

Измеренный сигнал возмущения, заданный в виде матрицы. Этот массив имеет nv столбцы, где nv - количество измеренных входных возмущений. v может иметь от 1 до Ns строк. Если число строк меньше Nsотсутствующие строки устанавливаются равными последней строке.

Пример: [zeros(50,1);ones(50,1)]

Используйте объекты параметров моделирования для указания таких параметров, как сигналы шума и возмущения, которые поступают на завод, но неизвестны контроллеру. Этот объект можно также использовать для определения сценария разомкнутого цикла или модели завода в цикле, которая отличается от модели в MPCobj.Model.Plant.

Дополнительные сведения см. в разделе mpcsimopt.

Дополнительный вход utarget является вектором nu манипулируемых переменных целей. Их значения по умолчанию являются номинальными значениями обрабатываемых переменных. Δuij - изменение манипулируемой переменной j и ее цели на временном интервале i.

Пример: [0.1;0;-0.2]

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

свернуть все

В зависимости от PerfFunc аргумент, этот показатель производительности может быть функцией интеграла (взвешенного по времени или нет) квадратного или абсолютного значения или ошибки (вывода и ввода). Дополнительные сведения см. в разделе PerfFunc.

Эта структура содержит и числовые частные производные показателя эффективности. J относительно его диагональных весов. Эти частные производные, также называемые чувствительностью, предлагают корректировки веса, которые должны улучшить производительность; то есть уменьшить J.

См. также

|

Представлен в R2009a