r<e ,break;end %判断是否达到计算精度,如果达到则退出循环РendРt=toc;Р最佳松弛因子:Рfunction [goodw,goodk]=zuijiaw(n)Р%计算最佳wР%精度为0.01Р[U,k,er,t]=KSOR(n,0.01);Рgoodk=k;goodw=0.01;Рfor w=0.02:0.01:2Р [U,k,er,t]=KSOR(n,w);Р if k<=goodkР goodk=k;Р goodw=w;Р endРendР(3)共轭斜量法Рfunction A=xishu(N) %存储离散化后非边界点构成的系数矩阵РA=zeros(N^2);Рfor i=1:N^2Р A(i,i)=4;Р if i+N<N^2+1Р A(i,i+N)=-1;Р A(i+N,i)=A(i,i+N);Р endР if mod(i,N)~=0Р A(i,i+1)=-1;Р A(i+1,i)=A(i,i+1);Р endРendРfunction U=cg(n) Р%共轭向量法求解线性方程组Рh=1/(n+1);РU=zeros(n+2); %初始化U矩阵Рfor l=1:n+2Р U(1,l)=(l-1)*h*(1-(l-1)*h);Р U(n+2,l)=(l-1)*h*(1-(l-1)*h);РendРfor i=1:n^2Рb(i,1)=0.03;Рx(i,1)=0;РendРa=xishu(n);Рn=length(b);Рr=b-a*x;Рp=r;Рq0=r'*r;Рwhile q0>1e-10Р w=a*p;Р t=q0/(p'*w);Р x=x+t*p;Р r=r-t*w;Р q=r'*r;Р s=q/q0;Р p=r+s*p;Р q0=q;РendРN=n^0.5Рxx=reshape(x,N,N);РU(2:N+1,2:N+1)=xx;