Page 227 - Compact Numerical Methods For Computers
P. 227

216               Compact numerical methods for computers
                             Example 17.1. Marquardt’s minimisation of a nonlinear sum of squares
                                                                                                 -22
                             The following output from a Data General NOVA (machine precision = 2 )
                             shows the solution of the problem stated in example 12.2 from the starting point
                              (0)             T
                             b  = (200, 30, -0·4) . The program which ran the example below used a test within
                             the function (residual) subroutine which set a flag to indicate the function was not
                             computable if the argument of the exponential function within the expression for the
                             logistic model exceeded 50. Without such a test, algorithm 23 (and indeed the other
                             minimisers) may fail to converge to reasonable points in the parameter space.
                                 NEW
                                 LOAD ENHMRT
                                 LOAD ENHHBS
                                 RUN
                                 ENHMRT FEB 16 76
                                 REVISED MARQUARDT
                                 # OF VARIABLES ? 1
                                 # OF DATA POINTS ? 12
                                 # OF PARAMETERS ? 3
                                 ENTER VARIABLES
                                 VARIABLE 1 :
                                 ? 5.308 ? 7.24 ? 9.638 ? 12.866 ? 17.609
                                 ? 23.192 ? 31.443 ? 38.558 ? 50.156 ? 62.948
                                 ? 75.995 ? 91.972
                                 ENTER STARTING VALUES FOR PARAMETERS
                                 B( 1 )=? 200
                                 B( 3 )= ? 30
                                 B( 3 )= -.4
                                 ITN 1 SS= 23586.3
                                 LAMBDA= .00004
                                 ITN 2 SS= 327.692
                                 LAMBDA= .000016
                                 ITN 3 SS= 51.1076
                                 LAMBDA= 6.4E-6
                                 ITN 4 SS= 2.65555
                                 LAMBDA= 2.56E-6
                                 ITN 5 SS= 2.58732
                                 LAMBDA= 1.024E-6
                                 ITN 6 SS= 2.58727
                                 LAMBDA= 4.096E-7
                                 LAMBDA= 4.096E-6
                                 LAMBDA= 4.096E-5
                                 LAMBDA= 4.096E-4
                                 LAMBDA=   .004096
                                 ITN 7 SS= 2.58726
                                 LAMBDA= 1.6384E-3
                                 LAMBDA= .016384
                                 CONVERGED TO SS= 2.58726 # ITNS= 7 # EVALNS= 12
                                 SIGMA?2=   .287473
                                 B( 1 )= 196.186 STD ERR= 11.3068 GRAD( 1 )= -7.18236E-6
                                 B( 2 )= 49.0916 STD ERR= 1.68843 GRAD( 2 )= 1.84178E-5
                                 B( 3 )= -.31357 STD ERR= 6.8632E-3 GRAD( 3 )= 8.48389E-3
                                 RESIDUALS
                                 1.18942E-2     -3.27625E-2     9.20258E-2     .208776    .392632
                                 -5.75943E-2     -1.10573     .71579    -.107643     -.348396
                                 .652573   -.287567
                              The derivatives in the above example were computed analytically. Using
   222   223   224   225   226   227   228   229   230   231   232