Исследуйте предсказание и пользовательские функции модели 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
структура. Если параметры необходимы для состояния и подготавливают функции, необходимо обеспечить их в simdata
.
Когда вы обеспечиваете свои собственные аналитические Функции Якоби, особенно важно, чтобы эти функции возвратили допустимые якобиевские значения. Если validateFunctions
обнаруживает значительные различия между значениями, возвращенными вашими пользовательскими Функциями Якоби и приближением конечной разности, проверьте код в своих якобиевских реализациях.
Для каждой функции контроллера, validateFunctions
проверки, ли функция:
Существует на MATLAB® path
Имеет необходимое количество входных параметров
Может быть выполнен успешно без ошибок
Возвращает выходные аргументы с правильным размером и размерностями
Возвращает допустимые числовые данные; то есть, это не возвращает Inf
или NaN
значения
Для Функций Якоби, validateFunctions
проверки, сопоставимы ли возвращенные значения с приближением конечной разности якобиевских значений. Эти значения конечной разности вычисляются с помощью числового возмущения.