- 1 - - 1 - 第三章上机习题 用你所熟悉的的计算机语言编制利用QR 分解求解线性方程组和线性最小二乘问题的通用子程序,并用你编制的子程序完成下面的计算任务: (1)求解第一章上机习题中的三个线性方程组,并将所得的计算结果与前面的结果相比较,说明各方法的优劣; (2)求一个二次多项式+bt+cy=at 2,使得在残向量的2 范数下最小的意义下拟合表3.2中的数据; 表 3.2 ti -1 -0.75 -0.5 0 0.25 0.5 0.75 y i 1 0.8125 0.75 1 1.3125 1.75 2.3125 (3)在房产估价的线性模型 111122110xaxaxaxy 中,1121,,,aaa分别表示税、浴室数目、占地面积、车库数目、房屋数目、居室数目、房龄、建筑类型、户型及壁炉数目,y代表房屋价格。现根据表3.3 和表3.4 给出的28 组数据,求出模型中参数的最小二乘结果。 (表3.3 和表3.4 见课本 P99-100) 解 分析: (1)计算一个Householder 变换 H: 由于TTvvIwwIH2,则计算一个Householder 变换 H 等价于计算相应的v、。其中)/(2,||||12vvexxvT。 在实际计算中, 为避免出现两个相近的数出现的情形,当01 x时,令212221||||)(-xxxxvn; 为便于储存,将v 规格化为1/ vvv ,相应的, 变为)/(221vvvT 为防止溢出现象,用||||/xx代替 (2)QR 分解: 利用Householder 变换逐步将nmAnm ,转化为上三角矩阵AHHHnn11,则有 - 2 - 0RQA,其中nHHHQ21,:),:1(nR。 在实际计算中,从nj:1,若mj ,依次计算)),:((jmjAx 对应的)1()1()~(kmkmjH 即对应的jv ,j ,将)1:2( jmvj储存到),:1(jmjA,j 储存到)( jd,迭代结束后再次计算Q ,有~001jjjHIH,nHHHQ21(mn 时1-21nHHHQ) (3)求解线性方程组bAx 或最小二乘问题的步骤为 i 计算 A的 QR 分解; ii 计算bQcT11 ,其中):1(:,1nQQ iii 利用回代法求解上三角方程组1cRx (4)对第一章第一个线性方程组,由于 R 的结果最后一行为零,故使用前代法时不计最后一行,而用运行结果计算84x 。 运算 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...