mirror of
https://github.com/saitohirga/WSJT-X.git
synced 2024-11-25 05:38:46 -05:00
093a2834c3
git-svn-id: svn+ssh://svn.code.sf.net/p/wsjt/wsjt/branches/wsjtx@8127 ab8295b8-cf94-4d9e-aec4-7959e3be5d79
35 lines
602 B
Fortran
35 lines
602 B
Fortran
subroutine fitcal(x,y,r,iz,a,b,sigmaa,sigmab,rms)
|
|
implicit real*8 (a-h,o-z)
|
|
real*8 x(iz),y(iz),r(iz)
|
|
|
|
sx=0.d0
|
|
sy=0.d0
|
|
sxy=0.d0
|
|
sx2=0.d0
|
|
do i=1,iz
|
|
sx=sx + x(i)
|
|
sy=sy + y(i)
|
|
sxy=sxy + x(i)*y(i)
|
|
sx2=sx2 + x(i)*x(i)
|
|
enddo
|
|
delta=iz*sx2 - sx*sx
|
|
a=(sx2*sy - sx*sxy)/delta
|
|
b=(iz*sxy - sx*sy)/delta
|
|
|
|
sq=0.d0
|
|
do i=1,iz
|
|
r(i)=y(i) - (a + b*x(i))
|
|
sq=sq + r(i)**2
|
|
enddo
|
|
rms=0.
|
|
sigmaa=0.
|
|
sigmab=0.
|
|
if(iz.ge.3) then
|
|
rms=sqrt(sq/(iz-2))
|
|
sigmaa=sqrt(rms*rms*sx2/delta)
|
|
sigmab=sqrt(iz*rms*rms/delta)
|
|
endif
|
|
|
|
return
|
|
end subroutine fitcal
|