2016矩阵与数值分析上机作业满分(共25页).docx
《2016矩阵与数值分析上机作业满分(共25页).docx》由会员分享,可在线阅读,更多相关《2016矩阵与数值分析上机作业满分(共25页).docx(25页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、精选优质文档-倾情为你奉上第一题考虑计算给定向量的范数:输入向量x=x1,x2,xnT,输出x1,x2,x。请编制一个通用程序,并用你编制的程序计算如下向量的范数:x=1,12,13,1nT, y=1,2,nT.对n = 10,100,1000甚至更大的n计算其范数,你会发现什么结果?你能否修改你的程序使得计算结果相对精确呢?代码:function Problem1()clcN=input(input N=);X=zeros(1,N);Y=1:N;for i=1:N X(i)=1/i;endx1=0;x2=0;y1=0;y2=0;for i=1:N x1=x1+abs(X(i); x2=x2+
2、X(i)*X(i); y1=y1+abs(Y(i); y2=y2+Y(i)*Y(i);endx1;x2=sqrt(x2);x3=max(abs(X);y1;y2=sqrt(y2);y3=max(abs(Y);fprintf(x的1范数是%.2fn,x1);fprintf(x的2范数是%.2fn,x2);fprintf(x的无穷范数是%.2fn,x3);fprintf(y的1范数是%.2fn,y1);fprintf(y的2范数是%.2fn,y2);fprintf(y的无穷范数是%.2fn,y3);结果:input N=10x的1范数是2.93x的2范数是1.24x的无穷范数是1.00y的1范数是
3、55.00y的2范数是19.62y的无穷范数是10.00input N=100x的1范数是5.19x的2范数是1.28x的无穷范数是1.00y的1范数是5050.00y的2范数是581.68y的无穷范数是100.00input N=1000x的1范数是7.49x的2范数是1.28x的无穷范数是1.00y的1范数是.00y的2范数是18271.11y的无穷范数是1000.00第二题考虑y=fx=ln(1+x)x,其中定义f(0)=1,此时f(x)是连续函数。用此公式计算当x-10-15,10-15时的函数值,画出图像。另一方面,考虑下面算法:d=1+xif d=1 theny=1else y=l
4、nd/(d-1)end if用此算法计算x-10-15,10-15时的函数值,画出图像。比较一下发生了什么?代码:function problem2()clcN=1000;n=2*10(-15)/N;%公式计算f=zeros(1,N+1);t=1;for i=-10(-15):n:10(-15) if(i=0) f(t)=log(1+i)/i; else f(t)=1; end t=t+1;end%算法计算a=zeros(1,N+1);t=1;for i=-10(-15):n:10(-15) d=1+i; if(d=1) a(t)=log(d)/(d-1); else a(t)=1; end
5、t=t+1;end%画图,左边是公式算的,右边是算法算的subplot(1,2,1);plot(-10(-15):n:10(-15),f);hold onsubplot(1,2,2);plot(-10(-15):n:10(-15),a);hold on结果:第三题首先编制一个利用秦九韶算法计算一个多项式在给定点的函数值的通用程序,你的程序包括输入多项式的系数以及给定点,输出函数值。利用你编制的程序计算px=x-29=x9-18x8+144x7-672x6+2016x5-4032x4+5376x3-4608x2-512在x=2邻域附近的值。画出px在x1.95,20.5上的图像。代码:funct
6、ion problem3()%秦九韶算法clcn=9;c=1,-18,144,-672,2016,-4032,5376,-4608,2304,-512;N=100;m=(2.05-1.95)/N;y=zeros(1,N+1);ydex=0;for x=1.95:m:2.05 ydex=ydex+1; dex=1; temp=c(dex); while dexa a=abs(A(k,i); m=k; end end A(i,m,:)=A(m,i,:); P(i,m,:,i)=P(m,i,:,i); for j=i+1:n L(j,i,i)=-A(j,i)/A(i,i); for l=i:n A(
7、j,l)=A(j,l)+L(j,i,i)*A(i,l); end endendU=A;Ufor x=1:n-1 Q=L(:,:,x); for y=x+1:n-1 Q=P(:,:,y)*Q*P(:,:,y); end S=S*inv(Q);end%L矩阵S for z=1:(n-1) R=P(:,:,z)*R;end%P矩阵Rb1=R*b;b2=inv(S)*b1;x2=inv(U)*b2;M=inv(U)*inv(S)*Rerror=norm(x-x2)结果:由于篇幅有限仅列出n=5时的精度及逆矩阵LU分解M = 0.5000 -0.2500 -0.1250 -0.0625 -0.0625
8、0 0.5000 -0.2500 -0.1250 -0.1250 0 0 0.5000 -0.2500 -0.2500 0 0 0 0.5000 -0.5000 0.5000 0.2500 0.1250 0.0625 0.0625error = 8.8818e-16PLU分解M = 0.5000 -0.2500 -0.1250 -0.0625 -0.0625 0 0.5000 -0.2500 -0.1250 -0.1250 0 0 0.5000 -0.2500 -0.2500 0 0 0 0.5000 -0.5000 0.5000 0.2500 0.1250 0.0625 0.0625erro
9、r =7.8516第五题编制计算对称正定阵的Cholesky分解的通用程序,并用你编制的程序计算Ax = b,其中A=aijRnn,aij=1i+j-1。b可以由你自己取定,对n从10到20验证程序的可靠性。代码:function problem5()%cholesky分解clc%生成矩阵AN=10; A=zeros(N);for ia=1:N for ja=1:N A(ia,ja)=1/(ia+ja-1); endendL=chol(A);L 结果:由于篇幅有限仅列出n=10时的L矩阵L = 1.0000 0.5000 0.3333 0.2500 0.2000 0.1667 0.1429 0
10、.1250 0.1111 0.1000 0 0.2887 0.2887 0.2598 0.2309 0.2062 0.1856 0.1684 0.1540 0.1417 0 0 0.0745 0.1118 0.1278 0.1331 0.1331 0.1304 0.1265 0.1220 0 0 0 0.0189 0.0378 0.0525 0.0630 0.0702 0.0748 0.0777 0 0 0 0 0.0048 0.0119 0.0195 0.0265 0.0326 0.0378 0 0 0 0 0 0.0012 0.0036 0.0068 0.0103 0.0139 0 0 0
11、 0 0 0 0.0003 0.0011 0.0022 0.0038 0 0 0 0 0 0 0 0.0001 0.0003 0.0007 0 0 0 0 0 0 0 0 0.0000 0.0001 0 0 0 0 0 0 0 0 0 0.0000第六题(1) 编制程序House(x),其作用是对输入的向量x,输出单位向量u使得I-2uuTx=x2e1。(2) 编制Householder变换阵H=I-2uuTRnn乘以ARnm的程序HA,注意,你的程序并不显式的计算出H。(3) 考虑矩阵A=123-132-22e 43-102-3027 75/2,用你编制的程序计算H使得HA的第一列为e1的形
12、式,并将HA的结果显示。代码:function problem6()clcx=1;-1;-2;-10(1/2);0;if x(1)0 sg=1;else sg=-1;endNx=length(x);e1=zeros(Nx,1);e1(1)=1;sum=0;for i=1:Nx sum=sum+x(i)*x(i);endx2=sqrt(sum);clear sum;w=x-sg*x2*e1;u=w/sqrt(w*w);u%生成矩阵AA=1,2,3,4;-1,3,2(1/2),3(1/2);-2,-2,exp(1),pi;-10(1/2),2,-3,7;0,2,7,5/2;H=eye(Nx)-2*
13、u*u;H*A结果:u = -0.6124 -0.2041 -0.4082 -0.6455 0ans = 4.0000 -0.8311 1.4090 -6.5378 0.0000 2.0563 0.8839 -1.7805 0.0000 -3.8874 1.6576 -3.8836 0.0000 -0.9843 -4.6770 -4.1078 0 2.0000 7.0000 2.5000第七题用Jacobi和Gauss-Seidel迭代求解下面的方程组,输出迭代每一步的误差xk-x:5x1-x2-3x3=-2-x1+2x2+4x3=1-3x1+4x2+15x3=10代码:function pr
14、oblem7()clcinter=10;%迭代次数rx=69*7/61-8, 69*3/(61*2)-7/2, 69/61; %根据题意生成A,bA=5 -1 -3; -1 2 4; -3 4 15;b=-2 1 10;N=length(b);x=ones(N,1);%Jacobi迭代法L=zeros(N,N);D=L;U=L;for ia=1:N D(ia,ia)=A(ia,ia); if ia1 for il=1:(ia-1) L(ia,il)=-A(ia,il); end endendfor intt=1:inter x=inv(D)*(L+U)*x+inv(D)*b; wuca1=0;
15、 %求误差 for ix=1:N wuca1= wuca1+(x(ix)-rx(ix)2; end wuca1end%G-S迭代法for intt=1:inter x=inv(D-L)*U*x+inv(D-L)*b; wuca2=0; %求误差 for ix=1:N wuca2= wuca2+(x(ix)-rx(ix)2; end wuca2end结果:wuca1 = 24.6036wuca1 = 12.3259wuca1 = 1.9276wuca1 = 5.4520wuca1 = 15.9787wuca1 = 10.0748wuca1 = 3.6731wuca1 = 6.2770wuca1
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2016 矩阵 数值 分析 上机 作业 满分 25
限制150内