Вычислите действие оптимального управления для нелинейного контроллера MPC
mv = nlmpcmove(nlmpcobj,x,lastmv)mv = nlmpcmove(nlmpcobj,x,lastmv,ref)mv = nlmpcmove(nlmpcobj,x,lastmv,ref,md)mv = nlmpcmove(nlmpcobj,x,lastmv,ref,md,options)[mv,opt] = nlmpcmove(___)[mv,opt,info] = nlmpcmove(___) задает дополнительные опции во время выполнения для вычисления перемещений оптимального управления. Используя mv = nlmpcmove(nlmpcobj,x,lastmv,ref,md,options)options, вы можете задать исходные предположения для состояния и управляли переменными траекториями, настраивающими весами обновления при ограничениях, или измените параметры модели прогноза.
Во время симуляций с обратной связью это - лучшая практика к горячему запуску нелинейный решатель при помощи предсказанного состояния и управляло переменными траекториями от предыдущего интервала управления как исходные предположения для текущего интервала управления. Использовать эти траектории в качестве исходных предположений:
Возвратите выходной аргумент opt при вызове nlmpcmove. Этот объект nlmpcmoveopt содержит любые опции во время выполнения, которые вы задали в предыдущем вызове nlmpcmove, наряду с исходными предположениями для состояния (opt.X0) и управляли переменной (opt.MV0) траектории.
Передайте этот объект в как входной параметр options к nlmpcmove для следующего интервала управления.
Эти шаги являются лучшой практикой, даже если вы не задаете никакие другие опции во время выполнения.