ADJUST Example
Keywords: sic

Next: ADJUST /EPSILON Up: ADJUST Previous: ADJUST Contents Index

###
ADJUST Example

            Here is a complete procedure to generate a noisy Gaussian and fit it
        with ADJUST. The call sequence is

          @ gagemo:demo-adjust Amp Pos Width Noise

        where  Amp  is  the desired amplitude, Pos the position, Width the width
        and Noise the noise on the data.

        ! Procedure gag_demo:demo-adjust
        !
        ! An example of ADJUST usage
        ! For simplicity, let us define the GAUSSIAN function
         define function gauss(x,a,b,c) a*exp(-0.5*((x-b)/c)^2)
        !
        ! The Gaussian parameters, Amplitude, Position and Width
         define double amp pos width /global
        ! Now the data...
         define integer nx
         let nx 512
         define double xx[nx] my_data[nx] /global
        ! Define the Measurement points XX
        let xx[i] 10*(i-nx/2)/nx
        !
        ! Fill the data with some noisy values. In reality, this may come from
        ! an experiment or observation
        let my_data gauss(xx,&1,&2,&3)
        let my_data[i] my_data+&4*noise(i/i)
        !
        begin procedure my_difference
           let ADJ%res my_data-gauss(xx,amp,pos,width)
        end procedure my_difference
        !
        ! Minimize
        adjust my_data "@ my_difference" /start 3 2 1 /par amp pos width /root ADJ
        examine ADJ%PAR
        examine ADJ%ERRORS