《计算方法》平时作业(2010-2011学年第一学期)学院:_________________________专业:_________________________姓名:_________________________学号:_________________________联系方式:_________________________机研111班机械工程学院作业(考试前交,给出证明或计算过程、计算程序及计算结果)1.对向量12Tnxxxx定义212111,max,nnkkkknkkxxxxxx设A是nn矩阵,规定1111maxxAAx,1maxxAAx,2221maxxAAx证明111112max(),max(),,.nnkjjkjnjnkkTAaAaAAA列范数行范数是最大特征值证明:1)证明111||||max||nijjniAa1111111111||||max||max||||max||||||max||nnnnijiijiijijjnjnjnjniiiiAXaxaxaxa所以111||||111||||max||||max||nijxjniAAxa设1111max||||,1,0,1,0,||||1,nnijipiipiipjniiaaxaxax取若取若则11||nnipiipiiaxa且。因此,1111111||||max||||||max||nnnnijiipiipijjnjniiiiAxaxaxaa即111||||111||||max||||max||nijxjniAAxa则111||||max||nijjniAa2)证明11||||max||nijinjAa11111111||||max||max||||max||||||max||nnnnijjijjijijininininjjjjAXaxaxaxa所以||||111||||max||||max||nijxinjAAxa设111max||||,1,0,1,0,||||1,nnijpjjpjjpjinjjaaxaxax取若取若则11||nnpjjpjjjaxa且。因此,111111||||max||||||max||nnnnijjpjjpjijininjjjjAxaxaxaa即||||111||||max||||max||nijxinjAAxa则11||||max||nijinjAa3)证明2.A因为矩阵ATA是对称正定或半正定,其所有特征值不小于0,所以其max存在。21/21/2221,max,TTTTxAxAxAxxAAxxAAxAx由于,由二次型极性可知,即,证毕2.用简单迭代法(即不动点迭代法)求方程32210200xxx在1x附近的根.要求给出不动点方程、程序和运行结果.解:不动点的迭代公式是kkpgp1,2,1,0k对于本题,可以构造格式2310,(202)10fppgpxx程序如下:%input初值p0取1,最大迭代步数N=2000,误差限Tol=510%output近似根p,迭代次数kp0=1.0;N=2000;Tol=1e-5;k=1;whilek=Np=(20-2*p0^2-p0^3)/10;ifabs(p-p0)Tolbreakendk=k+1;p0=p;enddisp(p);disp(k)经验证发现,当代入1及其附近值时发散,故换用迭代法格式220210pgpxx,将原函数变形后使用不动点迭代法p0=1.0;N=2000;Tol=1e-5;k=1;whilek=Np=20/(p0^2+2*p0+10);ifabs(p-p0)Tolbreakendk=k+1;p0=p;enddisp(p);disp(k)最终迭代的结果如下p=1.3688k=153.用Newton迭代法求方程32210200xxx的一个正根,计算结果精确到7位有效数字.要求给出程序和运行结果.解:Newton法的迭代公式是kkkkpfpfpp13221020kkkkfpppp,取Tol=510,N=20000,初值p0取1.0进行迭代程序如下:%input初值p0取1.0,最大迭代步数N=20000,误差限Tol=510。%output近似根p1,迭代次数k。p0=1;N=20000;Tol=1e-5;fork=1:N;p1=p0-(p0^3+2*p0^2+10*p0-20)/(3*p0^2+4*p0+10);ifabs(p1-p0)Tolbreakendp0=p1;enddisp(p1);disp(k)结果p=1.368808k=44.用牛顿迭代法求方程310xx在01x附近的根.要求给出程序和运行结果.解:同第3题,取31kkkfppp%input初值p0取1.0,最大迭代步数N=20000,误差限Tol=510。%output近似根p1,迭代次数k。p0=1;N=20000;Tol=1e-5;fork=1:N;p1=p0-(p0^3-p0-1)/(3*p0^2-1);ifabs(p1-p0)Tolbreakendp0=p1;enddisp(p1);disp(k)结果p=1.324718k=55.证明迭代格式21233kkkkxxaxxa,00,0ax是计算a的三阶方法.证明:由题可知202222222222'22222222300,2333(33)33631133333kxxaxxaxxxaxaxxaxxaxaxaxax当a0,x时,(1,),令(x)=(x)=对'0,()1xx,迭代收敛,设kx的极限为n,22(3)3nnanna,解得0,,,,knnanaxa取即收敛于因为32113323/313kkkkkkkkkxaxxaappxaxappxaxa所以1321limlim3kkkkkxaxaxa又因kxa当k时,所以132111limlim0334kkkkkxaxaaaaxa故21233kkkkxxaxxa是计算a的三阶方法。6.编写用全主元Gauss消去法解线性方程组的程序,并求解12345123451234512345123450.02431123144233433241634418xxxxxxxxxxxxxxxxxxxxxxxxx解:用全主元Gauss消去法解线性方程组的程序A=[0.02-14-31;-11213;4233-1;-31324;13-144];b=[111441618]';[n,v]=size(b);D=[A,b;eye(n),zeros(n,v)];[s1,m]=size(D);fork=1:(n-1)s=abs(A(k,k));p=k;q=k;fori=k:nforj=k;nifabs(A(i,j))s;s=abs(A(i,j));p=i;q=j;endendendifpkt=D(k,:);D(k,:)=D(p,:);D(p,:)=t;endifqkt1=D(:,k);D(:,k)=D(:,q);D(:,q)=t1;endh=D(k+1:n,k)/D(k,k);D(k+1:n,k+1:m)=D(k+1:n,k+1:m)-h*D(k,k+1:m);D(k+1:n,k)=zeros(n-k,1);endfork=n:-1:1D(k,k:m)=D(k,k:m)/D(k,k);forr=1:k-1D(r,:)=D(r,:)-D(r,k)*D(k,:);endendP=D(n+1:2*n,1:n);Q=D(1:n,n+1:m);x=P*Q计算结果:x=2.9412-3.82351.00000.94125.94127.用追赶法解线性方程组12345210001121000012100001210000120xxxxx要求给出程序和运行结果.解:用追赶法解线性方程组,程序如下a=[0-1-1-1-1];b=[22222];c=[-1-1-1-1];d=[10000];n=length(b);u0=0;y0=0;a(1)=0;%“追”的过程L(1)=b(1)-a(1)*u0;y(1)=(d(1)-y0*a(1))/L(1);u(1)=c(1)/L(1);fori=2:(n-1)L(i)=b(i)-a(i)*u(i-1);y(i)=(d(i)-y(i-1)*a(i))/L(i);u(i)=c(i)/L(i);endL(n)=b(n)-a(n)*u(n-1);y(n)=(d(n)-y(n-1)*a(n))/L(n);%“赶”的过程x(n)=y(n);fori=(n-1):-1:1x(i)=y(i)-u(i)*x(i+1);end计算结果:x=0.833333333333330.666666666666670.500000000000000.333333333333330.166666666666678.给定线性方程组12122132xxxx问用雅可比迭代法和Gauss-Seidel迭代法求解是否收敛?解:9.设有线性方程组123521121422023103xxx(1)考察用Jacobi迭代法和Gauss-Seidel迭代法解此方程组的收敛性;(2)分别用Jacobi迭代法和Gauss-Seidel迭代法解此方程组,要求当(1)()410kkxx时迭代终止.给出求解程序和迭代次数及结果.解:(1)(2)Jacobi方法:公式:kjijnijkjijijiiikixaxabax111112,1,0,,2,1kni程序:A=[521;-142;2-310];b=[-12203]';x0=zeros(3,1);tol=1e-4;n=100;x=x0;fork=1:nfori=1:3x(i)=(b(i)-A(i,:)*x0)/A(i,i)+x0(i);endifnorm(x-x0)toldisp(x);disp(k)return;endx0=x;enddisp('发散')结果:X=[-4.0000;3.0000;2.0000]’K=18Gauss-Seidel方法:公式:kjijnijkjijijiiikixaxabax1111112,1,0,,2,1kni程序:A=[521;-142;2-310];b=[-12203]';x0=zeros(3,1);tol=1e-4;n=100;x=x0;fork=1:nfori=1:3x(i)=(b(i)-A(i,:)*x)/A(i,i)+x(i);endifnorm(x-x0)toldisp(x);disp(k)return;endx0=x;enddisp('发散')结果:X=[-4.0000;3.0000;2.0000]’K=910.编写幂法程序求矩阵422251216A按模最大的特征值1和