《数值分析计算机模拟》由会员分享,可在线阅读,更多相关《数值分析计算机模拟(9页珍藏版)》请在金锄头文库上搜索。
1、数值分析作业1 已知矩阵, =1 2 3 5 4 1 2 5 9 =3 5 6 1 2 9 =6 1 2 5 2 8 4 7 1求:a + b, ab , ac, ca.解 键入: a=1 2 3;5 4 1;2 5 9; b=3 5;6 1;2 9; c=6 1 2;5 2 8;4 7 1; a1=a+c, a2=a*b, a3=a*c, a4=c*aa1 =7 3 510 6 96 12 10a2 =21 3441 3854 96a3 =28 26 2154 20 4373 75 53a4 =15 26 3731 58 8941 41 282 已知矩阵, =1 2 3 5 4 1 2 5
2、9 =6 1 2 5 2 8 4 7 1用数组算法计算:a. * c, a* c, a.3 和 a3。解:键入 a=1 2 3;5 4 1;2 5 9;c=6 1 2;5 2 8;4 7 1; a.*cans =6 2 625 8 88 35 9 ac1=a* cac1 =28 26 2154 20 4373 75 53 a3=a.3,a4=a3a3 =1 8 27125 64 18 125 729a4 =206 294 364238 318 364574 826 10323. 设计算法中的注意事项(防止大数吃小数)。设 a=1e+308,b=1.1e+308,c=-1.001e+308,用
3、matlab 计算(a+b)+c,a+(b+c)。解:键入 a=1e+308;b=1.1e+308;c=-1.001e+308;(a+b)+cans =Inf a+(b+c)ans =1.0990e+3084.求方程的根。4 43+ 62 4 + 1 = 0解:键入 roots(1 -4 6 -4 1)ans =1.0002 1.0000 + 0.0002i1.0000 - 0.0002i0.9998 5.对矩阵求奇异值分解。 =1 2 3 2 3 4 3 2 5解:键入 a=1 2 3;2 3i 4;3 2 5; u,s,v=svd(a)u =-0.4100 + 0.0525i -0.121
4、9 + 0.3923i -0.8068 - 0.0974i-0.5657 - 0.1051i -0.0021 - 0.7846i -0.1241 + 0.1948i-0.7038 + 0.0525i 0.2484 + 0.3923i 0.5261 - 0.0974is =8.5212 0 00 2.8341 00 0 0.5972v =-0.4287 0.2184 0.8767 -0.2984 + 0.2238i -0.7412 + 0.5559i 0.0388 - 0.0291i-0.8229 + 0.0000i 0.3062 - 0.0000i -0.4787 + 0.0000i6.已知
5、y=sin x 的表格为:x0/6/4/3 y00.50000.70100.8660 分别用三次多项式插值,三次样条插值,lagrange 插值求 sin(/12),sin(2/9),sin(/2)。解:(1)三次多项式插值键入; x=0;pi/6;pi/4;pi/3;y=0;0.5;0.701;0.866;X=pi/12;2*pi/9;pi/2;Y=interpl(x,y,X,cuhic)Y=0.26560.63831.0668(2)三次样条插值键入; x=0;pi/6;pi/4;pi/3;y=0;0.5;0.701;0.866;X=pi/12;2*pi/9;pi/2;Y=interpl(x
6、,y,X,spline)Y=0.26550.63791.0780(3)lagrange 插值键入: x=0;pi/6;pi/4;pi/3;y=0;0.5;0.701;0.866;X=pi/12;2*pi/9;pi/2;Y=lagrangel(x,y,X)Y=0.26550.63791.07807.对课本例 5.5 求解方程组的系数矩阵 A 进行 LU 分解,并计算|A|。其中 =1 2 3 4 1 4 9 16 1 8 27 641 16 81 256 解:原程序如下function L,U=testlu(A)%INPUT A is an NN nonsingular matrix.%outp
7、ut L is an NN unit lower triangular matrix. % U is an NN upper triangular matrix. n=length(A); U=zeros(n,n);L=eye(n,n);U(1,:)=A(1,:);L(2:n,1)=A(2:n,1)/U(1,1);for k=2:n U(k,k:n)=A(k,k:n)-L(k,1:k-1)*U(1:k-1,k:n);L(k+1:n,k)=(A(k+1:n,k)-L(k+1:n,1:k-1)*U(1:k-1,k)/U(k,k);L,U,pause end键入:A=1 2 3 4;1 4 9 16;1 8 27 64;1 16 81 256;L,U=testlu(A),L=1.0000 0 0 01.0000 1.0000 0 01.0000 3.0000 1.0000 01.0000 7.0000 6.0000 1.0000U=1.0000 2.0000 3.0000 4.00000 2.0000 6.0000 12.00000 0 6.0000 24.00000 0 0 24.0000键入: A=1 2 3 4;1 4 9 16;1 8 27 64;1 16 81 256; det(A)ans =288