mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2024-11-25 13:48:42 -05:00
43 lines
687 B
Fortran
43 lines
687 B
Fortran
|
!program smolorentz
|
||
|
subroutine smolorentz(s1,nz,w,s2)
|
||
|
|
||
|
! parameter (nz=512)
|
||
|
real s1(nz),s2(nz)
|
||
|
real y(-50:50)
|
||
|
! character*8 arg
|
||
|
|
||
|
! s1=0.
|
||
|
! s1(256)=1.
|
||
|
|
||
|
! call getarg(1,arg)
|
||
|
! read(arg,*) w
|
||
|
|
||
|
do i=-50,50
|
||
|
x=i
|
||
|
z=x/(0.5*w)
|
||
|
y(i)=0.
|
||
|
if(abs(z).lt.3.0) then
|
||
|
d=1.0 + z*z
|
||
|
y(i)=(1.0/d - 0.1)*10.0/9.0
|
||
|
endif
|
||
|
enddo
|
||
|
|
||
|
jz=nint(1.5*w)
|
||
|
if(jz.gt.50) jz=50
|
||
|
do i=1,nz
|
||
|
s=0.
|
||
|
sy=0.
|
||
|
do j=-jz,jz
|
||
|
k=i+j
|
||
|
if(k.ge.1 .and. k.le.nz) then
|
||
|
s=s + s1(k)*y(j)
|
||
|
sy=sy+y(j)
|
||
|
endif
|
||
|
enddo
|
||
|
s2(i)=s/sy
|
||
|
! write(52,3002) i-256,s1(i),s2(i)
|
||
|
!3002 format(i5,2f10.4)
|
||
|
enddo
|
||
|
|
||
|
end subroutine smolorentz
|