gaussian Function

public pure function gaussian(x, a, m, s)

Gaussian function

Arguments

Type IntentOptional AttributesName
integer, intent(in) :: x
real(kind=xp), intent(in) :: a
real(kind=xp), intent(in) :: m
real(kind=xp), intent(in) :: s

Return Value real(kind=xp)


Called by

proc~~gaussian~~CalledByGraph proc~gaussian gaussian proc~init_spectrum init_spectrum proc~init_spectrum->proc~gaussian proc~minimize_spec minimize_spec proc~init_spectrum->proc~minimize_spec proc~myresidual myresidual proc~myresidual->proc~gaussian proc~minimize_spec->proc~myresidual proc~upgrade upgrade proc~upgrade->proc~minimize_spec

Contents

Source Code


Source Code

  pure function gaussian(x, a, m, s)
    !! Gaussian function   
    implicit none
    
    integer, intent(in) :: x
    real(xp), intent(in) :: a, m, s
    real(xp) :: gaussian

    gaussian = a * exp(-( (real(x,xp) - m)**2 ) / (2._xp * s**2) );
  end function gaussian