Я пытаюсь решить следующую проблему в Matlab:
У меня есть две известные матрицы F и Q mxm (m = 20), и я хочу найти матрицу L, которая удовлетворяет уравнению
F- (Q L + L Q) / 2 = 0
(я знаю, что это уравнение Ляпунова, но я не хочу решать его с помощью ляпаfunction)
Итак, я определяю символическую матрицу L, элементы которой я хочу определить.У меня 2 проблемы:
- vpasolver занимает слишком много времени, и мне было интересно, есть ли более быстрый альтернативный или более эффективный способ решения проблемы.
- Если я использую этот способРешить ее - это структура, но расположение элементов немного странно.Список l1_1, l1_11, l1_12, ... l1_2, l1_20, l1_3, l1_4 ... Есть ли способ получить результаты в правильном порядке?
Код следующий:
L=sym('l',[m,m]);
diff=sym('d',[m,m]);
diff=F -(1/2)*(Q*L+L*Q);
diff=vpa(diff);
s=vpasolve(diff==0);