-1
我有一個從0到15000行和幾列的時間序列數據。我希望以60秒的間隔分隔數據並計算每個間隔內的數據量。Fortran循環內的計數行
我創建了一個do循環,正確地創建從開始到文件結束的60s的間隔,但是,我不知道如何計算每個間隔內的行數。
我期待的最終結果是有兩列作爲結果: 區間數和行數。
這是我走到這一步:
program flash_selection
implicit none
integer i, zero, qtd, cellnumb, flashcell, tipo, segment
real time, Etrig, xtrig, ytrig, ztrig, poscharge, negq, chargeneutr
open(1,file='my_file.txt',status='OLD')
read(1,*)
do
read(1,*,end=100) qtd, time, cellnumb, flashcell, tipo, segment, Etrig, xtrig, ytrig, ztrig, poscharge, negq, chargeneutr
do i = 1, 420
open(2,file='test.txt')
if (time .GE. (i-1)*60 .AND. time .LT. i*60) then
write(2,*) qtd, time, tipo, segment, Etrig, xtrig, ytrig, ztrig, poscharge, negq, chargeneutr
end if
end do
end do
IF語句正確的數據按照我想要的東西分開,唯一剩下的就是要知道線的量,有對每個間隔60.
至於單元號,根據不同的編譯器,它可能支持自動單元轉讓,請參閱https://stackoverflow.com/questions/7876075/getting-free-unit-number-in-fortran – Craig
謝謝傑克和克雷格的迴應。我通過第一個循環之外的循環(第一個循環的i = 1,420)在IF語句之後通過加入a = a + 1來實現它,這幾乎就是您提到的計數器。 –