⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 departuresum_mod.f90

📁 计算急急急斤斤计较急急急 人格热热而特务认为而
💻 F90
字号:
!#######################################################
!##		------求序列的累积距平序列(2005-03-31)------
!##	   ------结果返回,同时可选择是否直接输出------
!##
!##		---虚参说明---
!##		staStep : 序列起始时刻
!##
!##		inSeries : 输入用于求距平累加的序列
!##
!##		outSeries : 输出距平累加序列
!##
!##		filepath : 输出文件路径,可选
!##
!##		filename : 结果输出文件名,可选
!##
!#######################################################
module DepartureSum_mod
implicit none
contains

subroutine DepSum ( staStep, inSeries, outSeries, filepath, filename )

integer, intent ( in ) :: staStep
real, dimension ( : ), intent ( in ) :: inSeries
real, dimension ( : ), intent ( out ) :: outSeries
character ( len = * ), intent ( in ), optional :: filepath, filename

integer :: i, n
real :: ave=0

n = size( inSeries )

ave = sum( inSeries(1:n) ) / real( n )	!如果用传入序列的部分均值做基本均值,则可在此修改

do i = 1, n
	outSeries( i ) = inSeries( i ) - ave
end do

do i = 2, n
	outSeries( i ) = outSeries( i ) + outSeries( i-1 )
end do

!#####################################################
!	OUTPUT
if ( present( filepath ) .and. present( filename ) ) then
	open ( 1, file=trim( adjustl( filepath ) ) // filename // ".txt", status="unknown" )
	write ( *, * ) " Call DepSum function and output " // filename
	write ( *, * ) trim( adjustl( filepath ) ) // filename // ".txt"
	write ( *, * )

	do i = 1, n
		write ( 1, "(i4,2f10.1)" ) staStep+i-1, inSeries( i ), outSeries( i )
	end do

	close ( 1 )
end if

end subroutine DepSum

end module DepartureSum_mod

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -