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

3.4.1判断矩阵LU分解的充要条件及其MATLAB程序

3.4.1判断矩阵LU分解的充要条件及其MATLAB程序

判断矩阵能否进行LU分解的MATLAB程序

function hl=pdLUfj(A)

[n n] =size(A); RA=rank(A);

if RA~=n

disp('请注意:因为A的n阶行列式hl等于零,所以A不能进行LU分解.A的秩RA如下:'), RA,hl=det(A); return

end

if RA==n

    for p=1:n,h(p)=det(A(1:p, 1:p));, end

hl=h(1:n);

for i=1:n

if h(1,i)==0

disp('请注意:因为A的r阶主子式等于零,所以A不能进行LU分解.A的秩RA和各阶顺序主子式值hl依次如下:'),hl;RA,return

end

end

    if h(1,i)~=0 

disp('请注意:因为A的各阶主子式都不等于零,所以A能进行LU分解.A的秩RA和各阶顺序主子式值hl依次如下:')

hl;RA

end

end

 

例3.4.1  判断下列矩阵能否进行LU分解,并求矩阵的秩.

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

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

>>  A=[1 2 3;1 12 7;4 5 6];hl=pdLUfj(A)

运行后输出结果为

请注意:因为A的各阶主子式都不等于零,所以A能进行LU分解.A的秩RA和各阶顺序主子式值hl依次如下:

RA = 3, hl = 1   10   -48

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

>>  A=[1 2 3;1 2 7;4 5 6];hl=pdLUfj(A)

运行后输出结果为

请注意:因为A的r阶主子式等于零,所以A不能进行LU分解.A的秩RA和各阶顺序主子式值hl依次如下:

RA = 3, hl =1    0    12

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

>> A=[1 2 3;1 2 3;4 5 6];hl=pdLUfj(A)

运行后输出结果为

请注意:因为A的n阶行列式hl等于零,所以A不能进行LU分解.A的秩RA如下

RA = 2, hl = 0

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