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