Исследуйте предсказание и пользовательские функции модели nlmpc
или nlmpcMultistage
объекты для потенциальных проблем
validateFunctions
тестирует модель предсказания, пользовательскую стоимость, пользовательское ограничение и Функции Якоби нелинейного контроллера MPC для потенциальных проблем такой как, отсутствует ли информация, несовместимы ли аргументы ввода и вывода предоставленных функций любого пользователя с параметрами объекта или точен ли предоставленный аналитический Градиент/Функции Якоби пользователя численно. Когда вы сначала проектируете свой нелинейный контроллер MPC, или когда вы вносите существенные изменения в существующий контроллер, это - лучшая практика подтвердить ваши функции контроллера.
validateFcns(
тестирует функции нелинейного контроллера MPC nlmpcobj
,x
,mv
)nlmpcobj
для потенциальных проблем. Функции тестируются с помощью заданных номинальных значений состояния, x
, и значения переменных, которыми управляют, mv
. Используйте этот синтаксис, если у вашего контроллера нет измеренных воздействий и никаких параметров.
validateFcns(
задает номинальные значения параметров. Если у вашего контроллера есть параметры, необходимо задать nlmpcobj
,x
,mv
,md
,parameters
)parameters
.
validateFcns(
тестирует функции многоступенчатого нелинейного контроллера MPC nlmpcMSobj
,x
,mv
)nlmpcMSobj
для потенциальных проблем. Функции тестируются с помощью заданных номинальных значений состояния, x
, и значения переменных, которыми управляют, mv
. Используйте этот синтаксис, если у вашего контроллера нет измеренных воздействий и никаких параметров.
validateFcns(
если параметры необходимы для состояния и подготавливают функции, необходимо обеспечить их в nlmpcMSobj
,x
,mv
,simdata
)simdata
структура.
Когда вы обеспечиваете свои собственные аналитические Функции Якоби, особенно важно, чтобы эти функции возвратили допустимые якобиевские значения. Если validateFunctions
обнаруживает значительные различия между значениями, возвращенными вашими пользовательскими Функциями Якоби и приближением конечной разности, проверьте код в своих якобиевских реализациях.
Для каждой функции контроллера, validateFunctions
проверки, ли функция:
Существует на пути MATLAB®
Имеет необходимое количество входных параметров
Может быть выполнен успешно без ошибок
Возвращает выходные аргументы с правильным размером и размерностями
Возвращает допустимые числовые данные; то есть, это не возвращает Inf
или NaN
значения
Для Функций Якоби, validateFunctions
проверки, сопоставимы ли возвращенные значения с приближением конечной разности якобиевских значений. Эти значения конечной разности вычисляются с помощью числового возмущения.