二次型化为标准型 matlabf(x1,x2,x3)=x1^2+2x2^2+3x3^2+2x1x3+3x2x3 如何将它
1个回答

在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