Исследуйте предсказание и пользовательские функции модели 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 проверки, сопоставимы ли возвращенные значения с приближением конечной разности якобиевских значений. Эти значения конечной разности вычисляются с помощью числового возмущения.