C----------------------------------------------------------------------- C IMSL Name: NEQBF/DNEQBF (Single/Double precision version) C C Purpose: Solve a system of nonlinear equations using factored C secant update with a finite-difference approximation to C the Jacobian. C C Usage: CALL NEQBF (FCN, N, XGUESS, XSCALE, FSCALE, IPARAM, C RPARAM, X, FVEC) C C Example 1: C Declare variables INTEGER N PARAMETER (N=3) C INTEGER IPARAM(6), K, NOUT REAL FCN, FSCALE(N), FVEC(N), RPARAM(5), X(N), XGUESS(N), & XSCALE(N) EXTERNAL FCN, NEQBF, UMACH C Set values of initial guess C XGUESS = ( 4.0 4.0 4.0 ) C DATA XGUESS/3*4.0/, XSCALE/3*1.0/, FSCALE/3*1.0/ C C Use the default setting C IPARAM(1) = 0 C Find the solution CALL NEQBF (FCN, N, XGUESS, XSCALE, FSCALE, IPARAM, RPARAM, X, & FVEC) C Output CALL UMACH (2, NOUT) WRITE (NOUT,99999) (X(K),K=1,N) 99999 FORMAT (' The solution to the system is', /, ' X = (', 3F8.3, & ')') C END C User-defined subroutine SUBROUTINE FCN (N, X, F) INTEGER N REAL X(N), F(N) C REAL EXP, SIN INTRINSIC EXP, SIN C F(1) = X(1) + EXP(X(1)-1.0) + (X(2)+X(3))*(X(2)+X(3)) - 27.0 F(2) = EXP(X(2)-2.0)/X(1) + X(3)*X(3) - 10.0 F(3) = X(3) + SIN(X(2)-2.0) + X(2)*X(2) - 7.0 RETURN END C The solution to the system is C X = ( 1.000 2.000 3.000)