資源描述:
《數(shù)值分析上機作業(yè)(總)》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。
1、數(shù)值分析上機實驗一、解線性方程組直接法(教材49頁14題)追趕法程序如下:functionx=followup(A,b)n=rank(A);for(i=l:n)if(A(i,i)==0)disp('Error:對角育元素為0*);return;endend;d=ones(nr1);a=ones(n-1f1);c=ones(n-1);for(i=l:n-1)a(i,l)=A(i+lzi);c(i,l)=A(izi+1);d(ifl)=A(izi);endd(nz1)=A(nzn);for(i=2:n)d(izl)=
2、d(iz1)-(a(i-lz1)/d(i-lz1))*c(i-1,1);b(izl)=b(iz1)-(a(i-lz1)/d(i-lz1))*b(i-lzl);endX(nz1)=b(nz1)/d(n,1);for(i=(n-1):-1:1)x(i,1)=(b(izl)-c(izl)*x(i+lzl))/d(i,1);end主程序如下:functionzhunganfaA=[2-2000000;-25-200000;0-25-20000;00-25-2000;000-25-200;0000-25-20;00000-
3、25-2;000000-25];b=[220/27;0;0;0;0;0;0;0];x=followup(A,b)計算結(jié)果:8.14784.07372.03651.01750.50730.25060.11940.0477二、解線性方程組直接法(教材49頁15題)程序如下:functiontiaojianshu(n)A=zeros(n);forj=l:1:nfori=l:1:nA(izj)=(l+0.1*i)A(j-l);endendc=cond(A)d=rcond(A)當(dāng)n=5時c=5?3615e+005d=9.4
4、327e-007當(dāng)n=10時c=8?6823e+011d=5.0894e-013當(dāng)n=20時c=3.4205e+022d=8?1226e-024備注:對于病態(tài)矩陣A來說,d為接近0的數(shù);對于非病態(tài)矩陣A來說,d為接近1的數(shù)。三、解線性方程組的迭代法(教材74頁14題)(1)用Jacobi迭代法求:Jacobi迭代法程序如下:function[x,n]=jacobi(A,b,xO,eps,varargin)ifnargin==3eps=1.Oe-6;M=200;elseifnargin<3errorreturnel
5、seifnargin==5M=varargin{1};endD=diag(dimg(A));L=-tril(A,-l);U=-triu(A,1);B=D(L+U);f=Db;x=B*xO+f;n=l;whilenorm(x-xO)>=epsx0=x;x=B*xO+f;n=n+1;if(n>=M)disp('Warning:迭代次數(shù)太多,可能不收斂');return;endend本題主程序如下:functionyakebidieddiA=[101234;19-12-3;2-173-5;32312-1;4-3-5
6、-115];b=[12;-27;14;-17;12];x0=[0;0;0;0;0];[xrn]=jacobi(A,b,xO)計算結(jié)果:X=1.0000-2.00003.0000-2.00001.000067經(jīng)過67次迭代,得到最終結(jié)果(2)用Gauss-Seidel迭代法求:Gauss-Seidel迭代法程序女H下:function[x,n]=gauseidel(A,b,xOzeps,M)ifnargin==3eps=1.Oe-6;M=200;elseifnargin==4M=200;elseifnargin<3
7、errorreturn;endD=diag(diag(A));L=-tril(A,-1);U=-triu(A,1);G=(D-L)U;f=(D-L)b;x=G*xO+f;n=l;whilenorm(x-xO)>=epsx0=x;x=G*xO+f;n=n+l;if(n>=M)disp('Warning:迭代次數(shù)太多,可能不收斂,);“turn;endend本題丄程序如下:functiongaosidiedaiA=[101234;19-12-3;2-173-5;32312-1;4-3-5-115];b=[12;-
8、27;14;-17;12];x0=[0;0;0;0;0];[x,n]=gauseidel(A,b,xO)計算結(jié)果:1.0000-2.00003.0000-2.00001.0000n=38經(jīng)過38次迭代,得到最終結(jié)果。四、矩陣特征值與特征向量的計算(教材100頁13題)幕法求最大特征值的程序:function[lzs]=pmethod(A,xOAeps)ifnargin==