mirror of
				https://github.com/saitohirga/WSJT-X.git
				synced 2025-11-03 13:30:52 -05:00 
			
		
		
		
	git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@2966 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
		
			
				
	
	
		
			41 lines
		
	
	
		
			730 B
		
	
	
	
		
			Fortran
		
	
	
	
	
	
			
		
		
	
	
			41 lines
		
	
	
		
			730 B
		
	
	
	
		
			Fortran
		
	
	
	
	
	
subroutine slope(y,npts,xpk)
 | 
						|
 | 
						|
! Remove best-fit slope from data in y(i).  When fitting the straight line,
 | 
						|
! ignore the peak around xpk +/- 2.
 | 
						|
 | 
						|
  real y(npts)
 | 
						|
  real x(100)
 | 
						|
 | 
						|
  do i=1,npts
 | 
						|
     x(i)=i
 | 
						|
  enddo
 | 
						|
 | 
						|
  sumw=0.
 | 
						|
  sumx=0.
 | 
						|
  sumy=0.
 | 
						|
  sumx2=0.
 | 
						|
  sumxy=0.
 | 
						|
  sumy2=0.
 | 
						|
 | 
						|
  do i=1,npts
 | 
						|
     if(abs(i-xpk).gt.2.0) then
 | 
						|
        sumw=sumw + 1.0
 | 
						|
        sumx=sumx + x(i)
 | 
						|
        sumy=sumy + y(i)
 | 
						|
        sumx2=sumx2 + x(i)**2
 | 
						|
        sumxy=sumxy + x(i)*y(i)
 | 
						|
        sumy2=sumy2 + y(i)**2
 | 
						|
     endif
 | 
						|
  enddo
 | 
						|
 | 
						|
  delta=sumw*sumx2 - sumx**2
 | 
						|
  a=(sumx2*sumy - sumx*sumxy) / delta
 | 
						|
  b=(sumw*sumxy - sumx*sumy) / delta
 | 
						|
 | 
						|
  do i=1,npts
 | 
						|
     y(i)=y(i)-(a + b*x(i))
 | 
						|
  enddo
 | 
						|
 | 
						|
  return
 | 
						|
end subroutine slope
 |