目录

二次型的矩阵、二次型的秩

标准型

画出标准化前后二次型的图形

 正定二次型


二次型的矩阵、二次型的秩

先看定义:

则该二次型对应的矩阵为及二次型对应的秩为

>> 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的研究生,刚开始写博客。希望和大家多多交流,一起进步!

求朋友点赞、收藏、关注哈,鼓励一下新人博主,或者提出建议。

转载版权:乐易云香港服务器 乐易云美国服务器

转载标题:使用MATLAB求解线性代数问题(六)——二次型 转载地址:https://www.123yun.com/article/2563.html

全球五大服务器公司 服务器除尘公司 服务器主机商 服务器商家排名

内容来源于网络如有侵权请私信删除