【正文】
print *, lai*(),phi*(),v0,t0, hend program testSUBROUTINE Gaussian(A,N1,M1) implicit none integer ::n1,m1,k1,k2,ik,i,j ,l, i1 REAL*8 :: A(n1,m1) REAL*8 :: BMAX,T,EPS EPS=0. DO K1=1,N1 BMAX=0. DO I=K1,N1 IF(BMAXABS(A(I,K1)).) THEN BMAX=ABS(A(I,K1)) L=I END IF END DO IF() STOP 4444 IF() THEN DO J=K1,M1 T=A(L,J) A(L,J)=A(K1,J) A(K1,J)=T END DO END IF T=1./A(K1,K1) K2=K1+1 DO J=K2,M1 A(K1,J)=A(K1,J)*T DO I=K2,N1 A(I,J)=A(I,J)A(I,K1)*A(K1,J) END DO END DO END DO DO IK=2,N1 I=M1IK I1=I+1 DO J=I1,N1 A(I,M1)=A(I,M1)A(I,J)*A(J,M1) END DO END DO RETURNEND SUBROUTINE Gaussiansubroutine lp2xy(lai,phi,la0,ph0,xx,yy) implicit none real*8 :: ph0, la0, phi, lai, ee, a, r1,r2, r3, dl, dp, sinxcos, xx, yy ee= a= sinxcos=sin(ph0)*cos(ph0) R1=sqrt(1ee*sin(ph0)**) r2=a/R1 r3=a*(1ee)/R1**3 dl=laila0 dp=phiph0 xx=r2*dl*cos(ph0) yy=r3*dp+*r2*dl***sinxcos returnend subroutine lp2xysubroutine xy2lp(xx,yy,la0,ph0,lai,phi) implicit none real*8 :: ph0, la0, phi, lai, ee, a, r1,r2, r3, sinxcos, xx, yy ee= a= sinxcos=sin(ph0)*cos(ph0) R1=sqrt(1ee*sin(ph0)**) r2=a/R1 r3=a*(1ee)/R1**3 lai=xx/(r2*cos(ph0))+la0 phi=yy/*xx**2*tan(ph0)/(r2*r3)+ph0 returnend subroutine xy2lp當(dāng)速度給定時,在求解方程參數(shù)和未知數(shù)的量稍有變化。) la0*(),ph0*(),v,h close(2) !stop 10 continue !(lai,phi)(x,y) do istn=1,nstn lai=x(istn) phi=y(istn) call lp2xy(lai,phi,la0,ph0,xx,yy) x(istn)=xx y(istn)=yy end do !calculating coefficents for the linear equations do istn=2,nstn coef(istn,1)=x(istn)x(1) coef(istn,2)=y(istn)y(1) coef(istn,3)=(t(istn)**2t(1)**2)/ coef(istn,4)=t(istn)+t(1) delt(istn) =(x(istn)**2x(1)**2+y(istn)**2y(1)**2)/ end do !least squarroot method to get the solution ! dt(1) de(1,1) de(1,2) de(1,3) de(1,4) de(1,5) ! dt(2) de(2,1) de(2,2) de(2,3) de(2,4) de(2,5) ! . ! . ! . ! dt(n) de(n,1) de(n,2) de(n,3) de(n,4) de(n,5) ! de(1,1) de(2,1) ... de(n,1) ! de(1,2) de(2,2) ... de(n,2) ! de(1,3) de(2,3) ... de(n,3) ! de(1,4) de(2,4) ... de(n,4) ! de(1,5) de(2,5) ... de(n,5) do i=1,4 do j=1,4 solut(i,j)=0 do k=1,nstn solut(i,j)=solut(i,j)+coef(k,i)*coef(k,j) end do end do end do do i=1,4 solut(i,5)=0 do k=1,nstn solut(i,5)=solut(i