| [Fortran] syntaxhighlighter_viewsource syntaxhighlighter_copycode do
            do k=2,n-1
                Ek0=E(k)
                P0=(P(k)*Dz(k)+P(k-1)*Dz(k-1))/(Dz(k)+Dz(k-1))
                Dz0=(Dz(k)+Dz(k-1))/2D0
                E(k)=E(k)*(1D0-W0)+W0*(E(k+1)/(Dz0*Dz(k))+E(k-1)/(Dz0*Dz(k-1)))/(1.0D0/(Dz(k)*Dz0)+1.0D0/(Dz(k-1)*Dz0)+i*W*U*P0)
                T=(abs(dble(Ek0)-dble(E(k)))+abs(aimag(Ek0)-aimag(E(k))))/2D0
                if(T<1e-45)goto 100
            enddo
        enddo
100     H2=(E(3)-E(2))/(Dz(2)*i*W*U)
        Hs=P(2)*Dz(2)*(E(2)+(E(3)-E(2))/4)/2+H2
        Pa=(E(2)/Hs)**2/(W*U)如题 作业中
 用到sor迭代求解一个较大的矩阵
 不知道怎样结束循环
 我上面用的总感觉不是很好
 
 |