
2603606882数值线性代数第二版徐树方高立张平文上机习题第三章实.doc
8页1第三章上机习题用你所熟悉的的计算机语言编制利用QR分解求解线性方程组和线性最小二乘问题的通用子程序,并用你编制的子程序完成下面的计算任务:(1) 求解第一章上机习题中的三个线性方程组,并将所得的计算结果与前面的结果相比较,说明各方法的优劣;(2) 求一个二次多项式,使得在残向量的2范数下最小的意义下拟合表3.2中的数据;表 3.2ti-1-0.75 -0.5 0 0.250.50.75yi10.81250.7511.31251.752.3125(3) 在房产估价的线性模型中,分别表示税、浴室数目、占地面积、车库数目、房屋数目、居室数目、房龄、建筑类型、户型及壁炉数目,代表房屋价格现根据表3.3和表3.4给出的28组数据,求出模型中参数的最小二乘结果表3.3和表3.4见课本P99-100)解 分析:(1) 计算一个Householder变换H:由于,则计算一个Householder变换H等价于计算相应的在实际计算中,为避免出现两个相近的数出现的情形,当时,令;为便于储存,将规格化为,相应的,变为为防止溢出现象,用代替(2) QR分解:利用Householder变换逐步将转化为上三角矩阵,则有1,其中,。
在实际计算中,从,若,依次计算对应的即对应的,,将储存到,储存到,迭代结束后再次计算,有,(时)(3) 求解线性方程组或最小二乘问题的步骤为i 计算的QR分解;ii 计算,其中iii 利用回代法求解上三角方程组(4)对第一章第一个线性方程组,由于R的结果最后一行为零,故使用前代法时不计最后一行,而用运行结果计算运算matlab程序为 1 计算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 v(1)=-sigma/(x(1)+alpha); end belta=2*v(1)^2/(sigma+v(1)^2); v=v/v(1,1); endend2 计算的QR分解 [Q,R]=QRfenjie(A)function [Q,R]=QRfenjie(A)[m,n]=size(A);Q=eye(m);for j=1:n if j 依次为QR分解,不选主元的Gauss消去法,列主元Gauss消去法,平方根法,改进的平方根法Elapsed time is 0.034588 seconds.Elapsed time is 0.006237 seconds.Elapsed time is 0.009689 seconds.Elapsed time is 0.030862 seconds.Elapsed time is 0.007622 seconds.(2) 二次多项式的系数为x = 1.0000 1.0000 1.0000(3) 房产估价的线性模型的系数为x = Columns 1 through 6 2.0775 0.7189 9.6802 0.1535 13.6796 1.9868 Columns 7 through 12 -0.9582 -0.4840 -0.0736 1.0187 1.4435 2.9028结果分析对第一章上机习题中的第二个线性方程组利用五种求解方法求解所需时间可知,不选主元的Gauss消去法,列主元Gauss消去法,改进的平方根法较快,所需时间大致在一个数量级,QR分解,平方根法,所需时间较慢,所需时间在一个数量级上。
