2015-10-28 3 views
-1

Есть ли способ его преобразования? Например, из этого уравнения:Как получить матричную форму квадратичного уравнения с помощью Sympy или другого

enter image description here

В этой матричной форме:

enter image description here

Мы особенно хотели бы получить Thos матриц облет-красный.

Это код, у меня есть на данный момент:

from sympy import * 
x, y = symbols('x y') 
expr = 0.5 * (x**2) + 3*x + 4*y 
print(latex(expr)) 

Я приветствую предложение, кроме Simpy (без MATLAB, пожалуйста).

В конце дня я хотел бы использовать его с CVXOPT или Scipy.

ответ

2

Я не могу дать вам любой код Python, но я могу объяснить, как вывести матрицы и вектора:

Ваша форма является:

     T       T 
f(x, y) = 1/2 * | x | * | a b | * | x | + | d | * | x | 
       | y | | b c | | y | | e | | y | 

Это равно:

f(x, y) = 1/2 * a x^2 + b * xy + 1/2 * c y^2 + d x + e y 

Так что вам просто нужно поместить коэффициенты в правильные положения в матричной форме (a = 2 * coefficient of x^2, b = coefficient of xy, etc.).