matlab数值分析程序--高等数学,数值代数的matlab实现-文字版, matlab电子书, 和matlab 有关的电子书:

3.4.4 判断正定对称矩阵的方法及其MATLAB程序

3.4.4  判断正定对称矩阵的方法及其MATLAB程序

判断矩阵是否是正定对称矩阵的MATLAB程序

function hl=zddc(A)

[n n] =size(A);

for p=1:n

h(p)=det(A(1:p, 1:p));

end

hl=h(1:n);zA=A';

for i=1:n

   if h(1,i)<=0 

disp('请注意:因为A的各阶顺序主子式hl不全大于零,所以A不是正定的.A的转置矩阵zA和各阶顺序主子式值hl依次如下:'), hl;zA,return

end

end

if h(1,i)>0

disp('请注意:因为A的各阶顺序主子式hl都大于零,所以A是正定的.A的转置矩阵zA和各阶顺序主子式值hl依次如下:')

hl;zA

end

例3.4.5  判断下列矩阵是否是正定对称矩阵:

(1);(2) ; (3) ;(4).

解  (1)在MATLAB工作窗口输入程序

>> A=[0.1 2 3 4;-1 2 -3 4;11 21 13 41;5 7 8 9];hl=zddc(A)

运行后输出结果

请注意: A不是对称矩阵

请注意:因为A的各阶顺序主子式hl不全大于零,所以A不是正定的.A的转置矩阵zA和各阶顺序主子式值hl依次如下:

zA = 1/10         -1           11            5     

      2            2           21            7     

      3           -3           13            8     

      4            4           41            9     

hl = 1/10        11/5      -1601/10      3696/5 

因此,即不是正定矩阵,也不是对称矩阵.

(2)在MATLAB工作窗口输入程序

>> A=[1 -1 2 1;-1 3 0 -3;2 0 9 -6;1 -3 -6 19],hl=zddc(A)

运行后输出结果

A =   1           -1            2            1     

     -1            3            0           -3     

      2            0            9           -6     

      1           -3           -6           19     

请注意: A是对称矩阵

请注意:因为A的各阶顺序主子式hl都大于零,所以A是正定的.A的转置矩阵zA和各阶顺序主子式值hl依次如下:

zA =  1           -1            2            1     

     -1            3            0           -3     

      2            0            9           -6     

      1           -3           -6           19     

hl =  1            2            6           24     

(3)在MATLAB工作窗口输入程序

>> A=[1/sqrt(2) -1/sqrt(2) 0 0; -1/sqrt(2) 1/sqrt(2) 0 0; 0 0 1/sqrt(2) -1/sqrt(2); 0 0 -1/sqrt(2) 1/sqrt(2)], hl=zddc(A)

运行后输出结果

A= 985/1393    -985/1393        0            0     

  -985/1393     985/1393        0            0     

      0            0         985/1393    -985/1393 

      0            0        -985/1393     985/1393 

请注意: A是对称矩阵

请注意:因为A的各阶顺序主子式hl不全大于零,所以A不是正定的.A的转置矩阵zA和各阶顺序主子式值hl依次如下:

zA = 985/1393    -985/1393        0            0     

  -985/1393     985/1393        0            0      

      0            0         985/1393    -985/1393 

      0            0        -985/1393     985/1393 

hl = 985/1393        0            0            0      

可见,不是正定矩阵,是半正定矩阵;因为T 因此,是对称矩阵.

(4)在MATLAB工作窗口输入程序

>> A=[-2 1 1;1 -6 0;1 0 -4];hl=zddc(A)

运行后输出结果

A =  -2     1     1

  1    -6     0

  1     0    -4

请注意: A是对称矩阵

请注意:因为A的各阶顺序主子式hl不全大于零,所以A不是正定的.A的转置矩阵zA和各阶顺序主子式值hl依次如下:

zA =  -2     1     1              hl = -2    11   -38

       1    -6     0

       1     0    -4

可见*不是正定矩阵,是负定矩阵;因为 = T 因此,是对称矩阵.

欢迎转载,转载请注明来自一手册:http://yishouce.com/book/3/3030404.html
友情链接It题库(ittiku.com)| 版权归yishouce.com所有| 友链等可联系 admin#yishouce.com|粤ICP备16001685号-1