顯示廣告
隱藏 ✕
看板 Programming
作者 gash1818118 (澎湖大書包)
標題 求助  可以幫忙解釋一下這個在做什麼嗎
時間 2015-03-27 Fri. 16:52:46


FORTRAN 初學看不懂 教授去發了這個作業出來
麻煩各大大幫幫忙
Implicit real *8(a-h, o-z)
Dimension x1(2),x2(2),Rt(4),Rk(4),Rg(4),Rf(4)
Open (unit=1, file='jideE.out')
Open (unit=2, file='jideENslice.out')
Pi2=6.0*acos (0.5)
Write (*,*) Pi2
Write (*,*)'Enter Damping Coefficient'
Read (*,*) Dampf
Write (*,*)'Enter Initial conditions and wf, Nslice'
Read (*,*) Xo, Yo, wf, Nslice  / 0.20.20.5,200 /
Fw=wf/pi2
TP=1.0/fw
Deltat=Tp/float (Nslice-1)
Deltat6=Deltat/6.0
Tole=0.000001
Write (*,*)'Enter No of Run away cycles and to be examine'
Read (*,*) Ns, Ne
Pp=1.5
Fp=4.1
Step=0.001
Ncut=int ((fp-pp)/step)
OPEN (5,FILE='Text2.DAT',STATUS='UNKNOWN')
Do 30 kk=1, Ncut
Tt=0
X1(1) =xo
X2(1) =yo
Pp=pp+step
Do 20 I1=1, NE+Ns
Do 20 I2=1, Nslice
Rt (1)=tt
Rt (2) =TT+deltat*0.5
Rt (3) =Rt (2)
Rt (4) =Rt (1) +deltat
Do 15 I=1, 4
If (i.eq.1) then
Rk (i) =x1(1)
Rg (i) =x2(1)
Else
If (i.eq.4) then
Rk (i) =x1(1) +deltat*Rg (i-1)
Rg (i) =x2(1) +deltat*Rf (i-1)
Else
Rk (i) =x1(1) +Rg (i-1)*deltat*0.5
Rg (i) =x2(1) +Rf (i-1)*deltat*0.5
Titaf=wf*Rt (i)
Titak=rk (i)
Rf (i) =Pp*cos (titaf) +sin(RK(i))-Dampf*Rg (i)
Endif
Endif
15 Continue
X1(2) =x1(1) +deltat6*(Rg (1) +2.0*(Rg (2) +Rg (3)) +Rg (4))
X2(2)=x2(1)+deltat6*(Rf(1)+2.0*(Rf(2)+Rf(3))+Rf(4))
TT=Rt (4)
Titaf=mod (wf*tt, pi2)
If (I1.gt.Ns.and.kk.eq.1.and.titaf.le.tole)write(*,*)titaf,tole
If (I1.gt.Ns.and.titaf.le.tole) Write (1, 25) pp, x1(2), pp, x2(2)
If (I1.gt.Ns.and.I2.eq.Nslice) Write (2, 25) pp, x1(2), pp, x2(2)
X1(1) =x1(2)
X2(1) =x2(2)
20 Continue
30 Continue
25 Format (4(f10.5, 2x))
Stop
End
	
	



--
※ 作者: gash1818118 時間: 2015-03-27 16:52:46
※ 編輯: gash1818118 時間: 2015-03-27 16:53:24
※ 看板: Programming 文章推薦值: 0 目前人氣: 0 累積人氣: 721 
r)回覆 e)編輯 d)刪除 M)收藏 ^x)轉錄 同主題: =)首篇 [)上篇 ])下篇