应用MATLAB求解线性代数题目(六)——二次型

本文介绍了二次型的概念,包括二次型的矩阵表示、秩的计算,以及如何通过正交变换将二次型化为标准型。利用Schur分解和特征值计算展示了具体步骤,并探讨了正定二次型的判定。此外,还讨论了如何在MATLAB中绘制二次型图形,以及正定二次型的性质。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

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

标准型

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

 正定二次型


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

先看定义:

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

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

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

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值