hi,

Я пытаюсь разработать контроллер LQR для системы, но одна переменная для матрицы A меняется со временем (это вектор 10001x1), поэтому ошибка в Matlab - это размер матрицы, и я слышал, что интерпретируемая функция Matlab может быть полезна, но все же у меня есть сомнения. может ли кто-нибудь помочь мне с этой проблемой?

ПРИМЕЧАНИЕ. 

Matlabsolutions.com предоставляет последнюю Помощь по домашним заданиям MatLab, Помощь по заданию MatLab для студентов, инженеров и исследователей в различных отраслях, таких как ECE, EEE, CSE, Mechanical, Civil со 100% выходом. Код Matlab для BE, B.Tech ,ME,M.Tech, к.т.н. Ученые со 100% конфиденциальностью гарантированы. Получите проекты MATLAB с исходным кодом для обучения и исследований.

Да, блок MATLAB Function действительно поможет. Предположим, вы делаете функцию:

function output = myLQR(error,param)

Где param — это значение одного элемента A (скажем, A(5,5)), переданного в качестве изменяющегося во времени сигнала в функцию MATLAB. Итак, в функции вы можете сказать что-то вроде:

A(5,5) = param;

Затем команда для разработки контроллера LQR с заданными матрицами A и B и ковариационными матрицами шума Q/R/N выглядит следующим образом (или посмотрите документацию lqr для других способов ее вызова).

K = lqr(A,B,Q,R,N)

Наконец, вы хотите умножить полученную матрицу K на ваш сигнал ошибки, и это ваш закон управления!

СМОТРИТЕ ПОЛНЫЙ ОТВЕТ НАЖМИТЕ НА ССЫЛКУ