我有一个时间序列数据,从0到15000行和几列。我希望以60秒的间隔分隔数据,并计算每个间隔内的数据量。
我创建了一个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的行数。
答案 0 :(得分:0)
只需添加<FormattedRelative value={0} initialNow={1248341} />
变量即可。每次循环增加counter
。 IF测试成功后,打印出counter
,然后将其设置为零。
(顺便说一下 - 不确定你的循环中是否有counter
语句。你应该使用大于10的文件号。)