2•用下列方法求方程 eAx+10x-2=0的近似根,要求误差不超过 5*10的负4次方,并比较计算量(1)*+LC*e-2>i&(局部,大图不太看得清,故后面两小题都用局部截图)Name*¥,OSiCJ” 丄CommandHistory ®Olb—m汚iP闭(2)迭代法Cwnm^fidWindewWeirkipate»J!=0.'NainnBa-l:vhile®ta(r-a}>5*le-:k-(2^expH))/llO«mandWindcrw 囱、、x=^.a*0tiLfihxLeafesl'b-aLlS-lJ-.«piac)+1gr・31/Qxp(n*“b3)b==»[NaneVaLie:" —.」1(3)牛顿法顺序消元法#include<>#include<>#include<>intmain(){intN=4,i,j,p,q,k;doublem;doublea[4][5];doublex1,x2,x3,x4;for(i=0;i<N;i++)for(j=0;j<N+1;j++)scanf("%lf",&a[i][j]);for(p=0;p<N-1;p++)for(k=p+1;k<N;k++){m=a[k][p]/a[p][p];for(q=p;q<N+1;q++)a[k][q]=a[k][q]-m*a[p][q];}}x4=a[3][4]/a[3][3];x3=(a[2][4]-x4*a[2][3])/a[2][2];x2=(a[1][4]-x4*a[1][3]-x3*a[1][2])/a[1][1];x1=(a[0][4]-x4*a[0][3]-x3*a[0][2]-x2*a[0][1])/a[0][0];printf("%f,%f,%f,%f',x1,x2,x3,x4);scanf("%lf",&a[i][j]); (这一步只是为了看到运行的结果)}运行结果1,-1651 40t?9,・39413--314218-42311--67210-014716-92371-000000,-1_000000,1-]x,det,flag]=Gauss(A,b)[n,m]=size(A);nb=length(b);flag='OK';det=1;x=zeros(n,1);fork=1:n-1max1=0;fori=k:nifabs(A(i,k))>max1max1=abs(A(i,k));r=i;endifmax1<1e-10flag='failure';return;endifr>kforj=k:nz=A(k,j);A(k,j)=A(r,j);A(r,j)=z;endz=b(k);b(k)=b(r);b(r)=z;det=-det;endfori=k+1:nm=A(i,k)/A(k,k);forj=k+1:nA(i,j)=A(i,j)-m*A(k,j);endb(i)=b(i)-m*b(k);enddet=det*A(k,k);enddet=det*A(n,n)ifabs(A(n,n))<1e-10flag='failure';return;endx(n)=b(n)/A(n,n);fork=n-1:-1:1forj=k+1:nb(k)=b(k)-A(k,j)*x(j);endx(k)=b(k)/A(k,k);运行结果:arts==jacobi(a,b,xO)D=diag(diag(a));U=-triu(a,1);L=-tril(a,-1);B=D\(L+U);f=D\b;y=B*x0+f;n=1;whilenorm(y-x0)>1e-4x0=y;y=B*xO+f;n=n+1;endyn高斯赛德尔迭代法functiony=seidel(a,b,xO)D=diag(diag(a));U=-triu(a,1);L=-tril(a,-1);G=(D-L)\U;f=(D-L)\b;y=G*xO+f;n=1;whilenorm(y-x0)>10A(-4)x0=y;y=G*x0+f;n=n+1;endyn①t:ri32\| ■直町 今禍£ Qe;E[:O汗31bd1fun?11on &idal
计算方法上机题答案 来自淘豆网m.daumloan.com转载请标明出处.