Re: [問題] 有關fortran寫法
subroutine rotate(xlat,xlon,count,sm,theta,rota,ctime)
dimension count(401,401,8)
real rota
character fti*10
character ctime*12,tt*2,ati*10
read(ctime(9:10),'(i2)')itime
if(itime.ge.3.and.itime.lt.9)then
itime=6
elseif(itime.ge.9.and.itime.lt.15)then
itime=12
elseif(itime.ge.15)then
itime=18
else
itime=0
endif
write(tt,'(i2)')itime
if(itime.lt.10)tt='0'//tt(2:2)
ctime=ctime(1:8)//tt
k=1
do i=1,1000
read(5,31,end=335)ati,ro
if(ctime(1:10).eq.ati)then
do while( k.le.7)
read(5,'(11x,f3.0)',end=335)ro
rota=ro
write(9,'(f3.0)') rota
k=k+1
enddo
endif
31 format(a10,1x,f3.0)
enddo
335 continue
do i = 1 , 401
do j = 1 , 401
call cir(i,j,lat,lon,dir,dis)
if(dis.gt.500.) cycle
do k = 2 , 8
dir=dir+rota !rotation angle
dx=sm*cos(theta*3.14159/180)*(k-2)
dy=sm*sin(theta*3.14159/180)*(k-2)
i2=lat+int(dx+0.5)
j2=lon+int(dy+0.5)
count(m,n,k)=count(i,j,1)
enddo
enddo
enddo
return
end
===========================================
2005080518 03.
2005080519 02.
2005080520 02.
2005080521 04.
2005080522 03.
2005080523 03.
2005080600 02.
2005080601 02.
2005080602 03.
以上這些資料是編號5的檔案所截取部份
================================================
上面是一個副程式,假設ctime(1:10)=ati= 2005080518時,接著我就做我用紅色標示
第一個區塊,可以讀出變數rota的資料為
02.
02.
04.
03.
03.
02.
02.
然後我想把這些資料分別丟進 dir=dir+rota 去計算,但是我現在只抓到最後一個rota
變數資料 02. ,意思就是變成程式只抓到02.資料,每次計算都是用02. 資料去計算,
我是要讓程式每次分別去抓不同的rota值,變成每次計算依序抓 02. 02. 04. 03. 03.
.....不同資料,這是我現在碰到困難處,我要把用紅色標示第一個區塊的rota值丟
到用紅色標示的第二個區塊,麻煩大家能給我ㄧ些提示方向,謝謝
--
〒作者:chuee 來自:140.115.111.196
◎二進位的世界【140.115.50.50‧bbs.ncu.cc】
→
01/08 14:36, , 1F
01/08 14:36, 1F
討論串 (同標題文章)
完整討論串 (本文為第 5 之 6 篇):
1
1
Programming 近期熱門文章
PTT數位生活區 即時熱門文章