数值线性代数第二版徐树方高立张平文上机习题第二章实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 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 = .