数值线性代数第二版徐树方高立张平文上机习题第二章实验报告

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

(2)估计5到20阶Hilbert 矩阵的∞范数条件数

(3)设n n R A ⨯∈⎥⎥⎥⎥⎥

⎥⎦

⎤⎢⎢⎢⎢⎢

⎢⎣⎡------=111

1

111110110

01

,先随机地选取n R x ∈,并计算出x A b n =;然

后再用列主元Gauss 消去法求解该方程组,假定计算解为∧

x 。试对n 从5到30估计计算解∧

x 的精度,并且与真实相对误差作比较。

解(1)分析:利用for 使n 从5循环到20,利用()hilb 函数得到Hilbert 矩阵A ;先将算

法编制成通用的子程序,利用算法编成的子程序)(B opt v =,对T

A B -=求解,得到∞

-1

A

的一个估计值v v =~

;再利用inf),(A norm 得到

∞A ;则条件数

inf),(1

A norm v A A K *==∞∞

-。

另,矩阵A 的∞范数条件数可由inf),(A cond 直接算出,两者可进行比较。

程序为

1 算法编成的子程序)(B opt v =

function v=opt(B)

k=1;

;

n=length(B);

x=1./n*ones(n,1); while k==1 w=B*x;

v=sign(w); z=B'*v;

if norm(z,inf)<=z'*x v=norm(w,1);

k=0; else

x=zeros(n,1);

[s,t]=max(abs(z)); x(t)=1; k=1; end end

2 问题(1)求解 ex2_1

for n=5:20

A=hilb(n);

B=inv(A.');

v=opt(B);

K1=v*norm(A,inf);

(

K2=cond(A,inf);

disp(['n=',num2str(n)])

disp(['估计条件数为',num2str(K1)])

disp(['实际条件数为',num2str(K2)])

end

计算结果为

n=5

估计条件数为943656

实际条件数为943656

n=6

估计条件数为.0028

实际条件数为.0028

n=7

估计条件数为

实际条件数为

n=8

|

估计条件数为

实际条件数为

n=9

估计条件数为.422

实际条件数为.422

n=10

估计条件数为

实际条件数为

,

n=11

估计条件数为344

实际条件数为344

Warning: Matrix is close to singular or badly scaled. Results may be inaccurate. RCOND = .

> In ex2_1 at 3

Warning: Matrix is close to singular or badly scaled. Results may be inaccurate. RCOND = .

In ex2_1 at 6

n=12

估计条件数为+16

实际条件数为+16

Warning: Matrix is close to singular or badly scaled. Results may be inaccurate. RCOND = .

> In ex2_1 at 3

^

Warning: Matrix is close to singular or badly scaled. Results may be inaccurate. RCOND = .

> In cond at 47

In ex2_1 at 6

n=13

估计条件数为+18

实际条件数为+18

Warning: Matrix is close to singular or badly scaled. Results may be ;

inaccurate. RCOND = .

> In ex2_1 at 3

Warning: Matrix is close to singular or badly scaled. Results may be inaccurate. RCOND = .

> In cond at 47

In ex2_1 at 6

n=14

估计条件数为+17

实际条件数为+17

Warning: Matrix is close to singular or badly scaled. Results may be inaccurate. RCOND = .

> In ex2_1 at 3

Warning: Matrix is close to singular or badly scaled. Results may be inaccurate. RCOND = .

> In cond at 47

In ex2_1 at 6

n=15

估计条件数为+17

实际条件数为+17

Warning: Matrix is close to singular or badly scaled. Results may be inaccurate. RCOND = .

> In ex2_1 at 3

Warning: Matrix is close to singular or badly scaled. Results may be inaccurate. RCOND = .

相关文档
最新文档