二次型化为标准型 matlab

f(x1,x2,x3)=x1^2+2x2^2+3x3^2+2x1x3+3x2x3
如何将它化为标准形?matlab的指令是什么。谢谢

在Matlab中,我们运用函数eig求出二次型的矩阵A的特征值D和特征向量矩阵P,所求的矩阵D即为系数矩阵A的标准形,矩阵P即为二次型的变换矩阵。
syms y1 y2 y3
A=[1 0 1;
0 2 3/2;
1 3/2 3];
[P,D]= eig(A)
y=[y1;y2;y3];
x=P*y%所求的正交变换
f=[y1 y2 y3]*D*y
x=vpa(x,5)
f=vpa(f,5)

结果:

x =

0.72551*y1 + 0.64255*y2 + 0.24651*y3
0.45326*y1 - 0.71565*y2 + 0.5314*y3
0.2738*y2 - 0.51787*y1 + 0.81046*y3

f =

0.28619*y1^2 + 1.4261*y2^2 + 4.2877*y3^2
温馨提示:答案为网友推荐,仅供参考
相似回答