Files
fit/gen/fit.f
2022-08-19 15:22:33 +02:00

65 lines
1.4 KiB
Fortran

program FIT ! change FIT to your own program name
! -----------
!
! Simple user function example (straight line).
!
implicit none
real FIT_LIN_FUN
external FIT_LIN_FUN ! change FIT_LIN_FUN to your own function name
character vers*32
integer i,l
!---
! Welcome message
call fit_vers(vers)
call str_trim(vers, vers, l)
print '(X)'
print '(X,2A)','Program FIT Version ',vers(1:l)
do i=1,l
vers(i:i)='-'
enddo
print '(X,2A/)','-----------------------------',vers(1:l)
!---
! Function title and parameter names
!
call fit_userfun('STRAIGHT LINE', fit_lin_fun) ! function title, function
call fit_userpar('Bg(0)') ! first parameter: background at zero
call fit_userpar('dBg/dX') ! second parameter: slope
call fit_main
end
real function fit_lin_fun(x,p,n,mode,cinfo)
! -------------------------------------------
implicit none
real x ! x-value
integer n ! number of parameters
real p(n) ! parameters
integer mode ! mode
integer cinfo ! calculation information (see below)
if (mode .eq. 0) then
! Define here your own function
fit_lin_fun=p(1)+x*p(2)
elseif (mode .lt. 0) then
! Use this part to do some initialisations.
! (e.g. read files, write out comments on your user function)
! This section is called by FIT_FUN (command FUN)
print *
print *, 'to define your own user function',
1 ' leave FIT and type MYFIT'
print *, 'Example: STRAIGHT LINE'
endif
end