目录
二次型的矩阵、二次型的秩
先看定义:
则该二次型对应的矩阵为及二次型对应的秩为
>> A=[1 3;3 5]
A =
1 3
3 5
>> rank(A)
ans =
2
标准型
以这道例题为例:
化二次型为标准型(用正交矩阵实现)
可以用schur实现:
[Q,D]=schur(A)
其中,A为二次型的矩阵,D为A的特征值构成的对角矩阵,Q为正交矩阵。
>> A=[1 1 -2;1 -3 0;-2 0 -3]
A =
1 1 -2
1 -3 0
-2 0 -3
>> [Q,D]=schur(A)
Q =
-0.4082 -0.0000 0.9129
0.4082 0.8944 0.1826
-0.8165 0.4472 -0.3651
D =
-4.0000 0 0
0 -3.0000 0
0 0 2.0000
同时,可以求一下A的特征值和特征向量
>> [Q,D]=eig(A)
Q =
-0.4082 -0.0000 0.9129
0.4082 0.8944 0.1826
-0.8165 0.4472 -0.3651
D =
-4.0000 0 0
0 -3.0000 0
0 0 2.0000
由此得到,经过正交变换X=QY,二次型化为标准型:f=-2*y1^2-3*y2^2-4*y3^2。
且该二次型的正负惯性指数分别为1、2。
画出标准化前后二次型的图形
引用一位朋友的MATLAB二次型学习笔记的内容:
http://原文链接:https://blog.csdn.net/u014147522/article/details/79132926
直接采用ezmesh()傻瓜式命令
>> subplot(2,2,1);
>> ezmesh('3*x1^2-4*x1*x2+6*x2^2');
>> subplot(2,2,2);
>> ezmesh('-5*x1^2+4*x1*x2-2*x2^2');
>> subplot(2,2,3);
>> ezmesh('3*x1^2+4*x1*x2-2*x2^2');
>> subplot(2,2,4);
>> ezmesh('x1^2-6*x1*x2+9*x2^2');
>> grid on
该四个二次型均为函数(而非等式),则两个未知量画出的为三维图形。
而像f=-2*y1^2-3*y2^2-4*y3^2标准型这种,三个未知数对应四维图形,是画不出来的。
只能画出-2*y1^2-3*y2^2-4*y3^2=-10(任意常数)的这种曲线,即-2*y1^2-3*y2^2-4*y3^2+10=0。
>> syms y1 y2 y3
>> fimplicit3(-2*y1^2-3*y2^2-4*y3^2+10)
正定二次型
利用下面的定理,借助前面文章的知识可以判定二次型的正定型。
我是小韩每天进步一点点,一名研0的研究生,刚开始写博客。希望和大家多多交流,一起进步!
求朋友点赞、收藏、关注哈,鼓励一下新人博主,或者提出建议。