文档介绍:《Matlab→高等代数》 实验四
学号: 姓名: 年级专业班级:
实验时间:年月日时—时 实验地点:实验教师:谢乐平
实验四内积与正交、化二次型为标准形
一、实验目的
1、了解Matlab中内积,长度的求法及正交性的判 《Matlab→高等代数》 实验四
学号: 姓名: 年级专业班级:
实验时间:年月日时—时 实验地点:实验教师:谢乐平
实验四内积与正交、化二次型为标准形
一、实验目的
1、了解Matlab中内积,长度的求法及正交性的判断;
2、掌握Matlab中向量组的正交规范化及矩阵的相似对角化。
3、掌握Matlab中用正交线性替换化二次型为标准型。
二、实验内容
四、内积与正交、化二次型为标准形
1、向量的内积和长度
向量的内积:dot(x,y)或x'﹡y(x,y是列向量), 若dot(x,y)=0,则x和y正交。例:
>> clear
>> a=[1 2 3];b=[1 0 -1]
>> dot(a,b) %a,b的内积
>> a*b' %a,b的内积
说明:MATLAB中内积默认为两个向量的对应分量的乘积之和
向量的长度 norm(x)或者sqrt(x'﹡x)(其中x是列向量)。例如:
>> A=[1 1 1]'
>> b=norm(A) %向量A的长度
>> c=sqrt(A'﹡A) %向量A的长度
例:判断向量和是否正交.
>> clear
>> a=[2 -1 4]'
>> b=[-4 -4 1]'
>> c=dot(a,b) %求向量a,b的内积,说明:c =0,则a和b正交.
2、向量组的正交规范化
向量组的正交规范化命令为orth(A),将矩阵A的列向量组正交规范化
B=orth(A), A和B的列向量等价,且B的列向量为两两正交的单位向量,满足B’*B=E,B'*B = eye(rank(A))为1的个数等于rank(A)的对角矩阵。
例:将矩阵的列向量组正交规范化
>> A=[1 1;0 0;1 -1]
>> B=sym(orth(A))%将A的列向量组正交规范化,并以符号的形式输出
>> dot(B(:,1),B(:,2)) %选B第1列与第2列作内积ans = 0,B第1列与第2列正交
>> B'﹡B
3、实(对称)矩阵的对角化
实对称矩阵的对角化:[P,D]= eig(A),函数eig求出二次型矩阵A的特征值为对角元的对角矩阵D和特征向量作为列的正交矩阵P,如果A是二次型的矩阵,则求的D即为系数矩阵A的二次型的标准形的矩阵,矩阵P即为二次型的变换矩阵
例:求下列矩阵的特征值和特征向量,并判断能否对角化。
>> clear
>> A=[-1 2 0;-2 3 0;3 0 2]%实矩阵A
>> [v d]=eig(A)%求A的特征值与特征向量
>> rank(v)%求特征向量为列的矩阵V的秩rank(v)=2,不可相似对角化。
例:求矩阵的特征值与特征向量
,并将其对角化. 
解法一:
>>clear
>> A= [1 2 2;2 1 2; 2 2 1];
>> d=eig(A) %求全部特征值所组成的向量
>> [V,D]