1《高等工程数学》习题二参考答案(姚仰新,罗家洪,庄楚强,华南理工大学出版社)由于时间仓促,错误难免,请把意见发到 fzmath@.com,谢谢.1、1)因为,所61* 05.9040182.5947182..2 LLex以有效数字为 6 位,其误差为 ,相对误差为 5*1)(xe*12)(xer2)因为 , ,所以03.4135*2x 7386 .3716-05.179620.788924 . LL所以有效数字为 7 位,其误差为 ,相对误差为 2)(xe 6*2103)(xer2、解:1) , 5100356314][ 2225312bA回代可得 , , ,即方程组的解为 23x1x),4(2) 254975562 25601104 10.3245.351][bA回代可得 , , ,即方程组的解为 4.3x2x.1)4.1,2.(3) 分三个步骤:(i)求分解式 . 求 Doolittle 分解,即LUA,210102LUA(ii) 求解 ,用前推过程by2713501242y.463521y(iii) 求解 ,用回代过程Ux4635210x2143x回代可得 , , , ,即方程组的解为 。
4x31 )2,1(3、解:1) ,设521A 32321uclLUA, 解 得 , ,523105320 by13232)1(7y,29y所以 , , ,即1523x21302x 1321x .1,2,3xx2) ,设12A 4321432 ucullLUA, 解 得 , ,375231052 bLy12312y, ,5723y14504y所以 , , , ,即3714x2537x 1)(2532x 021x.,,042134、解:A=[16 4 8;4 5 -4;8 -4 22];b = [-4; 3; 10];n = length(b);L = cholfrac(A);y = zeros(n,1);y(1) = b(1)/L(1,1);for i = 2:ny(i) = (b(i)-L(i,1:i-1)*y(1:i-1))/L(i,i);endx = zeros(n,1);x(n) = y(n)/L(n,n);for i = n-1:-1:1x(i) = (y(i) - L(i+1:n,i)'*x(i+1:n) )/L(i,i);endxx =-2.25004.00002.00005. 由第 133 页(6.33)式,范数取为无穷范数,用 MATLAB 可得5-1 10.687 )(cond bAbAx附:>> A=[1 0 -1;2 2 1; 0 2 2];>> b=[1/2 1/3 -2/3]';>> cond(A,'inf');>> cond(A,'inf')*1/2*1e-6/norm(b,'inf')ans = 1.6875e-0056. 解:(1) ,重写为 ,所以 Jacobi 迭代1325.0101x)21(35.0)21(312xxxx4格式 , 即)21(35.0)21(()()( )(3)(1)(2 ()()(1kkk kkkxxxx .,210L, Jacobi 迭代矩阵 . 3120)()(32105)(32)1( kkkkxx .,Lk 03215JB所以 Gauss-Seidel 迭代格式 , , )21(35.0)2(1()()( )(3)()1(2 ()()( kkk kkkxxx.,20L整理得 , , ,2547531)21(3 ,005.0),21( )(3)(()()( )()(2)()1()(2 (3)()(1 kkkkk kkk xxxx .,21L所以 Gauss-Seidel 迭代矩阵 ,254701GSB(2) 因为 , ,所以 J 迭代和 GS 迭代都收敛。
15321JBS(3)clearclcA=[10 -2 -2; -2 10 -1; -1 -2 3];b=[1; 0.5; 1];D = diag(diag(A));L = -(tril(A)-D);U = -(triu(A)-D);B = inv(D)*(L+U);f = inv(D)*b;n = length(b);x0 = 0*ones(n,1);% 雅克比迭代法5for k = 1:3x1 = B*x0 + f;fprintf(' 雅克比迭代法经过 %d 迭代后的结果为\n',k)fprintf('[%f %f %f] \n',x1')x0 = x1;endrho1 = max(abs(eig(B)));fprintf('雅克比迭代法谱半径 %f \n',rho1)% 高斯- 赛德尔迭代法B = inv(D-L)*U;f = inv(D-L)*b;x0 = 0*ones(n,1);for k = 1:3x1 = B*x0 + f;fprintf('高斯-赛德尔迭代法经过 %d 迭代后的结果为\n',k)fprintf('[%f %f %f] \n',x1')x0 = x1;endrho2 = max(abs(eig(B)));fprintf('高斯- 赛德尔迭代法谱半径 %f \n',rho2)运行结果为:雅克比迭代法经过 1 迭代后的结果为[0.100000 0.050000 0.333333] 雅克比迭代法经过 2 迭代后的结果为[0.176667 0.103333 0.400000] 雅克比迭代法经过 3 迭代后的结果为[0.200667 0.125333 0.461111] 雅克比迭代法谱半径 0.491126 高斯-赛德尔迭代法经过 1 迭代后的结果为[0.100000 0.070000 0.413333] 高斯-赛德尔迭代法经过 2 迭代后的结果为[0.196667 0.130667 0.486000] 高斯-赛德尔迭代法经过 3 迭代后的结果为[0.223333 0.143267 0.503289] 高斯-赛德尔迭代法谱半径 0.2290997. 解:Jacobi 迭代矩阵为 ,其范数 ,所以由第 139 页定理0412JB15.0JB6.5 知,Jacobi 迭代收敛。
根据第 138 页定义 6.4 谱半径的定义,,故特征根为 ,其谱半径 ,由第8241JBE212,12)(J140 页收敛速度定义可得 ;ln3)(l)(JJBR6类似地有 Gauss-Seidel 迭代矩阵为 ,其范数 ,所以由8120GSB15.0GSB第 139 页定理 6.5 知,Gauss-Seidel 迭代收敛根据第 138 页定义 6.4 谱半径的定义,,故特征根为 , ,其谱半径 ,)81(0812GSBE12 8)(GS由第 140 页收敛速度定义可得 ln3)(ln)(GSGSBR8. 证明:因为迭代公式可改写为 ,所以迭bEbkkkk )()()()1( (xAAxx代矩阵为 ,其特征多项式为 ,ABEtttEn1)由于 的特征根为 ,所以 的特征根为021nLB.,2,iti L当 时, ,所以10 112221 nttt L1)(B,由第 138 页迭代法收敛基本定理 6.4,可知迭代公式收敛9. 解:因为构造插值节点 x100 121 144f)(10 11 12由第 145 页第一行拉格朗日插值可得,21001210)(101 xxxyxyxL所以 ,由第 147 页(7.10)和(7.11) 可得,743.251,xf4)(',所以31025.10' f。
131 025.))((!.)5( R由第 146 页(4.9)拉格朗日插值可得72 10 21202210121021602716 444)(x xyxyx yxL ,所以 ,由第 147 页(7.10)和(7.11)可得, ,78.)5(1L xf283)(',所以6105.30' xf 21 10635.)145)(2)((!125.)( R10.解: x10 1 24)(f1 0 0 16因为 ,所以由第 147 页(7.10)可得2!)(4xf,432)(3 )(1)! xxxR 所以 RfxL2()33311. 略12. 解:差商表为 xsin一阶差商 二阶差商1.5 0.997491.6 0.99957 0.02081.7 0.99166 -0.0791 -0.2915所以由第 149 页(7.12)可得,1.6).5(0.2915)0.28(.974)(2 xxxN所以 9471.0).)(6.(.)69.1(..0))61sin(2 85 !31709150)9(2 R813.解:由边界条件 , , ,得1'0y2'31210h, ,所以2121 8,3,,1dd,所以 ,所以18321012M1562815420 ],32(),(4583)(9)2(4583)(31 ,1,712],0[,49)(54)(5)( 33 xxxxxxS14.解:使用 ployfit 和 polyval 命令,%P219 ex14.x = [1.36 1.73 1.95 2.28];y = [14.094 16.844 18.475 20.963];plot(x,y,'o')axis([min(x)-0.2 max(x)+0.2 min(y)-1 max(y)+1])p = polyfit(x,y,1);xp = linspace(min(x)-0.2, max(x)+0.2,100);yp = polyval(p,xp);hold onplot(xp,yp)拟合结果:xy7.4623.91.2 1.4 1.6 1.8 2 2.2 2.4141516171819202115. 解: ,所以 ,所以 ,即bxaylnxy369.05.lnxey369.01.82 , ,.83a9.0%P219 ex15.9x = [0 1 2 4];y = [2.010 1.210 0.740 0.450];yl = log(y);plot(x,yl,'o')axis([min(x)-0.2 max(x)+0.2 min(yl)-1 max(yl)+1])p = polyfit(x,yl,1);xp = linspace(min(x)-0.2, max(x)+0.2,100);yp = polyval(p,xp);hold onplot(xp,yp)0 0.5 1 1.5 2 2.5 3 3.5 4-1.5-1-0.500.511.5注意:也可用 lsqcurvefit 命令直接求,效果会更好一些。
16.解:%P219 ex16.x = [-1.00 -0.75 -0.50 -0.25 0 0.25 0.50 0.75 1.00];y = [。