Факторизовать символическое выражение в квадратичной форме - PullRequest
0 голосов
/ 27 октября 2011

Предположим, у меня есть в Matlab символическое уравнение, подобное этому

syms x y z real

T = 2*x^2 + k*y^2 + 6*k*x*y

Как мне найти матрицу B такой, что

T = [x y] * B * [x y]'

Спасибо за вашу помощь.

Ответы [ 2 ]

0 голосов
/ 31 октября 2011

Хорошо.Я только что решил эту проблему сам.

B = 0.5 * jacobian(jacobian(T,V),V)

, где V - вектор переменных.

Объяснение немного математическое.Если вы хотите больше деталей, просто спросите меня.:)

0 голосов
/ 27 октября 2011

Я не уверен, что понимаю проблему здесь.Если вы знаете коэффициенты, вы не можете просто извлечь их из уравнения и создать B из этого?

Т.е.:

[x y ] * [ a b ; c d ] * [ x y ]' = ax^2 + dy^2 + (b + c)xy = ax^2 + dy^2 + exy

Итак

B = [ a 0 ; b e ]
...