- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
 - 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
 - 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
 - 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
 - 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
 - 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
 - 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
 
                        查看更多
                        
                    
                - 
-  PAGE 8 -
- 1 -
第三章上机习题
用你所熟悉的的计算机语言编制利用 QR 分解求解线性方程组和线性最小二乘问题的通用子程序,并用你编制的子程序完成下面的计算任务:
求解第一章上机习题中的三个线性方程组,并将所得的计算结果与前面的结果相比较, 说明各方法的优劣;
求一个二次多项式 y=at 2+bt+c ,使得在残向量的 2 范数下最小的意义下拟合表 3.2
中的数据;
表 3.2
在房产估价的线性模型
y ? x
0
a x
1 1
a x
2 2
? a	x
?11 11
?
中, a , a
1	2
,	, a
?11
?
分别表示税、浴室数目、占地面积、车库数目、房屋数目、居室数目、房
龄、建筑类型、户型及壁炉数目, y 代表房屋价格。现根据表 3.3 和表 3.4 给出的 28 组数据,求出模型中参数的最小二乘结果。
(表 3.3 和表 3.4 见课本 P99-100)
解 分析:
计算一个 Householder 变换H:
由于 H ? I ? 2wwT
? I ? ? vvT
,则计算一个 Householder 变换H 等价于计算相应的? 、v 。
其中v ? x? || x ||
2
在实际计算中,
e , ? ? 2 /(vT v) 。
1
为避免出现两个相近的数出现的情形,当
时,令
- (x2 ??? x2 ) ;
n
n
x ? 0
1
v  ?	2
1	x
1
? || x ||
2
为便于储存,将v 规格化为v ? v / v
1
,相应的, ? 变为? ? 2v2 /(vT v)
1
为防止溢出现象,用 x / || x ||	代替
?
QR 分解:
ti-1-0.75-0.5
ti
-1
-0.75
-0.5
0
0.25
0.5
0.75
yi
1
0.8125
0.75
1
1.3125
1.75
2.3125
m?n
, m ? n 转化为上三角矩阵? ? H H
n
n?1
H A ,则有
?1
?
??R?
?
0A ? Q?	? ,其中Q ? H H	H
0
?	?	1	2	n
, R ? ?(1: n,:) 。
~
在实际计算中,从 j ? 1: n ,若 j ? m ,依次计算 x ? A(( j : m, j)) 对应的(H
)
j ( m?k ?1)?( m?k ?1)
即对应的 v
j
, ?  ,将 v
j	j
(2 : m ? j ? 1) 储存到 A( j ?1: m, j) , ?
j
储存到 d ( j) ,迭代结束
后再次计算Q ,有 H
?I
? ?	j ?1
0 ?
~ ? , Q ? H H ? H
( n ? m 时Q ? H H  ? H	)
0Hj	?	?
0
H
?	j ?
1	2	n
1	2	n-1
求解线性方程组 Ax ? b 或最小二乘问题的步骤为
计算 A 的 QR 分解;
计算c
? QT b ,其中Q
? Q(:,1: n)
1	1	1
利用回代法求解上三角方程组Rx ? c
1
对第一章第一个线性方程组,由于 R 的结果最后一行为零,故使用前代法时不计
最后一行,而用运行结果计算x	。
84
运算 matlab 程序为
计算 Householder 变换 [v,belta]=house(x)
function [v,belta]=house(x) n=length(x); x=x/norm(x,inf); sigma=x(2:n)*x(2:n); v=zeros(n,1); v(2:n,1)=x(2:n);
if sigma==0
belta=0;
else
alpha=sqrt(x(1)^2+sigma);
if x(1)=0
v(1)=x(1)-alpha;
else
end
v(1)=-sigma/(x(1)+alpha);
end
end
belta=2*v(1)^2/(sigma+v(1)^2); v=v/v(1,1);
计算 A 的 QR 分解 [Q,R]=QRfenjie(A)
function [Q,R]=QRfenjie(A) [m,n]=size(A);
Q=eye(m); for j=1:n
if jm
[v,belta]=house(A(j:m,j)); H=eye(m-j+1)-belta*v*v; A(j:m,j:n)=H*A(j:m,j:n); d(j)=belta; A(j+1:m,j)=v(2:m-j+1);
end
end
R=triu(A(1:n,:));
for j=1:n
if jm
H=eye(m); temp=[1;A(j+1:m,j)];
H(j:m,j:m)=H(j:m,j:m
                
原创力文档
                        

文档评论(0)