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

3.6.2 求P 条件数和讨论AX=b解的性态的MATLAB程序

3.6.2  求P 条件数和讨论解的性态的MATLAB程序

求P条件数和讨论解的性态的MATLAB程序

function Acp=zpjxpb(A)

Acw = cond (A, inf);Ac1= cond (A,1);

Ac2= cond (A,2);Acf = cond (A,'fro');dA=det(A);

if (Acw>50)&(dA<0.1)

disp('请注意:AX=b是病态的,A的∞条件数,1条件数,2条件数, 弗罗贝尼乌斯条件数和A的行列式的值依次如下:')

Acp=[Acw Ac1 Ac2 Acf dA]';

else

disp(' AX=b是良态的,A的∞条件数,1条件数,2条件数,弗罗贝尼乌斯条件数和A的行列式的值依次如下:')

Acp=[Acw Ac1 Ac2 Acf dA]';

end

 

例3.6.3  根据定理3.10,讨论线性方程组解的性态,并且求出的4种条件数.其中

(1)为7阶希尔伯特矩阵;(2).

解 (1)首先将求P条件数和讨论解的性态的MATLAB程序保存名为zpjxpb.m 的M文件,然后在MATLAB工作窗口输入程序

>> Acp =zpjxpb(hilb(7)); Acp',det(hilb(7))

运行后输出结果

请注意:AX=b是病态的,A的∞条件数,1条件数,2条件数, 弗罗贝尼乌斯条件数和A的行列式的值依次如下:

ans =  1.0e+008 *

    9.8519    9.8519    4.7537    4.8175    0.0000

ans =  4.8358e-025

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

>> A=[2 3 -1 5;3 1 2 -7;4 1 -3 6;1 -2 4 -7];Acp=zpjxpb(A); Acp'

运行后输出结果

AX=b是良态的,A的∞条件数,1条件数,2条件数, 弗罗贝尼乌斯条件数和A的行列式的值依次如下:

ans =

   14.1713   19.4954    8.2085   11.4203  327.0000

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